abonnement Unibet Coolblue Bitvavo
pi_32780864
Laatste stukje uit vorige topic:
quote:
Op zaterdag 3 december 2005 14:55 schreef Onderbroek het volgende:
ik moet als opdracht voor school een klein invulschermpje maken (php). alles is goed gegaan maar ik weet niet hoe ik alles netjes onder elkaar kan zetten, misschien dat jullie mij daarmee kunnen helpen.

de code:
1
2
3
4
5
6
7
8
9
10
11
12
<body>
<FORM name=Voornaam action=toon_keuze.php method=get>
<?php echo ("voornaam")?><INPUT value=... name=Voornaam><BR>
<?php echo ("achternaam")?><INPUT value=... name=Achternaam> <BR><BR>
<?php echo ("geslacht")?><BR>
<?php echo ("man")?><INPUT type=radio value=man name=geslacht> <BR>
<?php echo ("vrouw")?><INPUT type=radio value=vrouw name=geslacht> <BR><BR>
<?php echo ("interesse")?><BR>
<?php echo ("Volkskrant")?><INPUT type=checkbox value=Volkskrant name=Interesse> <BR>
<?php echo ("Algemeen Dagblad")?><INPUT type=checkbox value="Algemeen Dagblad" name=Interesse> <BR>
<INPUT type=submit value=send name=submit> </FORM>
</body>
Antwoord:
1
2
3
4
5
6
<table width="100%">
<tr width=100%>
<td width="40%"><?php echo "voornaam" ?></td>
<td> <INPUT value=... name=Voornaam></td>
</tr>
</table> 


Hoeft dus niet in php te gebeuren Gewoon met tabellen of divjes in html werken.
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_32781114
quote:
Op zaterdag 3 december 2005 15:03 schreef existenz het volgende:
Laatste stukje uit vorige topic:
[..]

Antwoord:
[ code verwijderd ]

Hoeft dus niet in php te gebeuren Gewoon met tabellen of divjes in html werken.
ik heb alles in een tabel staan maar het blijft scheef...zou je misschien precies uit kunnen leggen hoe de code eruit moet zien?
Onderbroeken zonder knopen hoef je alleen maar af te stropen!
pi_32781844
quote:
Op zaterdag 3 december 2005 15:13 schreef Onderbroek het volgende:

[..]

ik heb alles in een tabel staan maar het blijft scheef...zou je misschien precies uit kunnen leggen hoe de code eruit moet zien?
1
2
3
4
5
6
7
8
9
10
<table width="100%">
<tr width=100%>
<td width="40%"><?php echo "voornaam" ?></td>
<td> <INPUT value=... name=Voornaam></td>
</tr>
<tr>
<td><?php echo "achternaam" ?></td>
<td> <INPUT value=... name=Achternaam></td>
</tr>
</table> 


Dus per "rij" een <tr> (tabel row) met 2 <td>'s (Tabel d?? (wtf is die d eigenlijk?) kolom).
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_32781962
De d van data
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32782039
quote:
Op zaterdag 3 december 2005 15:52 schreef SuperRembo het volgende:
De d van data
Dat had ik kunnen weten dat het zoiets lomps zou zijn . Iedereen noemt het kolommen maar W3C, de organisatie voor standaarden, wijkt weer es lekker af
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_32782226
tr: table row
td: table data cell
th: table header cell
Daar is niets onlogisch aan.

In plaats van de width op elke td zetten, is het mss makkelijker om de col-tag te gebruiken:

1
2
3
4
5
<table>
   <col width="40%">
   <col width="60%">
   <tr>
      ...


Je zou het ook met een definitionlist (dl) kunnen stylen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32782233
quote:
Op zaterdag 3 december 2005 15:03 schreef existenz het volgende:
Laatste stukje uit vorige topic:
[..]

Antwoord:
[ code verwijderd ]

Hoeft dus niet in php te gebeuren Gewoon met tabellen of divjes in html werken.
Ik snap niet waarom je : <?php echo "Voornaam"; ?> gebruikt.... gewoon "Voornaam" doet precies hetzelfde dacht ik zo... Of ga je met verschillende talen werken? Dan moet je ze in variabelen gooien:

1
2
3
4
5
6
7
8
9
<?php
$word_voornaam    
= "Voornaam";
$word_achternaam = "Achternaam";
enz...

echo
$word_voornaam;
echo
"<br><input type=\"text\" name=\"voornaam\"><br>";
Enz enz enz...
?>



[ Bericht 33% gewijzigd door visvogel op 03-12-2005 16:20:42 ]
pi_32782272
quote:
Op zaterdag 3 december 2005 16:04 schreef visvogel het volgende:

[..]

Ik snap niet waarom je : <?php echo "Voornaam"; ?> gebruikt.... gewoon "Voornaam" doet precies hetzelfde dacht ik zo... Of ga je met verschillende talen werken? Dan moet je ze in variabelen gooien:

<code>
<?
$word_voornaam = "Voornaam";
$word_achternaam = "Achternaam";
\\ enz...

echo $word_voornaam;
echo "<br><input type=\"text\" name=\"voornaam\"><br>";
\\Enz enz enz...
?>

</code>
Ik heb geen flauw idee. Ik heb dat stuk uit de code van Onderbroek gekopieerd en heb dus geen idee wat hij er mee wil doen.
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_32782831
quote:
Op zaterdag 3 december 2005 16:06 schreef existenz het volgende:

[..]

Ik heb geen flauw idee. Ik heb dat stuk uit de code van Onderbroek gekopieerd en heb dus geen idee wat hij er mee wil doen.
ik moet gewoon een invulschermpje maken voor een oefenopdracht voor school. Het is de bedoeling dat je op deze manier php leert kennen.
Ik heb de code gemaakt zoals ik dacht dat ie zou moeten werken...ik ben zoals je blijkbaar gemerkt hebt geen php-held

Beginner-X----------------------Ervaren (de X is mijn niveau op het moment )
Onderbroeken zonder knopen hoef je alleen maar af te stropen!
pi_32783015
quote:
Op zaterdag 3 december 2005 15:47 schreef existenz het volgende:

[..]
[ code verwijderd ]

Dus per "rij" een <tr> (tabel row) met 2 <td>'s (Tabel d?? (wtf is die d eigenlijk?) kolom).
Je mist volgens mij een puntkomma (';') achter de echo's ik weet het wel zeker, maar toch moest ik ergens een v vandaan halen...
quote:
Op zaterdag 3 december 2005 16:04 schreef SuperRembo het volgende:
In plaats van de width op elke td zetten, is het mss makkelijker om de col-tag te gebruiken:
[ code verwijderd ]
Dankje weer wat html geleerd
pi_32783427
Voor de php sluittag (?>) hoeft geen ;
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32783830
quote:
Op zaterdag 3 december 2005 16:54 schreef SuperRembo het volgende:
Voor de php sluittag (?>) hoeft geen ;
ow.... Nog meer geleerd...

Maar om de kans om die puntkommas te vergeten is het toch verstandig voor mij om die wel te plaatsen...
Hoe voorkomen jullie die irritante fouten als een variable een verkeerde naam te geven waardoor je uren zit te staren waarom ie het niet doet...?

Moet wel gezegd worden dat ik de variable in eerte instantie wel goed had, maar na de problemen met een input veld die niets doorzond heb ik diverse andere stukken veranderd... waaronder die variable
pi_32785547
quote:
Op zaterdag 3 december 2005 16:04 schreef SuperRembo het volgende:
tr: table row
td: table data cell
th: table header cell
Daar is niets onlogisch aan.

In plaats van de width op elke td zetten, is het mss makkelijker om de col-tag te gebruiken:
[ code verwijderd ]

Je zou het ook met een definitionlist (dl) kunnen stylen.
Hoeft niet perse. Je kunt ook gewoon 1x de size zetten. Daarna kopieert ie hem voor de rest. Is gewoon wat je makkelijk vind. Je zou het zelfs in je CSS kunnen opnemen als je dat liever hebt.
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
  zaterdag 3 december 2005 @ 18:21:26 #15
120139 freiss
Hertog Jan :9~
pi_32785648
een niet opvallende tvp'tje eigenlijk
HJ 14-punt-gift.
Lijst met rukmateriaal!
pi_32790504
quote:
Op zaterdag 3 december 2005 17:09 schreef the_disheaver het volgende:

[..]

Hoe voorkomen jullie die irritante fouten als een variable een verkeerde naam te geven waardoor je uren zit te staren waarom ie het niet doet...?
1error_reporting(E_ALL & E_STRICT);

That does the trick for me
pi_32790937
Ik wou even zeggen dat er helemaal geen nieuwe PHP GOLF #7 is gestart op http://www.phpfreakz.nl/forum.php?iid=741097, waarin je zonder eval() toch moet proberen in zo weinig mogelijk tekens een per formulier ingevoerd sommetje weer te geven met 2 decimalen.
En dat er een verzoek is om ook hier geen oplossingen te posten. Allemaal laster en leugens!
pi_32791719
Voor deze leugens is een apart topic
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32792683
Kan ik zonder GD de afmetingen van een afbeelding (die niet op deze server hoeft te staan) krijgen?
pi_32792797
Op bovenstaande vraag heb ik de antwoord al: via getimagesize()

Maar de submit knoppen in mijn edit view is opeens verdwenen...


edit: en ik heb weer submitknopjes
pi_32792803
getimagesize werkt ook zonder GD
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32792904
quote:
Op zaterdag 3 december 2005 22:28 schreef SuperRembo het volgende:
getimagesize werkt ook zonder GD
Dank, maar ik zag het net.
pi_32795009
quote:
Op zaterdag 3 december 2005 21:24 schreef Wifibro het volgende:
Ik wou even zeggen dat er helemaal geen nieuwe PHP GOLF #7 is gestart op http://www.phpfreakz.nl/forum.php?iid=741097, waarin je zonder eval() toch moet proberen in zo weinig mogelijk tekens een per formulier ingevoerd sommetje weer te geven met 2 decimalen.
En dat er een verzoek is om ook hier geen oplossingen te posten. Allemaal laster en leugens!
Daar zijn standaard geoptimaliseerde oplossingen voor in google .
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_32795106
Die ZCE courses zijn net zo lomp als elk ander certificaat. Jammer, je leert er weer niets van. Gewoon uit je kop stampen en je hebt je certificaat. Helaas is dat bij elk examen tegenwoordig zo
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_32795780
quote:
Op zaterdag 3 december 2005 23:35 schreef existenz het volgende:
Die ZCE courses zijn net zo lomp als elk ander certificaat. Jammer, je leert er weer niets van. Gewoon uit je kop stampen en je hebt je certificaat. Helaas is dat bij elk examen tegenwoordig zo
ik heb ze idd nog niet anders mee gemaakt..
waren die er wel dan?
pi_32796509
quote:
Op zondag 4 december 2005 00:00 schreef mschol het volgende:

[..]

ik heb ze idd nog niet anders mee gemaakt..
waren die er wel dan?
Ja, vroegâh
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
  zondag 4 december 2005 @ 03:45:09 #27
32768 DionysuZ
Respect my authority!
pi_32799295
geen enkele klant van mij tot nu toe heeft ooit gehoord van Zend of het zijn van een ZCE, dus ik vraag me werkelijk af of het zijn geld waard is. (eigenlijk een soort van tvp dus )
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_32799727
quote:
Op zondag 4 december 2005 03:45 schreef DionysuZ het volgende:
geen enkele klant van mij tot nu toe heeft ooit gehoord van Zend of het zijn van een ZCE, dus ik vraag me werkelijk af of het zijn geld waard is. (eigenlijk een soort van tvp dus )
Ik denk eerder dat het om je werkgever gaat.
  zondag 4 december 2005 @ 04:55:52 #29
32768 DionysuZ
Respect my authority!
pi_32799867
quote:
Op zondag 4 december 2005 04:38 schreef JeRa het volgende:

[..]

Ik denk eerder dat het om je werkgever gaat.
maar die heb ik niet .
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_32800070
quote:
Op zondag 4 december 2005 04:55 schreef DionysuZ het volgende:

[..]

maar die heb ik niet .
Daarom. Je klanten zal het in 99% van de gevallen aan hun aarschen roesten wat voor certificaten je hebt, als het gewenste product maar afgeleverd wordt.

Werkgevers denken daar in eerste instantie niet zo over en kunnen aan certificaten als ZCE zien dat je de nodige kennis in huis hebt
pi_32801761
terug vindje postje...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32835581
Ik heb een site bij XS4all en op mijn site kunnen mensen bestanden uploaden. De volgende waarden wil ik veranderen:

  • memory_limit
  • post_max_size
  • upload_max_filesize

    Ik wil bestanden tot 20 MegaByte kunnen uploaden, dus lijkt mij (respektievelijk) 22, 20 en 20 MegaByte een goede instelling.

    Volgens php.net is memory_limit PHP_INI_ALL en de overige twee PHP_INI_PERDIR 'changeable'. Dat zou inhouden dat ik in mijn .htaccess deze waarden kan instellen.

    Maar als ik de volgende regel invoer in mijn .htaccess:

    php_value upload_max_filesize 20M

    Dan krijg ik een mooie 500 Internal Error nogwat. En bijkomend voordeel is, dat m'n hele site offline is

    Weet iemand hoe ik deze 3 waarden correct in m'n .htaccess kan invoeren, zonder dat ik allerlei foutmeldingen krijgt?
  • Schuimpje... mijn liefste. Verlaat mij nimmer weer...
      maandag 5 december 2005 @ 15:00:21 #33
    73485 Niox
    I'm sorry, who?
    pi_32835894
    quote:
    Op maandag 5 december 2005 14:48 schreef papernote het volgende:
    Maar als ik de volgende regel invoer in mijn .htaccess:

    php_value upload_max_filesize 20M

    Dan krijg ik een mooie 500 Internal Error nogwat. En bijkomend voordeel is, dat m'n hele site offline is
    Dat zou moeten werken, tenzij PHP als CGI draait ipv als Apache Module. Workaround is

    1ini_set("upload_max_filesize", "20M");


    in je script zetten
    Als je alles onder controle hebt, ga je gewoon niet snel genoeg.
    A man is rich in proportion to the number of things he can afford to let alone.
    pi_32837141
    quote:
    Op maandag 5 december 2005 15:00 schreef Niox het volgende:

    [..]

    Dat zou moeten werken, tenzij PHP als CGI draait ipv als Apache Module. Workaround is
    [ code verwijderd ]

    in je script zetten
    upload_max_filesize is 'changeable' PHP_INI_PERDIR, dus: " Entry can be set in php.ini, .htaccess or httpd.conf".

    Het is dus niet mogelijk om deze in scripts te veranderen.
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_32837694
    Ik kan natuurlijk ook een alternatieve php.ini opgeven. Maar ik weet niet precies hoe dat moet, weet iemand dat soms?
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_32839635
    Je kan proberen of je het in een .htaccess file kan instellen. Als dat niet kan dan heeft je webhost het geblokkerd (wat me niet onverstandig lijkt).
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_32843536
    ik heb een vrij simpel vraagje, ik denk dat t iets met arrays wordt.

    users kunnen bij mij een soort boodschappenlijstje samenstellen.
    ze moeten zelf een product toevoegen voor deze op het boodschappenlijstje kan komen te staan.

    deze items worden per user opgeslagen, zodat er een soort history komt aan alle items die ooit op zijn boodschappenlijstje hebben gestaan.

    nu wil ik dus deze volledige lijst zichtbar maken onder n kopje 'boodschappenhistory' ofzo. Hier moet de user dan alle items kunnen zien en selecteren (aanvinken ofzo) om te importeren naar een nieuw lijstje.

    het laten zien is niet zo'n punt, en ik kan er ook checkboxes van maken per item.

    echter, wat is verstandig? moet ik van al deze items 1 array maken? en dan een foreach gebruiken om de items in de database in te voeren bij het huidige boodschappenlijstje (insert..select?)

    ik weet niet zo goed wat de beste manier is om dit aan te pakken, omdat het aantal waardes wat doorgegeven wordt nogal varierend is.

    ik weet wel een optie, maar die is niet rendabel:
    elke checkbox krijgt als name het itemID.
    en aangezien bij elk item toch geregistreerd staat bij welke user hij hoort, kan ik natuurlijk in mijn voer-het-in-de-database-script een soort van query zetten die alle items uit de database trekt waar UserID = $userid. Dat zet ik in een while-loop en laat per while een check doen of het bijpassende ID uit de post een gecheckte box had of niet, en hem dan invoeren bij het nieuwe boodschappenlijstje.

    maar dit kan natuurlijk veel netter
    toch?
    As a rule, I never touch anything more sophisticated and delicate than myself.
      maandag 5 december 2005 @ 19:58:14 #38
    32768 DionysuZ
    Respect my authority!
    pi_32843941
    Waarom sla je je boodschappenlijstje niet in een sessie op ipv de database?

    edit: ik lees weer eens niet goed :p
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32843991
    nah zover ben ik nog niet en wil dit ff zsm werkend hebben en de database is er al voor ontworpen enzo.. dus van die optie stap ik nog niet af. misschien bij een remake ofzo wanneer nodig.
    As a rule, I never touch anything more sophisticated and delicate than myself.
      maandag 5 december 2005 @ 20:04:05 #40
    104583 cyberstalker
    Een krachtig neen!
    pi_32844112
    Maak gewoon een extra tabel, waarin je de historie opslaat.

    De volgende velden o.i.d.

    - userId (de gebruiker die het product heeft gekocht)
    - productId (id van het aangeschafte product)
    - eventueel nog datum/tijd kolom
    Hope for the best, prepare for the worst.
    pi_32845590
    quote:
    Op maandag 5 december 2005 20:04 schreef cyberstalker het volgende:
    Maak gewoon een extra tabel, waarin je de historie opslaat.

    De volgende velden o.i.d.

    - userId (de gebruiker die het product heeft gekocht)
    - productId (id van het aangeschafte product)
    - eventueel nog datum/tijd kolom
    een extra kolom in de huidige tabel met daarin true/false werkt ook, echter zal dat de consistentie van de database niet te goede komen. Boeit je dat niets (Geldt voor 99% vd phpérs), dan is je tabel uitbreiden het makkelijkste voor je, anders de oplossing voor cyberstalker. Die is netter.
    This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
    pi_32845767
    ehmm die tabel is er. ik heb gewoon een tabel met de lijst.

    het punt is zeg maar het kopieren van de items, naar het nieuwe boodschappenlijstje.

    dat is dus gewoon boodschappenlijstjeID, userID, en itemID in 1 tabel. maar het punt is dus

    "nu wil ik dus deze volledige lijst zichtbar maken onder n kopje 'boodschappenhistory' ofzo. Hier moet de user dan alle items kunnen zien en selecteren (aanvinken ofzo) om te importeren naar een nieuw lijstje.

    het laten zien is niet zo'n punt, en ik kan er ook checkboxes van maken per item.

    echter, wat is verstandig? moet ik van al deze items 1 array maken? en dan een foreach gebruiken om de items in de database in te voeren bij het huidige boodschappenlijstje (insert..select?)

    ik weet niet zo goed wat de beste manier is om dit aan te pakken, omdat het aantal waardes wat doorgegeven wordt nogal varierend is."

    As a rule, I never touch anything more sophisticated and delicate than myself.
      maandag 5 december 2005 @ 21:01:48 #43
    104583 cyberstalker
    Een krachtig neen!
    pi_32845815
    Je INSERT de items toch gewoon op het moment dat iemand ze toevoegt aan zijn winkelwagentje? Ik begrijp niet helemaal wat je nu wil met je foreach eigenlijk.
    Hope for the best, prepare for the worst.
    pi_32845954
    nou. ik krijg dus een lange lijst met items, en daar wil ik in 1x de items aan kunnen vinken die ik in mn lijstje wil hebben. dus dat betekent in 1x bijv. 5 van de 25 produkten kopieren naar mijn boodschappenlijstje. dus niet per item.

    dus hoe maak ik t form-field met de items, en hoe vang ik dit form field op met de meest rendabele code?
    As a rule, I never touch anything more sophisticated and delicate than myself.
      maandag 5 december 2005 @ 21:07:48 #45
    104583 cyberstalker
    Een krachtig neen!
    pi_32846016
    Ja, dat zal dan met een foreach moeten denk ik. Je kunt met php maar één INSERT per query doen.
    Hope for the best, prepare for the worst.
    pi_32846348
    dat weet ik
    haha. maar hoe moet ik t form opzetten?
    form tag begint, dan komen alle items met bijbehorende checkboxes (via een while), en dan het eind van de form tag.

    en dan als name van elk item iets van 'items[]' doen ofzo? zo wordt het een array toch?
    maar hoe vang ik het dan weer op bij de uiteindelijke verwerking
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_32846403
    quote:
    Op maandag 5 december 2005 17:22 schreef SuperRembo het volgende:
    Je kan proberen of je het in een .htaccess file kan instellen. Als dat niet kan dan heeft je webhost het geblokkerd (wat me niet onverstandig lijkt).
    Ik heb het in m'n .htaccess proberen in te stellen, toen kwam er een 500 Internal Server Error en was m 'n site down

    Maar bij de helpdesk van XS4all zeiden ze dat ik een alternatieve php.ini kon maken. Dat moest ik dan zelf doen. Maar ik kan niet vinden hoe ik dat moet doen.

    ini_set() werkt niet.
    in de .htaccess werkt niet
    dus alleen een alternatieve php.ini maken en gebruiken is de laatste oplossing. Maar hoe ???
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
      maandag 5 december 2005 @ 21:21:39 #48
    104583 cyberstalker
    Een krachtig neen!
    pi_32846412
    Je $_POST['items'] of $_GET['items'] is dan ook weer een array.
    Hope for the best, prepare for the worst.
    pi_32846627
    quote:
    Op maandag 5 december 2005 21:19 schreef Desdinova het volgende:
    dat weet ik
    haha. maar hoe moet ik t form opzetten?
    form tag begint, dan komen alle items met bijbehorende checkboxes (via een while), en dan het eind van de form tag.

    en dan als name van elk item iets van 'items[]' doen ofzo? zo wordt het een array toch?
    maar hoe vang ik het dan weer op bij de uiteindelijke verwerking
    Ik wilde zeggen:
    1
    2
    3
    ComboListBox clb = new ComboListBox();
    clb.DataSource = this.data;
    clb.DataMember = "Veldje";


    Maar dat is de verkeerde taal

    Gewoon een for(each) lus binnen het form met daarin de checkboxen en die daarna in de POST ophalen en inserten? En misschien nog een mooie "Check All" knop erbij maken? Of mis ik nu een gedeelte van het probleem.
    This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
      maandag 5 december 2005 @ 21:31:39 #50
    104583 cyberstalker
    Een krachtig neen!
    pi_32846661
    @existenz: hij wil juist weten hoe hij het formulier goed verwerkt na het versturen volgens mij.
    Hope for the best, prepare for the worst.
    pi_32846760
    quote:
    Op maandag 5 december 2005 21:31 schreef cyberstalker het volgende:
    @existenz: hij wil juist weten hoe hij het formulier goed verwerkt na het versturen volgens mij.
    Oh Dan is het wat jij zei
    This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
    pi_32846902
    dus als ik het goed begrijp kan ik dan iets doen van

    foreach ($_POST['items'] as $value){
    de rest
    }

    als iemand dit kan confirmeren heb ik nu door hoe arrays werken
    As a rule, I never touch anything more sophisticated and delicate than myself.
      maandag 5 december 2005 @ 21:46:54 #53
    104583 cyberstalker
    Een krachtig neen!
    pi_32847101
    Klopt, dat zou moeten werken ja.
    Hope for the best, prepare for the worst.
    pi_32848163
    *Mee-confirmeert*

    Als je ook nog de keys van een array nodig hebt kun je dat als volgt foreach'en:

    1
    2
    3
    foreach ($array as $key => $value) {
        echo '<b>' . $key . '</b>: ' . $value . '<br />';
    }


    Foreach maakt wel een kopie van de array aangezien je dan de oorspronkelijke array kunt wijzigen zonder dat dit de werking van de foreach beïnvloedt. Doe je dit toch niet en wil je een ietwat snellere oplossing (zeker bij de wat grotere arrays), dan kun je dit gebruiken:

    1
    2
    3
    4
    reset($array);
    while (list($key, $value) = each($array)) {
        echo '<b>' . $key . '</b>: ' . $value . '</br >';
    }
    pi_32850546
    quote:
    Op zondag 4 december 2005 05:42 schreef JeRa het volgende:

    [..]

    Daarom. Je klanten zal het in 99% van de gevallen aan hun aarschen roesten wat voor certificaten je hebt, als het gewenste product maar afgeleverd wordt.
    Klanten zal het waarschijnlijk ook niet zo heel veel uitmaken welke taal je gebruikt voor een site. Ik denk dat een klant eerder zegt "ik wil een online shop" dan "ik wil een online shop in php". Als een klant al weet wat php is dan nog zullen ze er niet alles van weten, ook niet dat er een bedrijf Zend achter zit. En als je dat niet weet dan is het logisch dat ZCE je ook niets zegt.
    quote:
    Werkgevers denken daar in eerste instantie niet zo over en kunnen aan certificaten als ZCE zien dat je de nodige kennis in huis hebt
    True, dat kan wel handig zijn
    pi_32850769
    ja maar dan moet je ook geld voor zo'n leuk certificaat hebben, en natuurlijk ook de mogelijke kennis (helaas heb ik beiden (nog) niet )
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32858696
    ik heb een vraagje over Insert-select.

    Dat is dus iets van:
    INSERT INTO table1 (col1, col2, col3)
    SELECT table1.col1, table1.col2, table1.col3
    FROM table1 WHERE ID = $id

    nou wil ik dit een tikkie anders. in plaats van dat table1.col2 in table1.col2 wordt ingevoerd, wil ik daar $col2 invoeren. Hoe doe ik dat?

    tevens las ik iets over dat je niet kan insert-selecten en lezen uit dezelfde tabel tegelijk. Dat zou dus betekenen dat ik helemaal niet mijn items kan kopieren van table1 naar table1. klopt dat?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_32859316
    Een regexp vraagje:

    De volgende code:
    1
    2
    3
    4
    5
    6
    7
    [menu="Menu titel"]
    [tab="link1"]Link #1[/tab]
    [tab="link2"]Link #2[/tab]
    [tab="link3"]Link #3[/tab]
    [tab="link4"]Link #4[/tab]
    [tab="link5"]Link #5[/tab]
    [/menu]


    Moet iets dergelijks als dit worden:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <table>
    <tr>
      <th colspan="5">Menu Titel</th>
    </tr>
    <tr>
      <td><a href="link1">Link #1</a></td>
      <td><a href="link2">Link #2</a></td>
      <td><a href="link3">Link #3</a></td>
      <td><a href="link4">Link #4</a></td>
      <td><a href="link5">Link #5</a></td>
    </tr>
    </table>


    Er is dus een variabel aantal menu-items. Nou heb ik wel deze expressies:
    1
    2
    "/\[menu=\"(.+?)\"\](.+?)\[\/menu\]/ies"
    "/\[tab=\"(.+?)\"\](.+?)\[\/tab\]/ies"


    Maar, ik zou het graag in één preg_replace willen hebben. Er wordt, indien deze expressie aangetroffen wordt, een functie aangeroepen die het menu (de tabel) bouwt. Komt het volgende probleem erbij; hoe kan ik een variabel aantal items naar een functie sturen? Alle [tab=\"bla\"]bla[/tab] in een array stoppen is bijvoorbeeld een mogelijkheid, maar hoe doe ik dat via een preg_replace?
      dinsdag 6 december 2005 @ 12:28:05 #59
    104583 cyberstalker
    Een krachtig neen!
    pi_32859467
    quote:
    Op dinsdag 6 december 2005 11:51 schreef Desdinova het volgende:
    ik heb een vraagje over Insert-select.

    Dat is dus iets van:
    INSERT INTO table1 (col1, col2, col3)
    SELECT table1.col1, table1.col2, table1.col3
    FROM table1 WHERE ID = $id

    nou wil ik dit een tikkie anders. in plaats van dat table1.col2 in table1.col2 wordt ingevoerd, wil ik daar $col2 invoeren. Hoe doe ik dat?

    tevens las ik iets over dat je niet kan insert-selecten en lezen uit dezelfde tabel tegelijk. Dat zou dus betekenen dat ik helemaal niet mijn items kan kopieren van table1 naar table1. klopt dat?
    Dan verwissel je dat toch gewoon in je INSERT INTO regel?
    Hope for the best, prepare for the worst.
    pi_32859947
    quote:
    Op dinsdag 6 december 2005 12:28 schreef cyberstalker het volgende:

    [..]

    Dan verwissel je dat toch gewoon in je INSERT INTO regel?


    okee. maar hoe dan?
    As a rule, I never touch anything more sophisticated and delicate than myself.
      dinsdag 6 december 2005 @ 12:58:04 #61
    2391 Jimmy
    Door het bot
    pi_32860075
    quote:
    Op dinsdag 6 december 2005 11:51 schreef Desdinova het volgende:
    INSERT INTO table1 (col1, col2, col3)
    SELECT table1.col1, table1.col2, table1.col3
    FROM table1 WHERE ID = $id

    nou wil ik dit een tikkie anders. in plaats van dat table1.col2 in table1.col2 wordt ingevoerd, wil ik daar $col2 invoeren. Hoe doe ik dat?
    Doe je het vanuit php? dan lijkt me dat je zo je query in elkaar draait:

    1
    2
    3
    $sql = "INSERT INTO table1 (col1, col2, col3) 
    (SELECT table1.col1, ".$col.", table1.col3
    FROM table1 WHERE ID = ".$id.")";
    quote:
    tevens las ik iets over dat je niet kan insert-selecten en lezen uit dezelfde tabel tegelijk. Dat zou dus betekenen dat ik helemaal niet mijn items kan kopieren van table1 naar table1. klopt dat?
    Je haalt dan gewoon eerst in je php script de data op die je wilt kopieren, en dan insert je het ook weer vanuit je php-script. Gewoon 1 extra tussenstap.

    Wat is trouwens de situatie waarin je regels wilt kopieren?
    Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
    www.last.fm/user/JimmyShelter
    Jimmy Shelter
    Sleazerock.nl
    pi_32860117
    quote:
    Op dinsdag 6 december 2005 12:20 schreef Nevermind het volgende:
    Een regexp vraagje:

    De volgende code:
    [ code verwijderd ]

    Moet iets dergelijks als dit worden:
    [ code verwijderd ]

    Er is dus een variabel aantal menu-items. Nou heb ik wel deze expressies:
    [ code verwijderd ]

    Maar, ik zou het graag in één preg_replace willen hebben. Er wordt, indien deze expressie aangetroffen wordt, een functie aangeroepen die het menu (de tabel) bouwt. Komt het volgende probleem erbij; hoe kan ik een variabel aantal items naar een functie sturen? Alle [tab=\"bla\"]bla[/tab] in een array stoppen is bijvoorbeeld een mogelijkheid, maar hoe doe ik dat via een preg_replace?
    1"/\[menu=\"(.+)\"\]([\s|\n]*\[tab=\"(.+)\"\](.+)\[\/tab\])*[\s|\n]*\[\/menu\]/Uies"

    Zo even uit de losse pols, niet getest dus
    pi_32860211
    quote:
    Op dinsdag 6 december 2005 12:58 schreef Jimmy het volgende:

    [..]

    Doe je het vanuit php? dan lijkt me dat je zo je query in elkaar draait:
    [ code verwijderd ]

    [..]

    Je haalt dan gewoon eerst in je php script de data op die je wilt kopieren, en dan insert je het ook weer vanuit je php-script. Gewoon 1 extra tussenstap.

    Wat is trouwens de situatie waarin je regels wilt kopieren?
    aah ok. heel simpel dus eigenlijk. gaat idd vanuit php.

    mnou heeft te maken met het boodschappenverhaaltje waar ik t over had, via deze copy-actie kopieer ik dus n item naar n ander boodschappenlijstje. (elk item heeft een eigen boodschappenlijstjeID. het leek me niet rendabel om een tabel te maken met hierin de boodschappenlijstjeID's en de itemID's, gezien producten nooit geshared worden tussen users).
    As a rule, I never touch anything more sophisticated and delicate than myself.
      dinsdag 6 december 2005 @ 13:56:11 #64
    104583 cyberstalker
    Een krachtig neen!
    pi_32861584
    Hier zou je juist wel een aparte tabel moeten maken. Ik weet niet wat je nog meer hebt op je site, maar ik zou de volgende tabellen maken:

    - Gebruikers
    - Producten
    - Boodschappenlijstjes

    Op die manier hou je je tabellen het kleinst, en snelst.
    Hope for the best, prepare for the worst.
    pi_32863311
    quote:
    Op dinsdag 6 december 2005 12:59 schreef Light het volgende:

    [..]
    [ code verwijderd ]

    Zo even uit de losse pols, niet getest dus
    Bedankt voor de hulp Maar, hoe gebruik ik de gevonden waarden in een functie? De preg_replace roept de functie buildMenu() aan, hoe geef ik de argumenten daar aan door? Ik heb dan toch iets nodig als de $matches-array die je bijvoorbeeld bij preg_match hebt?
    pi_32864332
    quote:
    Op dinsdag 6 december 2005 15:06 schreef Nevermind het volgende:

    [..]

    Bedankt voor de hulp Maar, hoe gebruik ik de gevonden waarden in een functie? De preg_replace roept de functie buildMenu() aan, hoe geef ik de argumenten daar aan door? Ik heb dan toch iets nodig als de $matches-array die je bijvoorbeeld bij preg_match hebt?
    Gebruik de /e-modifier op deze manier:
    1$tekst = preg_replace('/[0-9]*/e', 'md5(\'$1\')', $tekst);

    En dan zou het moeten lukken je kunt dus gewoon argumenten in de vervangingsstring meegeven.
    pi_32864731
    quote:
    Op dinsdag 6 december 2005 15:45 schreef JeRa het volgende:

    [..]

    Gebruik de /e-modifier op deze manier:
    [ code verwijderd ]

    En dan zou het moeten lukken je kunt dus gewoon argumenten in de vervangingsstring meegeven.
    Dat kan wel eens lastig worden als je niet weet hoeveel argumenten er zijn.
    pi_32865981
    quote:
    Op dinsdag 6 december 2005 16:02 schreef Light het volgende:

    [..]

    Dat kan wel eens lastig worden als je niet weet hoeveel argumenten er zijn.
    Och ja, dan gebruik je toch preg_replace_callback()?
    pi_32867876
    -edit-
    laat maar. ik begrijp minder van reguliere expressies dan ik dacht

    [ Bericht 33% gewijzigd door Nevermind op 06-12-2005 20:12:10 ]
    pi_32876538
    Vraag eens wat makkelijks, dan kan ik ook antwoord geven, anders moet ik een TVP plaatsen
    pi_32876686
    Ik wist het zo ook niet Nevermind, in alle testcases die ik had gedaan kwam dezelfde fout naar boven altijd werd het laatste subelement geretourneerd ipv. alle subelementen. Ik denk dat dat gewoon de implementatie van de PCRE-functies is.

    [lichtelijk offtopic]
    Aangezien het mij (en pc-fr34k) niet zo slim leek om de sourcecode van Fok!client te posten heb ik de dienst van Fok!signature nu wel voor iedereen beschikbaar gemaakt (met tijdslimiet op het posten van berichten om de load zo laag mogelijk te houden). Als je de link in m'n signature bekijkt snap je vast hoe je dit voor je eigen account kunt doen

    edit: @ikke_ook
    De maxlength is overal aan de client- én serverside opgegeven

    edit: @DionysuZ
    Alles is geschreven met veiligheid in het achterhoofd mijn gegevens staan er ook in dus wat dat betreft heb ik wel vertrouwen trouwens, zou je een voorbeeldje kunnen geven van wanneer die {$variabele}-constructie bij een POST-request fout zou gaan?

    [ Bericht 9% gewijzigd door JeRa op 06-12-2005 23:35:51 ]
    pi_32877096
    -offtopic-
    Ik zie t JeRa. Had ik ook wel verwacht eigenlijk
    pi_32879329
    quote:
    Op dinsdag 6 december 2005 23:00 schreef JeRa het volgende:
    Ik wist het zo ook niet Nevermind, in alle testcases die ik had gedaan kwam dezelfde fout naar boven altijd werd het laatste subelement geretourneerd ipv. alle subelementen. Ik denk dat dat gewoon de implementatie van de PCRE-functies is.
    Ik had het ook niet getest Makkelijkere optie is waarschijnlijk om toch maar gebruik te maken van 2 expressies, als je dat handig aanpakt dan werkt die tweede alleen op de match van de eerste. Dat kan ook in de callback functie van de /e modifier natuurlijk
      woensdag 7 december 2005 @ 00:26:30 #74
    32768 DionysuZ
    Respect my authority!
    pi_32879630
    ahhhhh mn webhoster heeft php5 ^_^ eindelijk eens echt OOP.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32897031
    Ik heb weer een dummie vraag hoor,
    Ik gebruik de onderstaade functie om thumbnails of images te resizen, dit gaat goed, totdat er gifs komen, gif files openen en maken word ondersteunt door mn host maar ik krijg constant fouten bij imagecopyresampled, heeft iemand een idee?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    function createthumb($start_image,$enddirectory_image,$new_w,$new_h)
       {
          $sizes =  getimagesize($start_image);
          $extension = addslashes($sizes['mime']);
          if(in_array($extension, array('image/jpg','image/jpeg','image/pjpeg'))){$src_img=imagecreatefromjpeg($start_image);}
          elseif (eregi("image/png",$extension)){$src_img=imagecreatefrompng($start_image);}
          else {imagecreatefromgif($start_image);}

          //print_r($sizes);

          $old_x = $sizes[0];
          $old_y = $sizes[1];

          if ($old_x > $old_y) {
          $thumb_w=$new_w;
          $thumb_h=$old_y*($new_h/$old_x);
          }
          if ($old_x < $old_y) {
          $thumb_w=$old_x*($new_w/$old_y);
          $thumb_h=$new_h;
          }
          if ($old_x == $old_y) {
          $thumb_w=$new_w;
          $thumb_h=$new_h;
          }
          $thumb_w =ceil($thumb_w);
          $thumb_h =ceil($thumb_h);   

          $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
          imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y) or die($enddirectory_image.'<br>'.$thumb_w.'<br>'.$thumb_h.'<br>'.$old_x.'<br>'.$old_y);

          if(in_array($extension, array('image/jpg','image/jpeg','image/pjpeg'))) {imagejpeg($dst_img,$enddirectory_image);}
          elseif (eregi("image/png",$extension)) {imagepng($dst_img,$enddirectory_image);} 
          else {imagegif($dst_img,$enddirectory_image);}

          imagedestroy($dst_img); 
       }



    Eigenlijk is het zelfs de bedoeling dat ik gewoon de data van de image uit mn database laad en deze dan resized en weer uitspuugt zonder deze op te slaan op de server, maar daar had ik nog ff geen tijd voor.

    [ Bericht 1% gewijzigd door Darkomen op 07-12-2005 18:17:02 ]
      woensdag 7 december 2005 @ 18:22:58 #76
    32768 DionysuZ
    Respect my authority!
    pi_32897450
    Check http://nl2.php.net/manual/en/function.imagecreatetruecolor.php

    Note: This function will not work with GIF file formats.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32897644
    DOH, ff zoeken hoe wel gif images te resizen
    pi_32898009
    quote:
    Op woensdag 7 december 2005 00:15 schreef Light het volgende:

    [..]

    Ik had het ook niet getest Makkelijkere optie is waarschijnlijk om toch maar gebruik te maken van 2 expressies, als je dat handig aanpakt dan werkt die tweede alleen op de match van de eerste. Dat kan ook in de callback functie van de /e modifier natuurlijk
    Ik heb het opgelost door de inhoud van de [menu]-tag (alle [tab]-tags dus) door te sturen naar een functie, en die dan te parsen. Dan kan ik het zelf nog begrijpen in ieder geval
      woensdag 7 december 2005 @ 18:47:38 #79
    32768 DionysuZ
    Respect my authority!
    pi_32898029
    quote:
    Op woensdag 7 december 2005 18:31 schreef Darkomen het volgende:
    DOH, ff zoeken hoe wel gif images te resizen
    misschien gewoon met imagecreate?
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      FOK!-Schrikkelbaas woensdag 7 december 2005 @ 19:27:53 #80
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32898980
    client side/server side probleempje.
    Bij het deleten van een database entry, wil ik een confirm vragen.

    Maar... deze database entry is gekoppeld met een andere tabel. En pas wanneer in die andere tabel items aanwezig zijn, wil ik de confirm vragen.

    Dit betekent dus serverside query draaien welke controleert of het te delete item koppelingen heeft.
    Zo ja, een client sode confirm met de opmerking dat er koppelingen zijn en of men dus wel echt wil deleten. Indien men ECHT wil deleten, serverside query welke de entry delete.

    DIT is natuurlijk smerige zooi
    1
    2
    3
    4
    5
    6
    $query="SELECT COUNT(*) AS aantal FROM tabel WHERE id=".$id;
    $r=mysql_query($query);
    $row=mysql_fetch_assoc($r);
    if($row['aantal']!=0){
    echo'<script type="text/javascript">if (confirm(\'verwijderen?\')){document.write(\'<?//delete query;?>\')}</script>';
    }


    Hoe pak ik dit aan?
    pi_32899039
    Dan zal je met een XMLHttpRequest moeten kijken of je een confirm moet tonen.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_32901007
    De kwaliteit is dan slecht

    [ Bericht 81% gewijzigd door Darkomen op 07-12-2005 20:56:54 ]
    pi_32901165
    Daarvoor hebben we ook imagecreatetruecolor()
    pi_32901442
    maar dat ging weer niet met mn gifs
    pi_32901569
    quote:
    Op woensdag 7 december 2005 21:04 schreef Darkomen het volgende:
    maar dat ging weer niet met mn gifs
    Hoezo niet? Kun je die gif niet laden en naar een truecolor canvas kopiëren?
    pi_32902136
    Ze bewegen dan niet meer
    pi_32902349
    quote:
    Op woensdag 7 december 2005 21:27 schreef Darkomen het volgende:
    Ze bewegen dan niet meer
    Tja, of een mooi plaatje, of een lelijke animatie. Denk niet dat je het heel gemakkelijk kunt oplossen, hoewel er misschien wel ergens implementaties van een gif-resizer te vinden zijn
    pi_32902476
    Ik ben al druk aan het googlen
    pi_32902551
    Ok. Waar zit de fout?

    1INSERT INTO registraties ('username','password','realname','email','regdate','regip') VALUES ( 'Testje','s5rspvs','tester','test@c-q.nl','1133988314','62.195.241.114')
    pi_32902747
    Je mag kolomnamen niet met singlequotes omvatten, dat zul je zonder moeten doen of met backticks (`), die zit links van je niet-keypad '1'-knop op je toetsenbord.

    Overigens wordt het over het algemeen wel gewaardeerd als je bij iets dat 'niet werkt' een foutmelding levert dan kunnen we meestal wat sneller zien waar de fout zit.
    pi_32903291
    quote:
    Op woensdag 7 december 2005 21:45 schreef JeRa het volgende:
    Je mag kolomnamen niet met singlequotes omvatten, dat zul je zonder moeten doen of met backticks (`), die zit links van je niet-keypad '1'-knop op je toetsenbord.

    Overigens wordt het over het algemeen wel gewaardeerd als je bij iets dat 'niet werkt' een foutmelding levert dan kunnen we meestal wat sneller zien waar de fout zit.
    Thnx.
      FOK!-Schrikkelbaas woensdag 7 december 2005 @ 22:43:59 #92
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32904706
    quote:
    Op woensdag 7 december 2005 19:30 schreef SuperRembo het volgende:
    Dan zal je met een XMLHttpRequest moeten kijken of je een confirm moet tonen.
    Hmz...., ja dat kan werken.
    Client side checken of er relaties zijn.

    -edit- alleen heb ik tot nu toe alleen maar een serverside txt file via xmlhttprequest aangesproken. Hoe ik de database moet benaderen is me nog even een raadsel
    pi_32905351
    Een XMLHttpRequest is voor php een request (get of post) als alle andere.
    Je haalt je wel flink wat op de hals, en dat alleen om een confirm over te kunnen slaan.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_32905669
    quote:
    Op woensdag 7 december 2005 23:03 schreef SuperRembo het volgende:
    Een XMLHttpRequest is voor php een request (get of post) als alle andere.
    Je haalt je wel flink wat op de hals, en dat alleen om een confirm over te kunnen slaan.
    Inderdaad. Waarom vraag je niet standaard om een confirm (je verwijdert iets!)?

    [ Bericht 0% gewijzigd door JeRa op 07-12-2005 23:20:06 ]
      FOK!-Schrikkelbaas donderdag 8 december 2005 @ 08:21:50 #95
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32911091
    quote:
    Op woensdag 7 december 2005 23:13 schreef JeRa het volgende:

    [..]

    Inderdaad. Waarom vraag je niet standaard om een confirm (je verwijdert iets!)?
    Het gaat om een menu item. En ik wil eigenlijk een EXTRA warning geven wanneer er aan dat menu item produkten gekoppeld zijn.

    Maar het is inderdaad een hoop moeite voor een extra warning. En in principe is het ergste wat er kan gebeuren dat je via het menu niet meer bij een aantal produkten kan komen. Die moet je dan in het CMS eerst aan een andere menu item koppelen.

    Ik ga er nog eens goed over nadenken
    pi_32912675
    quote:
    Op woensdag 7 december 2005 21:33 schreef JeRa het volgende:

    [..]

    Tja, of een mooi plaatje, of een lelijke animatie. Denk niet dat je het heel gemakkelijk kunt oplossen, hoewel er misschien wel ergens implementaties van een gif-resizer te vinden zijn
    Dit is dus nog vrij moeilijk te vinden, wel genoeg mensen die met hetzelfde zitten

    maar fok kan het ook, dus waarom wij niet
    pi_32912858
    quote:
    Op donderdag 8 december 2005 08:21 schreef Swetsenegger het volgende:

    [..]

    Maar het is inderdaad een hoop moeite voor een extra warning. En in principe is het ergste wat er kan gebeuren dat je via het menu niet meer bij een aantal produkten kan komen. Die moet je dan in het CMS eerst aan een andere menu item koppelen.
    Ik zou dát als oplossing nemen met eventueel een extra melding ná het verwijderen in de trant van 'Het door u zojuist verwijderde menu-item bevatte subitems die nu niet meer gekoppeld zijn'.

    Een alternatief is om alle subitems onder de parent van het zojuist verwijderde item te hangen, maar dit is niet professioneel op een live site en moet je alleen doen als je het menu naar hartelust kunt wijzigen zónder dat dit effect heeft op het 'echte' menu.
    pi_32912872
    quote:
    Op donderdag 8 december 2005 10:15 schreef Darkomen het volgende:

    [..]

    maar fok kan het ook, dus waarom wij niet
    Kan fok het ook?
      FOK!-Schrikkelbaas donderdag 8 december 2005 @ 11:27:50 #99
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32914048
    quote:
    Op donderdag 8 december 2005 10:27 schreef JeRa het volgende:

    [..]

    Ik zou dát als oplossing nemen met eventueel een extra melding ná het verwijderen in de trant van 'Het door u zojuist verwijderde menu-item bevatte subitems die nu niet meer gekoppeld zijn'.
    Dat is wel een mooie oplossing inderdaad.

    Het verwijderen op zich kan geen kwaad, het is slechts ter informatie dat de beheerder er rekening mee houdt dat er op dat moment produkten niet gekoppeld zijn.
    quote:
    Een alternatief is om alle subitems onder de parent van het zojuist verwijderde item te hangen, maar dit is niet professioneel op een live site en moet je alleen doen als je het menu naar hartelust kunt wijzigen zónder dat dit effect heeft op het 'echte' menu.
    Sowieso is het geen risico voor het menu. Parents kunnen niet verwijderd worden, alleen childeren/leafenodes. Alleen het diepste level dus.
    pi_32915304
    quote:
    Op donderdag 8 december 2005 10:15 schreef Darkomen het volgende:
    [..]
    maar fok kan het ook, dus waarom wij niet
    Als je de usericons op de FP bedoelt, die zijn "geresized" met width="30" height="30".
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_32916628
    Bedoel die hier op het forum, maar daar is het vast hetzelfde :$
    pi_32916998
    quote:
    Op donderdag 8 december 2005 13:22 schreef Darkomen het volgende:
    Bedoel die hier op het forum, maar daar is het vast hetzelfde :$
    1) Ofwel bedoel je de iconmanager, dus dat je GIF-afbeeldingen kunt uploaden en als vaste usericon kunt gebruiken. Voor zover ik weet kan die geen GIF-animaties resizen.
    2) Ófwel bedoel je de webicons, die worden door de browser geresized naar 60x60 en zien er derhalve dus ook niet uit.
    pi_32917375
    Het laatste dus
    pi_32921633
    Luitjes..

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
          Tree[0]  = "1|0|Page 1|#";
          Tree[1]    = "2|1|Page 1.1|#";
          Tree[2]  = "3|1|Page 1.2|#";
          Tree[3]  = "4|3|Page 1.2.1|#";
          Tree[4]  = "5|1|Page 1.3|#";
          Tree[5]  = "6|2|Page 1.1.1|#";
          Tree[6]  = "7|6|Page 1.1.1.1|#";
          Tree[7]  = "8|6|Page 1.1.1.2|#";
          Tree[8]  = "9|1|Page 1.4|#";
          Tree[9]  = "10|9|Page 1.4.1|#";
          Tree[10] = "11|0|Page 2|#";


    dit is wat ik wil crearen met een tree loper echter krijg ik het niet goed voor elkaar en krijg steeds 1|1 1|2 etc

    vb

    1
    2
    3
    4
    5
    6
    7
    1|1|WINDOWS|C://WINDOWS
    1|1|system32|C://WINDOWS/system32
    1|1|config|C://WINDOWS/system32/config
    1|1|systemprofile|C://WINDOWS/system32/config/systemprofile
    1|1|Local Settings|C://WINDOWS/system32/config/systemprofile/Local Settings
    1|1|Temp|C://WINDOWS/system32/config/systemprofile/Local Settings/Temp
    1|2|Geschiedenis|C://WINDOWS/system32/config/systemprofile/Local Settings/Geschiedenis


    zoals je ziet gaat het ergens goed fout, echter zie ik niet waar!?

    de code
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?

    error_reporting(E_ALL);

    function scantree($start, $fDb = 0, $pathCount = 0)
    {
    //    global $fDb;
        
        $fDb++;
        
        $pathcount = 0;
        
        $dir = opendir($start);
        
        while (($file = readdir($dir)) != false)
        {
            if (is_dir($start . "/" . $file) && $file != "." && $file != "..")
            {
                $pathcount++;
                
                echo 'test[' . $fDb . '] = ' . $fDb + 1 . '|' . $pathcount . '|' . $file . '|' . $start . "/" . $file . CHR(13) . CHR(10);

                scantree($start . "/" . $file, $fDb, $pathCount);
                
            }
        }
    }

    $fDb = -1;

    if (isSet($_GET['drive']) && substr($_GET['drive'], 1,1) == ":")
    {
        scantree($_GET['drive'] . "/");// the tree looping can begin
    }
    else
    {
        echo 'no ow no';
    }


    allemaal weer uit het hoofd, maar goed... iemand een suggestie!?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32922223
    quote:
    Op donderdag 8 december 2005 16:45 schreef Chandler het volgende:
    Luitjes..
    [ code verwijderd ]

    dit is wat ik wil crearen met een tree loper echter krijg ik het niet goed voor elkaar en krijg steeds 1|1 1|2 etc

    vb
    [ code verwijderd ]

    zoals je ziet gaat het ergens goed fout, echter zie ik niet waar!?

    de code
    [ code verwijderd ]

    allemaal weer uit het hoofd, maar goed... iemand een suggestie!?
    Regel 23. Je gebruikt de functie scantree in de functie scantree?
    pi_32922752
    dat kan toch, dat is juist nodig voor de diepgang
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32924446
    quote:
    Op donderdag 8 december 2005 17:30 schreef Chandler het volgende:
    dat kan toch, dat is juist nodig voor de diepgang
    Ik snap je voorbeeld niet dat het eerste getal telkens opgehoogd dient te worden snap ik (heb je eigenlijk niet eens nodig maar toch), maar wat doet het tweede getal?
      donderdag 8 december 2005 @ 18:58:50 #108
    32768 DionysuZ
    Respect my authority!
    pi_32924763
    wat lelijk dat hoofdlettergebruik ook :S $pathcount en $pathCount. Het werkt ZEER verwarrend. En zo geef je als je recursief scantree weer aanroept $pathCount en niet $pathcount, degene die opgehoogd wordt.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      FOK!-Schrikkelbaas donderdag 8 december 2005 @ 19:26:40 #109
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32925447
    Ik ben toch maar voor de xmlhttprequest gegaan .
    En hij werkt. eigenlijk zelfs verdomd simpel

    -edit- iets te voorbarig, ik krijg mijn parameters om daadwerkelijk te deleten niet mee .

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    if(!empty($_GET['right'])){
       if(is_numeric($_GET['id']) && is_numeric($_GET['right'])){
           deleteLeaf($_GET['right'],$_GET['id']);
       }
    }

    function deleteLeaf($right,$id){
    $query="DELETE FROM menu WHERE id=".$id." LIMIT 1";
    mysql_query($query);
    $query="UPDATE menu SET rgt=rgt-2 WHERE rgt>".$right;
    mysql_query($query);
    $query="UPDATE menu SET lft=lft-2 WHERE lft>".$right;
    mysql_query($query);
    header("location: ".$_SERVER['PHP_SELF']);
    }

    Voor de php'ers, dit is redelijk duidelijk

    Nu het probleem. Aan dit menu zitten produkten gekoppeld. Wanneer iemand nu een menu-item delete, wil ik een waarschuwing geven indien er nog produkten gekoppeld zijn.
    Dit werkt met een xmlhttprequest:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <script type="text/javascript">

    var url = "checkProduct.php?id="; // The server-side script
    var http = getHTTPObject();

    function handleHttpResponse() {
        if (http.readyState == 4) {
        results = http.responseText;
            if(results!=0){
                if(confirm('Aan dit menu-item zijn produkten gekoppeld!\nIndien u dit menu-item verwijderd, moet u er rekening mee houden de produkten aan een ander menu-item te koppelen.\nMenu-item verwijderen?')){
                    alert('verwijder');
                }
            }else{
                if(confirm('Weet u zeker dat u dit menu-item wilt verwijderen?')){
                    alert('verwijderd')
                }
            }
        }
    }

    function checkProduct(id) {

        http.open("GET", url + escape(id), true);
        http.onreadystatechange = handleHttpResponse;
        http.send(null);
     }

    function getHTTPObject() {

      var xmlhttp;

      /*@cc_on

      @if (@_jscript_version >= 5)

        try {

          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

        } catch (e) {

          try {

            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

          } catch (E) {

            xmlhttp = false;

          }

        }

      @else

      xmlhttp = false;

      @end @*/

      if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {

        try {

          xmlhttp = new XMLHttpRequest();

        } catch (e) {

          xmlhttp = false;

        }

      }

      return xmlhttp;

    }

    </script>


    en de link welke het hele spul in gang zet

    1[<a class="admin2" href="#" onClick="checkProduct('.$row['id'].')">delete</a>]

    [/code]

    Ok, de de link roept de javascript functie checkProduct aan, welke via een xmlhttprequest het resultaat van checkProduct.php terugkrijgt (zonder refresh dus). Uiteraard is checkProduct.php niets anders dan een COUNT.

    Bovenstaand werkt, maar uiteraard wil ik de alert('verwijderd') vervangen in een window.location="pagina.php?id="+id+"&right="+right;
    De parameters id en right moet ik dus van checkProduct door geven aan handleHttpResponse. Maar dit

    1
    2
    3
    4
    5
    6
    function checkProduct(id) {

        http.open("GET", url + escape(id), true);
        http.onreadystatechange = handleHttpResponse(id);
        http.send(null);
     }


    zorgt ervoor dat ik uberhaupt niet meer in handleHttpResponse terecht kom
    Mijn javascript kennis schiet hier te kort.

    [ Bericht 63% gewijzigd door Swetsenegger op 08-12-2005 20:01:46 ]
    pi_32926774
    @chandler:
    Zet eens haakje om $fDb + 1

    Lang leve loose typed talen
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 8 december 2005 @ 20:27:44 #111
    32768 DionysuZ
    Respect my authority!
    pi_32927025
    quote:
    Op donderdag 8 december 2005 20:19 schreef SuperRembo het volgende:
    @chandler:
    Zet eens haakje om $fDb + 1

    Lang leve loose typed talen
    hehehe het heeft door zijn simpliciteit natuurlijk ook veel voordelen.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32927419
    @swetsenegger:
    quote:
    http.onreadystatechange = handleHttpResponse;
    Zorgt er voor dat http.onreadystatechange gelijk wordt aan de functie handleHttpResponse.
    quote:
    http.onreadystatechange = handleHttpResponse(id);
    Zorgt er voor dat http.onreadystatechange gelijk wordt aan het resultaat van het uitvoeren van handleHttpResponse(id).

    Dit kan je op verschillende manieren oplossen.
    Met een closure:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function checkProduct(id) {
        http.open("GET", url + escape(id), true);
        http.onreadystatechange = function() {
           if (http.readyState == 4) {
              checkProductCallback(id);
           }
        }
        http.send(null);
    }


    Doordat de functie binnen de functie checkProduct wordt gedefinieerd, blijft de scope van checkProduct behouden. Daardoor is id binnen de onreadystatechange functie nog bekend op het moment dat die aangeroepen wordt.

    Een andere oplossing is dat je niet alleen het aantal producten terug stuurt, maar ook de id.


    Internet Explorer heeft trouwens een vervelende bug: het resultaat van de httprequest wordt gecached. Als de url van twee requests gelijk zijn, dan wordt geen cal naar de server gedaan, maar krijg je gewoon de eerder opgehaalde resultaten terug. Dit is gelukkig simpel te voorkomen door een random string aan de url toe te voegen.

    Dit is trouwens allemaal clientside scripting, dus meer iets voor het javascript topic.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas donderdag 8 december 2005 @ 20:40:38 #113
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32927420
    Probleem opgelost.

    1
    2
    3
    4
    5
    6
    function checkProduct(id) {
        id=id; //Dit maakt de var id global
        http.open("GET", url + escape(id), true);
        http.onreadystatechange = handleHttpResponse(id);
        http.send(null);
     } 
    pi_32927465
    Dit lijkt me geen handige oplossing
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas donderdag 8 december 2005 @ 20:44:57 #115
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32927544
    quote:
    Op donderdag 8 december 2005 20:40 schreef SuperRembo het volgende:
    @swetsenegger:
    [..]

    Zorgt er voor dat http.onreadystatechange gelijk wordt aan de functie handleHttpResponse.
    [..]

    Zorgt er voor dat http.onreadystatechange gelijk wordt aan het resultaat van het uitvoeren van handleHttpResponse(id).

    Dit kan je op verschillende manieren oplossen.
    Met een closure:
    [ code verwijderd ]

    Doordat de functie binnen de functie checkProduct wordt gedefinieerd, blijft de scope van checkProduct behouden. Daardoor is id binnen de onreadystatechange functie nog bekend op het moment dat die aangeroepen wordt.

    Een andere oplossing is dat je niet alleen het aantal producten terug stuurt, maar ook de id.
    Closure werkte ook, maar een aparte functie was even netter
    quote:
    Internet Explorer heeft trouwens een vervelende bug: het resultaat van de httprequest wordt gecached. Als de url van twee requests gelijk zijn, dan wordt geen cal naar de server gedaan, maar krijg je gewoon de eerder opgehaalde resultaten terug. Dit is gelukkig simpel te voorkomen door een random string aan de url toe te voegen.
    Ah... dus wanneer ik delete.php?id=6 stuur en er voor kies NIET te deleten, kan hij de volgende keer abusievelijk zeggen dat er produkten aan 6 gekoppeld zitten wat niet het geval is? Cached hij in temp files?
    quote:
    Dit is trouwens allemaal clientside scripting, dus meer iets voor het javascript topic.
    Klopt, maar het was gecombineerd door de xmlhttprequest. Ik heb 'm dus in beide topics gecrosspost
      donderdag 8 december 2005 @ 20:47:04 #116
    37634 wobbel
    Da WoBBeL King
    pi_32927612
    Hoe kijk of ik er wel écht een bestand wordt geupload bij een formulier met een file-field?

    if($_FILES['Avatar']) is namelijk altijd positief, ook als ik geen enkel bestand invul.

    Ik heb if($_FILES['Avatar']['tmp_name']) en name ook al gebruikt, maar dan kan ik bij het file-field ook wat random tekens invullen ipv een bestand, en dan zegt ie alsnog dat er wél een bestand is geupload.

    Ik heb http://nl2.php.net/features.file-upload er al op nageslagen, maar het helpt me niet echt :s
      FOK!-Schrikkelbaas donderdag 8 december 2005 @ 20:48:16 #117
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32927655
    quote:
    Op donderdag 8 december 2005 20:42 schreef SuperRembo het volgende:
    Dit lijkt me geen handige oplossing
    wrom niet?

    hij is trouwens wel net iets anders:
    1
    2
    3
    function checkProduct(rgt,menu) {
        id=menu; //var global maken
        right=rgt; //var global maken
      donderdag 8 december 2005 @ 20:49:11 #118
    32768 DionysuZ
    Respect my authority!
    pi_32927685
    if ($_FILES["Avatar"]["size"] > 0)
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      donderdag 8 december 2005 @ 20:50:21 #119
    37634 wobbel
    Da WoBBeL King
    pi_32927724
    quote:
    Op donderdag 8 december 2005 20:49 schreef DionysuZ het volgende:
    if ($_FILES["Avatar"]["size"] > 0)
    Dat vind ik zo'n kromme oplossing, maar kan het écht niet anders?
      FOK!-Schrikkelbaas donderdag 8 december 2005 @ 20:52:22 #120
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32927780
    quote:
    Op donderdag 8 december 2005 20:47 schreef wobbel het volgende:
    Hoe kijk of ik er wel écht een bestand wordt geupload bij een formulier met een file-field?

    if($_FILES['Avatar']) is namelijk altijd positief, ook als ik geen enkel bestand invul.

    Ik heb if($_FILES['Avatar']['tmp_name']) en name ook al gebruikt, maar dan kan ik bij het file-field ook wat random tekens invullen ipv een bestand, en dan zegt ie alsnog dat er wél een bestand is geupload.

    Ik heb http://nl2.php.net/features.file-upload er al op nageslagen, maar het helpt me niet echt :s
    if($_FILES['avatar']['tmp_name']!='') om te checken of er een bestandsnaam is ingevuld
    if(preg_match("/\.(jpg)$/i", $_FILES['avatar']['name'])) om te checken of de geuploade file een jpg is (uiteraard aan te passen voor gif, etc)
      donderdag 8 december 2005 @ 20:54:58 #121
    37634 wobbel
    Da WoBBeL King
    pi_32927853
    quote:
    Op donderdag 8 december 2005 20:52 schreef Swetsenegger het volgende:

    [..]

    if($_FILES['avatar']['tmp_name']!='') om te checken of er een bestandsnaam is ingevuld
    if(preg_match("/\.(jpg)$/i", $_FILES['avatar']['name'])) om te checken of de geuploade file een jpg is (uiteraard aan te passen voor gif, etc)
    dan kan ik een PHP file ook wel de extensie .jpg geven, en met punten erin wordt het ook een probleem.
    Gewoon $_FILES['Avatar']['type'] gebruiken, en zelfs dan kan het nog wel misgaan maar is de kans wel kleiner.
      donderdag 8 december 2005 @ 20:55:59 #122
    32768 DionysuZ
    Respect my authority!
    pi_32927885
    quote:
    Op donderdag 8 december 2005 20:52 schreef Swetsenegger het volgende:

    [..]

    if($_FILES['avatar']['tmp_name']!='') om te checken of er een bestandsnaam is ingevuld
    if(preg_match("/\.(jpg)$/i", $_FILES['avatar']['name'])) om te checken of de geuploade file een jpg is (uiteraard aan te passen voor gif, etc)
    ik zou eerder $_FILES["avatar"]["type"] gebruiken om te checken of het een jpg is..
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      donderdag 8 december 2005 @ 20:57:25 #123
    32768 DionysuZ
    Respect my authority!
    pi_32927942
    quote:
    Op donderdag 8 december 2005 20:50 schreef wobbel het volgende:

    [..]

    Dat vind ik zo'n kromme oplossing, maar kan het écht niet anders?
    http://nl2.php.net/features.file-upload
    If no file is selected for upload in your form, PHP will return $_FILES['userfile']['size'] as 0, and $_FILES['userfile']['tmp_name'] as none.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32928005
    quote:
    Op donderdag 8 december 2005 18:45 schreef JeRa het volgende:

    [..]

    Ik snap je voorbeeld niet dat het eerste getal telkens opgehoogd dient te worden snap ik (heb je eigenlijk niet eens nodig maar toch), maar wat doet het tweede getal?
    Dat is voor de link van het vorige mapje

    voorbeeld er staan 3 mappen in de root
    1
    2
    3
    1 windows
    2 program files
    3 documents and settings


    dan is het ook handig dat de mappen die er onder zitten een goede beschrijving krijgen waar ze horen. Ik heb 2 mappen onder windows (en 1 submap) en 1 onder program files en 0 onder documents en settings in het volgende voorbeeld.

    1
    2
    3
    4
    5
    6
    7
    1|1| Windows
    2|1| Windows\System
    3|1| Windows\Temp
    4|3| Windows\Temp\inst_all
    5|1| Program files
    6|5| Program files\Winzip
    7|1| Documents and Settings


    zie je de link?, zo moet ik dus een tree opbouwen echter lukt me dat niet met aangegeven voorbeeld alleen zie ik de fout niet
    quote:
    Op donderdag 8 december 2005 18:58 schreef DionysuZ het volgende:
    wat lelijk dat hoofdlettergebruik ook :S $pathcount en $pathCount. Het werkt ZEER verwarrend. En zo geef je als je recursief scantree weer aanroept $pathCount en niet $pathcount, degene die opgehoogd wordt.
    Je hebt inderdaad gelijk, zal eens kijken of de error daaruit komt
    quote:
    Op donderdag 8 december 2005 20:19 schreef SuperRembo het volgende:
    @chandler:
    Zet eens haakje om $fDb + 1
    Ga ik ook doen
    quote:
    Lang leve loose typed talen
    what do you mean?
    quote:
    Op donderdag 8 december 2005 20:27 schreef DionysuZ het volgende:
    hehehe het heeft door zijn simpliciteit natuurlijk ook veel voordelen.
    Voordelen alleen heb ik die nog niet gezien
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas donderdag 8 december 2005 @ 21:01:59 #125
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32928093
    quote:
    Op donderdag 8 december 2005 20:55 schreef DionysuZ het volgende:

    [..]

    ik zou eerder $_FILES["avatar"]["type"] gebruiken om te checken of het een jpg is..
    Ja klopt, die check je vervolgens tegen je preg_match en indien dat niet klopt ban je sucker gelijk
    pi_32928269
    Heb jullie ideeen verwerkt maar helaas nog geen werkend resultaat

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <?

    error_reporting(E_ALL);

    function scantree($start, $fDb = 0, $pathcount = 0)
    {
    //    global $fDb;
        
        $fDb++;

        $dir = opendir($start);
        
        while (($file = readdir($dir)) != false)
        {
            if (is_dir($start . $file) && $file != "." && $file != "..")
            {
                $pathcount++;
                echo 'test[' . $pathcount . '] = ' . ($fDb + 1) . '|' . $pathcount . '|' . $file . '|' . $start .  $file . CHR(13) . CHR(10);

                scantree($start . $file . "/", $fDb, $pathcount);
                
            }
        }
    }

    $fDb = -1;

    if (isSet($_GET['drive']) && substr($_GET['drive'], 1,1) == ":")
    {
        scantree($_GET['drive'] . "/");// the tree looping can begin
    }
    else
    {
        echo 'no ow no';
    }


    'k snap echt niet waar ik de fout in ga
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32928440
    quote:
    Op donderdag 8 december 2005 20:59 schreef Chandler het volgende:
    what do you mean?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $a = 'test';
    echo $a;// $a is een string

    $a = 'test'. 1;
    echo $a;// $a is een string

    $a = 'test'. 1 + 2;
    echo $a;// $a is nu een integer

    $a = 'test'. 1 + 2 .'drie';
    echo $a;// $a is weer string


    Bij een strict typed taal kan je geen getallen bij tekst optellen (of andersom). Dan maak je dit soort fouten dus niet.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_32929539
    ik zit met klein, waarschijnlijk simpel, probleempje...
    ik heb met een htaccess bestand gezorgd dat al mijn plaatjes op mijn server lopen via een php bestand dit ziet er als volgt uit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    php
    if($ext == "jpeg" || $ext == "jpg")
    {
    imagejpeg($_SERVER['HTTP_HOST']."/".$_GET['pic']);
    }
    if(
    $ext == "bmp")
    {
    imagewbmp($_SERVER['HTTP_HOST']."/".$_GET['pic']);
    }
    if(
    $ext == "gif")
    {
    imagegif($_SERVER['HTTP_HOST']."/".$_GET['pic']);
    }
    if(
    $ext == "png")
    {
    imagepng($_SERVER['HTTP_HOST']."/".$_GET['pic']);
    }
    ?>


    nou wil ik een stukkie tekst toevoegen aan een plaatje..
    hoe kan ik het zo doen dat de tekst procentueel gezien op dezelfde hoogte komt...?
      donderdag 8 december 2005 @ 22:01:01 #129
    28280 Fugie
    Porsche _O_
    pi_32929692
    jo even een vraagje, ik heb een inlogfunctie (heel simpel) en ik wil dat wanneer iemand succesvol inlogd mijn menuframe wordt refreshed. Nu heb ik tot nu toe niets werkend gekregen, ik kan de functie header niet gebruiken omdat ik dan een foutmelding krijg dat de header al eerder is verzonden en de enige andere manier die ik tot nu tegenkwam was een stukkie javascript erin ramme maar dat heeft ook nog niet gewerkt. Iemand hier nog een idee ?
      donderdag 8 december 2005 @ 22:02:04 #130
    37634 wobbel
    Da WoBBeL King
    pi_32929732
    Krijg bij deze code, onderstaande error....

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    if($_FILES['Avatar']['type'] == "image/jpg" OR $_FILES['Avatar']['type'] == "image/jpeg" OR $_FILES['Avatar']['type'] == "image/pjpg" OR $_FILES['Avatar']['type'] == "image/pjpeg" OR $_FILES['Avatar']['type'] == "image/gif")
    {

        
    // Tjekken op size :P
        
    $SizeX    = imagesx($_FILES['Avatar']['tmp_name']);
        
    $SizeY    = imagesy($_FILES['Avatar']['tmp_name']);
        
        echo
    $SizeX . " en de ander is " . $SizeY;


    }
    ?>


    1
    2
    3
    Warning: imagesx(): supplied argument is not a valid Image resource in /home/xostnl/public_html/tccl/member_avatar.php on line 68

    Warning: imagesy(): supplied argument is not a valid Image resource in /home/xostnl/public_html/tccl/member_avatar.php on line 69
    pi_32929819
    quote:
    Op donderdag 8 december 2005 22:01 schreef Fugie het volgende:
    jo even een vraagje, ik heb een inlogfunctie (heel simpel) en ik wil dat wanneer iemand succesvol inlogd mijn menuframe wordt refreshed. Nu heb ik tot nu toe niets werkend gekregen, ik kan de functie header niet gebruiken omdat ik dan een foutmelding krijg dat de header al eerder is verzonden en de enige andere manier die ik tot nu tegenkwam was een stukkie javascript erin ramme maar dat heeft ook nog niet gewerkt. Iemand hier nog een idee ?
    of met javascript je menuframe reloaden (iets van menuframe.location.reload ofzo...)
    of je hele frameset pagina opnieuw aanroepen...
      donderdag 8 december 2005 @ 22:07:22 #132
    28280 Fugie
    Porsche _O_
    pi_32929870
    quote:
    Op donderdag 8 december 2005 22:05 schreef mschol het volgende:

    [..]

    of met javascript je menuframe reloaden (iets van menuframe.location.reload ofzo...)
    of je hele frameset pagina opnieuw aanroepen...
    ja ik heb dat al geprobeerd ja maar dat haalde om de 1 of andere suffe reden niets uit
    pi_32929895
    quote:
    Op donderdag 8 december 2005 22:02 schreef wobbel het volgende:
    Krijg bij deze code, onderstaande error....
    [ code verwijderd ]


    [ code verwijderd ]
    probeer getimagesize eens
      donderdag 8 december 2005 @ 22:09:57 #134
    37634 wobbel
    Da WoBBeL King
    pi_32929946
    quote:
    Op donderdag 8 december 2005 21:54 schreef mschol het volgende:
    ik zit met klein, waarschijnlijk simpel, probleempje...
    ik heb met een htaccess bestand gezorgd dat al mijn plaatjes op mijn server lopen via een php bestand dit ziet er als volgt uit:
    [ code verwijderd ]

    nou wil ik een stukkie tekst toevoegen aan een plaatje..
    hoe kan ik het zo doen dat de tekst procentueel gezien op dezelfde hoogte komt...?
    imagey(); doen met de afbeelding, en dan daar bijv 10 pixels vanaf halen, en op die hoogte de tekst plaatsen.
    Als je de tekst wilt centeren, moet je een imagettftextbox gebruiken dacht ik (horizontaal)
    pi_32929991
    Moet voor imagesx/y niet een gd-image achtige variable zijn? (geen idee hoe ik het goed uitleg...)

    In de php comments kijkend, zou het wel kunnen als je er tusen magecreatefromgif() gebruikt, maar daar heb je dus GD voor nodig.

    Maar als je alleen de hoogte/breedte nodig hebt, kun je ook gewoon getimagesize() gebruiken.
    image_data = getimagesize($imagepath);

    komt een array uit met [0] = witdh, [1]=heigth en nog enkele variables.
      donderdag 8 december 2005 @ 22:12:53 #136
    37634 wobbel
    Da WoBBeL King
    pi_32930038
    quote:
    Op donderdag 8 december 2005 22:09 schreef wobbel het volgende:

    [..]

    imagey(); doen met de afbeelding, en dan daar bijv 10 pixels vanaf halen, en op die hoogte de tekst plaatsen.
    Als je de tekst wilt centeren, moet je een imagettftextbox gebruiken dacht ik (horizontaal)
    werkt
      donderdag 8 december 2005 @ 22:13:40 #137
    37634 wobbel
    Da WoBBeL King
    pi_32930068
    quote:
    Op donderdag 8 december 2005 22:11 schreef the_disheaver het volgende:
    Moet voor imagesx/y niet een gd-image achtige variable zijn? (geen idee hoe ik het goed uitleg...)

    In de php comments kijkend, zou het wel kunnen als je er tusen magecreatefromgif() gebruikt, maar daar heb je dus GD voor nodig.

    Maar als je alleen de hoogte/breedte nodig hebt, kun je ook gewoon getimagesize() gebruiken.
    image_data = getimagesize($imagepath);

    komt een array uit met [0] = witdh, [1]=heigth en nog enkele variables.
    Maar als hij een tekst over de afbeelding wil poepen, moet hij dat zoiezo in GD gaan doen, tenzij hij met HTML wi lgaan prutsen,
    pi_32930105
    quote:
    Op donderdag 8 december 2005 22:09 schreef wobbel het volgende:

    [..]

    imagey(); doen met de afbeelding, en dan daar bijv 10 pixels vanaf halen, en op die hoogte de tekst plaatsen.
    Als je de tekst wilt centeren, moet je een imagettftextbox gebruiken dacht ik (horizontaal)
    Als je er 10 pixels af haalt, heb je niet een procentuele gelijke hoogte.

    Wel als je die hoogte vermenigvuldigd met een getal (kleiner dan 1...).
    Bv * 0.9 zodat ie op 90% van de hoogte vanaf de bovenkant komt.
    pi_32930207
    quote:
    Op donderdag 8 december 2005 22:13 schreef wobbel het volgende:

    [..]

    Maar als hij een tekst over de afbeelding wil poepen, moet hij dat zoiezo in GD gaan doen, tenzij hij met HTML wi lgaan prutsen,
    Was meer op jou vraag van toepassing (ja, ik was laat...)
    pi_32930267
    quote:
    Op donderdag 8 december 2005 22:01 schreef Fugie het volgende:
    jo even een vraagje, ik heb een inlogfunctie (heel simpel) en ik wil dat wanneer iemand succesvol inlogd mijn menuframe wordt refreshed. Nu heb ik tot nu toe niets werkend gekregen, ik kan de functie header niet gebruiken omdat ik dan een foutmelding krijg dat de header al eerder is verzonden en de enige andere manier die ik tot nu tegenkwam was een stukkie javascript erin ramme maar dat heeft ook nog niet gewerkt. Iemand hier nog een idee ?
    Mag ik vragen waarom je uberhaupt frames gebruikt wanneer je met php werkt?

    Maar anders de frameset opnieuw aanroepen, met daarin php-variables met het doelframe? (zodat je wel op dezelfde pagina blijft).
      donderdag 8 december 2005 @ 22:20:43 #141
    37634 wobbel
    Da WoBBeL King
    pi_32930271
    quote:
    Op donderdag 8 december 2005 22:18 schreef the_disheaver het volgende:

    [..]

    Was meer op jou vraag van toepassing (ja, ik was laat...)
    ik begrijp wat je bedoelt...
    dan zou ik eerst imagecreatefromfile moeten doen voordat ik imagesx kon doen
    pi_32930604
    Ik heb het al voor elkaar maar bij een grote directory structuur gaat er echt iets fout, oftewel de brouwser kan het niet aa

    voorbeeld http://www.bruggema.nl/sr/treeding.html

    met de volgende code
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head>
       <title>destroydrop » JavaScripts » Tree</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
       <link rel="StyleSheet" href="tree.css" type="text/css">
       <script type="text/javascript" src="tree.js"></script>
       <script type="text/javascript">

          <!--
          var Tree = new Array;
          // nodeId | parentNodeId | nodeName | nodeUrl
    <?

    error_reporting(E_ALL);

    function scantree($start, $id = 0)
    {
        $parent_id = $id;
        
        $id++;

        $dir = opendir($start);
        
        while (($file = readdir($dir)) != false)
        {
            if (is_dir($start . $file) && $file != "." && $file != "..")
            {
                echo 'Tree[' . ($id -1) . '] = "' . ($id) . '|' . $parent_id . '|' . $file . '|#";' .  CHR(13) . CHR(10);

                list($id) = scantree($start . $file . "/", $id);

            }
        }
        
        return array($id);

    }

    if (isSet($_GET['drive']) && substr($_GET['drive'], 1,1) == ":")
    {
        scantree($_GET['drive'] . "/");// the tree looping can begin
    }
    else
    {
        echo 'no ow no';
    }

    ?>

          //-->
       </script>
    </head>

    <body>

    <div class="tree">
    <script type="text/javascript">
    <!--
       createTree(Tree);
    //-->
    </script>
    </div>


    </body>
    </html>


    altijd handig hé, maar denk dat ik met XMLHTTP aan de slag moet ofzo, want dit is niet echt handig
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 8 december 2005 @ 22:37:21 #143
    37634 wobbel
    Da WoBBeL King
    pi_32930733
    Werkt perfect en snel hier in FF 1.5?
    pi_32931301
    ik snap idd niet wat er mis mee is, ziet er gaaf uit... (opera 8.51 hierzo)
    pi_32931335
    ja maar dit is maar een kleine tree, je wil die van me hele HDD (c partitie) niet zien namelijk, dan crasht me brouwser

    ff met firefox proberen trouwens
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32931492
    Ik moet zeggen dat firefox m'n hele tree ook niet echt leuk vind
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 8 december 2005 @ 23:09:47 #147
    32768 DionysuZ
    Respect my authority!
    pi_32931684
    quote:
    Op donderdag 8 december 2005 23:03 schreef Chandler het volgende:
    Ik moet zeggen dat firefox m'n hele tree ook niet echt leuk vind
    waarom bouw je hem met javascript op?
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32932224
    Je hele C schijf omzetten naar een tree in JS zal altijd lang duren. Je kan dan beter met XMLHttp steeds nieuwe gegevens ophalen als je een folder uitklapt. Op die manier laadt je niet meer dan nodig is.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_32932398
    quote:
    Op donderdag 8 december 2005 23:09 schreef DionysuZ het volgende:

    [..]

    waarom bouw je hem met javascript op?
    Dat is natuurlijk niet nodig, het opbouwen kan ook serverside gebeuren. Nadeel is dan wel dat je heel veel data moet verstouwen, en dat maakt het toch weer traag.
      donderdag 8 december 2005 @ 23:37:49 #150
    32768 DionysuZ
    Respect my authority!
    pi_32932527
    quote:
    Op donderdag 8 december 2005 23:31 schreef Light het volgende:

    [..]

    Dat is natuurlijk niet nodig, het opbouwen kan ook serverside gebeuren. Nadeel is dan wel dat je heel veel data moet verstouwen, en dat maakt het toch weer traag.
    true, true.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32933087
    quote:
    Op donderdag 8 december 2005 23:09 schreef DionysuZ het volgende:
    waarom bouw je hem met javascript op?
    Euh, omdat mij dat wel handig leek, maar bij nader inzien is dat helaas niet echt handig
    quote:
    Op donderdag 8 december 2005 23:25 schreef SuperRembo het volgende:
    Je hele C schijf omzetten naar een tree in JS zal altijd lang duren. Je kan dan beter met XMLHttp steeds nieuwe gegevens ophalen als je een folder uitklapt. Op die manier laadt je niet meer dan nodig is.
    Je hebt gelijk, ik weet het. Echter heb ik geen flauw idee hoe ik dat dan moet realiseren. Heb er namelijk zelf ook al overna gedacht maar kan maar geen goed idee bedenken
    quote:
    Op donderdag 8 december 2005 23:31 schreef Light het volgende:
    Dat is natuurlijk niet nodig, het opbouwen kan ook serverside gebeuren. Nadeel is dan wel dat je heel veel data moet verstouwen, en dat maakt het toch weer traag.
    Inderdaad, zo zat ik ook te denken maar goed... sommige mensen denken net even iets anders
    quote:
    Op donderdag 8 december 2005 23:37 schreef DionysuZ het volgende:
    true, true.
    Dat heb ik helaas gemerkt ja, alleen hoe dat dan met XMLHTTP te realiseren is me nog een vraag, met FireFox kwam ik echter wel iets verder dan met IE
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32933271
    quote:
    Op vrijdag 9 december 2005 00:00 schreef Chandler het volgende:

    Dat heb ik helaas gemerkt ja, alleen hoe dat dan met XMLHTTP te realiseren is me nog een vraag, met FireFox kwam ik echter wel iets verder dan met IE
    *is stiekem wel benieuwd hoever je met opera komt
    pi_32933347
    zal het ff uittesten
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      vrijdag 9 december 2005 @ 00:12:55 #154
    32768 DionysuZ
    Respect my authority!
    pi_32933451
    quote:
    Op donderdag 8 december 2005 23:25 schreef SuperRembo het volgende:
    Je hele C schijf omzetten naar een tree in JS zal altijd lang duren. Je kan dan beter met XMLHttp steeds nieuwe gegevens ophalen als je een folder uitklapt. Op die manier laadt je niet meer dan nodig is.
    deze manier is wel een leuke Chandler .
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32933519
    quote:
    Op vrijdag 9 december 2005 00:12 schreef DionysuZ het volgende:
    deze manier is wel een leuke Chandler .
    Absoluut, daar ben ik het mee eens, maar dan zit ik nog steeds mezelf af te vragen hoe ik dat correct voor elkaar krijg? Want ik wil wel graag de mappen structuur behouden... heb reeds gezocht naar een voorbeeld die daar wat dieper op inging maar helaas heb dus niets gevonden en nog steeds geen idee hoe dit te verwezelijken.
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      vrijdag 9 december 2005 @ 00:19:52 #156
    32768 DionysuZ
    Respect my authority!
    pi_32933657
    quote:
    Op vrijdag 9 december 2005 00:15 schreef Chandler het volgende:

    [..]

    Absoluut, daar ben ik het mee eens, maar dan zit ik nog steeds mezelf af te vragen hoe ik dat correct voor elkaar krijg? Want ik wil wel graag de mappen structuur behouden... heb reeds gezocht naar een voorbeeld die daar wat dieper op inging maar helaas heb dus niets gevonden en nog steeds geen idee hoe dit te verwezelijken.
    ik wil me ook nog eens een keer goed verdiepen in xmlhttprequests. Maar dat is misschien iets voor het javascript topic? [javascript] voor dummies - deel 3 dan tvp ik me daar ook ff
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32933672
    Met opera is het echt gelukt al duurde het wel wat minuten voordat de gehele tree er stond best jammer eingelijk, had best sneller gekund maar goed... na 4200+ items kan je ook niet veel anders verwachten... Wel mooi dat opera het hele script gewoon lekker laat draaien zonder error meldingen te geven. IE en FF kappen het gewoon af of blijven met errors (notices) komen
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32933707
    quote:
    Op vrijdag 9 december 2005 00:19 schreef DionysuZ het volgende:

    [..]

    ik wil me ook nog eens een keer goed verdiepen in xmlhttprequests. Maar dat is misschien iets voor het javascript topic? [javascript] voor dummies - deel 3 dan tvp ik me daar ook ff
    prototype.js is het keyword. Die is zo goed als crossbrowser zover ik weet.
    pi_32933795
    quote:
    Op vrijdag 9 december 2005 00:20 schreef Chandler het volgende:
    Met opera is het echt gelukt al duurde het wel wat minuten voordat de gehele tree er stond best jammer eingelijk, had best sneller gekund maar goed... na 4200+ items kan je ook niet veel anders verwachten... Wel mooi dat opera het hele script gewoon lekker laat draaien zonder error meldingen te geven. IE en FF kappen het gewoon af of blijven met errors (notices) komen


    Ik heb het script je ff zelf geprobeerd, maar dat duurde (voor mn c schijf) langer dan 30 secondes om de gehele lijst te krijgen, waardoor de max runtime (oid) overschreven werd...

    Het duurde idd best lang voordat een kleinere map geopend werd.

    edit: secondes bedoel ik natuurlijk...
      vrijdag 9 december 2005 @ 00:26:08 #160
    32768 DionysuZ
    Respect my authority!
    pi_32933833
    quote:
    Op vrijdag 9 december 2005 00:24 schreef the_disheaver het volgende:

    [..]



    Ik heb het script je ff zelf geprobeerd, maar dat duurde (voor mn c schijf) langer dan 30 minuten om de gehele lijst te krijgen, waardoor de max runtime (oid) overschreven werd...

    Het duurde idd best lang voordat een kleinere map geopend werd.
    sja... javascript he
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32933907
    Je hebt het script nu gezien, heb je misschien anders een idee hoe ik dit dan moet aanpakken? met andere DIVS? zonder javascript? of toch maar met XMLHTTP (waar ik nog steeds op zit te spacen?) .. Divs zou ook wel kunnen hoor maar dan houd je idd nog een zeer grote lap met bandwidth voor misschien een 0.01% gebruik daarvan en dan is XMLHTTP wel weer handig... maar goed...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32933967
    http://webfx.eae.net/dhtml/xloadtree/demo.html dit is wel een mooie, die moet ik maar eens uit gaan spitten, want lijkt me wel verdomde handig
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32934015
    quote:
    Op vrijdag 9 december 2005 00:32 schreef Chandler het volgende:
    http://webfx.eae.net/dhtml/xloadtree/demo.html dit is wel een mooie, die moet ik maar eens uit gaan spitten, want lijkt me wel verdomde handig
    Ja godsamme ik blijf maar klikken bij die tree willen ze een wereldwijde denial of service gaan uitoefenen met die eeuwige uitklapbare meuk?
    pi_32934068
    dat denk ik maar ziet er toch best goed uit; al zeg ik het zelf; maar zo iets moet ik dan ook maar gaan realiseren ofzo... lijkt me wel verdomde handig ivm server data.
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      vrijdag 9 december 2005 @ 00:40:22 #165
    32768 DionysuZ
    Respect my authority!
    pi_32934135
    quote:
    Op vrijdag 9 december 2005 00:29 schreef Chandler het volgende:
    Je hebt het script nu gezien, heb je misschien anders een idee hoe ik dit dan moet aanpakken? met andere DIVS? zonder javascript? of toch maar met XMLHTTP (waar ik nog steeds op zit te spacen?) .. Divs zou ook wel kunnen hoor maar dan houd je idd nog een zeer grote lap met bandwidth voor misschien een 0.01% gebruik daarvan en dan is XMLHTTP wel weer handig... maar goed...
    geen probleem met javascript hoor. Maar het is zo traag en processorvretend . Ik zou het denk ik op de XMLHTTP manier proberen. Dan heb je stukken minder te processen per keer.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      vrijdag 9 december 2005 @ 00:41:04 #166
    32768 DionysuZ
    Respect my authority!
    pi_32934150
    quote:
    Op vrijdag 9 december 2005 00:34 schreef JeRa het volgende:

    [..]

    Ja godsamme ik blijf maar klikken bij die tree willen ze een wereldwijde denial of service gaan uitoefenen met die eeuwige uitklapbare meuk?
    haha dat was me ook al opgevallen
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_32935861
    Even een vraagje met betrekking tot security, of iig, het in stand houden daarvan.

    Ik heb hier twee perfect samenwerkende servers staan die vanalles doen, en om dat te managen heb ik in PHP een tool gemaakt genaamd AAP, Ares Administrative Panel (Ares is de naam van de server die o.a. als webserver fungeert). Deze tool is interactief en maakt dus gebruik van STDIN om mijn input te verwerken en draait dus ook onder php-cli, met de rechten van root. Dit is omdat AAP in staat moet zijn user directories te maken en qua rechten goed te zetten, de Apache webserver moet kunnen laten reloaden, en nog veel meer. Dit is op het moment allemaal prima afgeschermd.

    Echter wil ik nu alles modulebased opbouwen waarbij ik voor iedere account incluis mezelf (de administrator) een webinterface biedt. Nu moet ik dus in staat zijn om via die webinterface hetzelfde te doen als via AAP, maar gezien PHP via Apache draait heeft het dus zo min mogelijk rechten (wat heel logisch is maar niet door elke webhoster in stand wordt gehouden - dat terzijde) waardoor dat niet mogelijk is. Ik heb dus een manier nodig om een veilige communicatie op te zetten tussen de webinterface en de 'backend' die als root-account aanpassingen aan beide servers doet.

    Qua scripten is het voor mij geen probleem dit veilig te doen, het gaat mij vooral om de globale manier waarop ik dit zou moeten doen ik had zelf al bedacht dat ik wellicht een backend kon schrijven die als server fungeert en verbindingen accepteert, de verbinding authenticeert en vervolgens bepaalde acties toelaat. Gebruikers moeten overigens straks zelf ook in staat zijn subdomeinen toe te voegen waar een Apache reload voor nodig is.
    pi_32937559
    Heeft iemand een manier waarop ik dat gebeuren met de tree kan verwezelijken? een guide how to zonder alle code direct... want ik moet natuurlijk ook de directories laten zien die leeg zijn maar die moeten dan weer niet open kunnen hé.

    Ik zat zelf te denken aan het volgende.

    Met XMLHTTP vraag ik bv C:\ op en dan krijg ik data terug

    1 = including subdirs, 0 = geen subdirs..

    bv
    1
    2
    [Windows, C:\Windows, 1]
    [Test, C:\Test, 0]


    verder weet ik het nog niet, deze data kan ik wel uit een php script trekken maar moet ik dit dan doen met divjes...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32938994
    quote:
    Op vrijdag 9 december 2005 09:02 schreef Chandler het volgende:

    want ik moet natuurlijk ook de directories laten zien die leeg zijn maar die moeten dan weer niet open kunnen hé.
    Waarom niet? Windows / Explorer (om eens een voorbeeld te nemen) laat ook gewoon folder zien. En als blijkt dat een folder geen subfolders heeft dan verdwijnt het plusje voor de foldernaam wel op het moment dat je erop klikt. Pas op het moment dat je een folder opent ga je kijken naar de inhoud, niet eerder.
      FOK!-Schrikkelbaas vrijdag 9 december 2005 @ 10:27:28 #170
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32939020
    quote:
    Op vrijdag 9 december 2005 00:21 schreef Ro�a� het volgende:

    [..]

    prototype.js is het keyword. Die is zo goed als crossbrowser zover ik weet.
    Ik gebruik er nu een welke in ieder geval werkt op Firefox, Internet Explorer en Opera (allemaal windows).

    Ik zal deze eens downloaden en kijken wat er anders aan is, want xmlhttprequests zijn wel ontzettend geil. De ultieme koppeling tussen client en server side .
    pi_32939088
    quote:
    Op vrijdag 9 december 2005 10:25 schreef Light het volgende:

    [..]

    Waarom niet? Windows / Explorer (om eens een voorbeeld te nemen) laat ook gewoon folder zien. En als blijkt dat een folder geen subfolders heeft dan verdwijnt het plusje voor de foldernaam wel op het moment dat je erop klikt. Pas op het moment dat je een folder opent ga je kijken naar de inhoud, niet eerder.
    Misschien doet verkenner dat dan wel zo, maar dat betekend dus niet dat de manier hoe verkenner dat doet ook de beste is.

    Ik erger me dat er wel een plusje staat voor een lege map

    Verschil is er wel: de tree in explorer laat alleen de mampjes zien, en in de tree van Chandler is het wss de bedoeling dat ook de bestanden in de tree komen te staan, ofwel: de kans is veel kleiner op een lege map. Is het dus de moeite waard om dat te doen?
    pi_32942378
    quote:
    Op vrijdag 9 december 2005 10:25 schreef Light het volgende:
    Waarom niet? Windows / Explorer (om eens een voorbeeld te nemen) laat ook gewoon folder zien. En als blijkt dat een folder geen subfolders heeft dan verdwijnt het plusje voor de foldernaam wel op het moment dat je erop klikt. Pas op het moment dat je een folder opent ga je kijken naar de inhoud, niet eerder.
    Je hebt gelijk, echter is dat dan weer de vraag hoe dat te verwerken
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32942678
    -edit-

    Heb nu een ander stuk van het internet getrokken en dat geeft resultaat

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <html>
        <head>
            <title>XMLHTTP example</title>
            <script type="text/javascript" language="javascript">

                var http_request = false;

                function makeRequest(path, id) 
                {

                    if (window.XMLHttpRequest) 
                    { // Mozilla, Safari,...
                        http_request = new XMLHttpRequest();
                    } 
                    else if (window.ActiveXObject) 
                    { // IE
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    }

                    http_request.onreadystatechange = alertContents;
                    http_request.open('GET', "tree.php?path=" + path + "&id=" + id, true);
                    http_request.send(null);

                }

                function alertContents() 
                {

                    if (http_request.readyState == 4) 
                    {
                        if (http_request.status == 200) 
                        {
                            alert(http_request.responseText);
                        } 
                        else 
                        {
                            alert('There was a problem with the request.');
                        }
                    }

                }
            </script>
        </head>
        <body>
            <a href="#" onclick="makeRequest('c:/myserver/', 666);">Make a request</a>
        </body>
    </html>


    echter blijkt dat continue de inhoud die gefetcht wordt met XMLHTTP gecached wordt, hoe kan ik dat voorkomen? want wil geen cache in mijn XMLHTTP

    [ Bericht 53% gewijzigd door Chandler op 09-12-2005 13:21:37 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32943435
    timestamp meesturen als query string parameter.
      vrijdag 9 december 2005 @ 13:47:29 #175
    37634 wobbel
    Da WoBBeL King
    pi_32943599
    Hoe zorg ik voor een goede quote functie zoals op Fok?!

    Dus [quote=Naam]blaat[/quote]
    Maar ook quoten zonder naam en maximaal 1 level 'diep' quoten, dus dat je geen oneinde loop met quotes in elkeer krijgt
    pi_32943847
    &Roonaan; ok dat snap ik had ik ook al aan gedacht maar is er geen andere mogelijkheid om de caching uit te zetten?

    @Wobbel:

    Je kan in een quote een quote verwijderen str_replace hé
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32944127
    quote:
    Op vrijdag 9 december 2005 13:57 schreef Chandler het volgende:
    &Roonaan; ok dat snap ik had ik ook al aan gedacht maar is er geen andere mogelijkheid om de caching uit te zetten?

    @Wobbel:

    Je kan in een quote een quote verwijderen str_replace hé
    no cache headers meesturen vanaf de server, zoals dat altijd voor php geldt.
    pi_32944230
    owkee, gaan we inbouwen
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32944689
    het werkt idd, maar nu zit ik dus met de opbouw van divjes, hoe ik een begin moet maken met een tree en hoe ik deze dan kan updaten zonder probelemen etc... want iedere div moet natuurlijk ook een naam (id) hebben? best pittig hoor ...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32944884
    1_2_3_4_5_6_
    path_c_temp_dev_fok_

    zo zijn er genoeg te verzinnen die redelijkerwijs unieke div ids opleveren.

    -r-
    pi_32945057
    hmmm... dat is ook wel weer een leuk idee ik ga er ff mee spelen...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32945081
    quote:
    Op vrijdag 9 december 2005 14:41 schreef Chandler het volgende:
    hmmm... dat is ook wel weer een leuk idee ik ga er ff mee spelen...
    tot zo
    pi_32945325
    ik heb nu zo iets als dit
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <style>

    .fld {
    margin-left: 16px;
    }
    </style>

    <div class="fld" id="test1">
        <img id="test1fld" src="images/foldericon.png"> Folder1
        <div class="fld" id="test4">
            <img id="test4fld" src="images/foldericon.png"> Folder4
        </div>
        <div class="fld" id="test2">
            <img id="tes2fld" src="images/foldericon.png"> Folder2
            <div class="fld" id="test3">
                <img id="test3fld" src="images/foldericon.png"> Folder3
            </div>
        </div>
    </div>
    <div class="fld" id="test5">
        <img id="test5fld" src="images/foldericon.png"> Folder5
    </div>


    maar daar kom ik ook niet echt verder mee... weet iemand een voorbeeld van een tree die gewoon werkt met divjes zonder al te veel functies... dus alleen maar aanroepen voor display veranderingen!?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32945346
    quote:
    Op vrijdag 9 december 2005 14:42 schreef Ro�a� het volgende:
    tot zo
    Je kent me een beetje hé
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_32968153
    Ik heb een soort inlogsysteem gemaakt wat je wachtwoord (md5) checked met het opgegeven md5(wachtwoord) in de database. werkt prima en is op zich wel redelijk veilig denk ik.

    punt is, hij is niet hoofdlettergevoelig
    is dat te fixen?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_32968354
    quote:
    Op zaterdag 10 december 2005 12:59 schreef Desdinova het volgende:
    Ik heb een soort inlogsysteem gemaakt wat je wachtwoord (md5) checked met het opgegeven md5(wachtwoord) in de database. werkt prima en is op zich wel redelijk veilig denk ik.

    punt is, hij is niet hoofdlettergevoelig
    is dat te fixen?
    MySQL is bij het controleren van een string niet hoofdlettergevoelig. Wat je wel kunt doen is de passwordstring (dus die md5-string) uit je database halen, dan krijg je precies dat wat er ook is ingezet. En dat kun je dan met strcmp weer vergelijken, strcmp moet dan 0 opleveren.
    pi_32970596
    oh hij deed t al
    ik denk dat ik nog ingelogd was

    md5(bla) creeert niet dezelfde waarde als md5(BLA)
    dus op die manier is het hoofdlettergevoelig.

    tx iig
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_32970633
    quote:
    Op zaterdag 10 december 2005 14:35 schreef Desdinova het volgende:

    md5(bla) creeert niet dezelfde waarde als md5(BLA)
    dus op die manier is het hoofdlettergevoelig.
    Da's logisch toch? "bla" en "BLA" zijn verschillende strings. Het zou heel wat makkelijker kraken worden als dat niet zo was.
      zaterdag 10 december 2005 @ 14:43:55 #189
    37634 wobbel
    Da WoBBeL King
    pi_32970816
    Hoe kan ik met PHP een bestand doorgeven?

    Ik heb blaat.php, en daar wil ik de inhoud van poepchinees.jpg in weergeven. Iets met filepassthrough() ofzo?
    pi_32970987
    quote:
    Op zaterdag 10 december 2005 14:43 schreef wobbel het volgende:
    Hoe kan ik met PHP een bestand doorgeven?

    Ik heb blaat.php, en daar wil ik de inhoud van poepchinees.jpg in weergeven. Iets met filepassthrough() ofzo?
    Readfile is waarschijnlijk het makkelijkst.
    pi_32971003
    echo '<a href="poepchinees.jpg">' ?

    Maar header() zal een stapje moeten zijn (hoe verder weet ik niet zo)
      zaterdag 10 december 2005 @ 14:51:38 #192
    37634 wobbel
    Da WoBBeL King
    pi_32971011
    quote:
    Op zaterdag 10 december 2005 14:50 schreef Light het volgende:

    [..]

    Readfile is waarschijnlijk het makkelijkst.
    readfile idd, ik wou het net posten hier...maar er is er nog 1tje volgensmij
    pi_32971098
    fread?

    ik heb een bestandje wat ws precies hetzelfde doet als wat de jouwes moet doen

    de phpfile wordt je plaatje zeg maar. en dan moet je dus de filetype headers meegeven
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_32971398
    quote:
    Op vrijdag 9 december 2005 02:27 schreef JeRa het volgende:
    Even een vraagje met betrekking tot security, of iig, het in stand houden daarvan.

    (...)
    Niemand die zijn licht kan laten schijnen over bovenstaande post?
    pi_32974018
    quote:
    Op vrijdag 9 december 2005 02:27 schreef JeRa het volgende:
    Even een vraagje met betrekking tot security, of iig, het in stand houden daarvan.

    Ik heb hier twee perfect samenwerkende servers staan die vanalles doen, en om dat te managen heb ik in PHP een tool gemaakt genaamd AAP, Ares Administrative Panel (Ares is de naam van de server die o.a. als webserver fungeert). Deze tool is interactief en maakt dus gebruik van STDIN om mijn input te verwerken en draait dus ook onder php-cli, met de rechten van root. Dit is omdat AAP in staat moet zijn user directories te maken en qua rechten goed te zetten, de Apache webserver moet kunnen laten reloaden, en nog veel meer. Dit is op het moment allemaal prima afgeschermd.

    Echter wil ik nu alles modulebased opbouwen waarbij ik voor iedere account incluis mezelf (de administrator) een webinterface biedt. Nu moet ik dus in staat zijn om via die webinterface hetzelfde te doen als via AAP, maar gezien PHP via Apache draait heeft het dus zo min mogelijk rechten (wat heel logisch is maar niet door elke webhoster in stand wordt gehouden - dat terzijde) waardoor dat niet mogelijk is. Ik heb dus een manier nodig om een veilige communicatie op te zetten tussen de webinterface en de 'backend' die als root-account aanpassingen aan beide servers doet.

    Qua scripten is het voor mij geen probleem dit veilig te doen, het gaat mij vooral om de globale manier waarop ik dit zou moeten doen ik had zelf al bedacht dat ik wellicht een backend kon schrijven die als server fungeert en verbindingen accepteert, de verbinding authenticeert en vervolgens bepaalde acties toelaat. Gebruikers moeten overigens straks zelf ook in staat zijn subdomeinen toe te voegen waar een Apache reload voor nodig is.
    Kort antwoord: Nee. Het kan veel veiliger.

    Iets standaard onder root draaien is niet goed, geef hem pas de rechten van root, of gebruik het pas wanneer die functies nodig zijn. Doe het niet meteen al. Echter heb je het al afgeschermd zeg je, dus naar het tweede punt

    Schrijf een backend applicatie die de rechten heeft van de user die je laat inloggen. Je php en linux logins zullen dus gelijk moeten zijn en de applicatie zal in iedereen zijn homedir moeten staan met zijn eigen rechten dus bijvoorbeeld:
    /home/piet/
    piet piet Run.sh

    /home/henk/
    henk henk Run.sh

    Zo kun je alles netjes afschermen wat ze wel en niet mogen doen, en mogelijk heb je zo zelfs het root account niet nodig, als je de administrator de minimale maximale rechten geeft die hij nodig heeft.

    Klinkt misschien wat warrig Maar hopelijk helpt het je
    This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
    pi_32974552
    quote:
    Op zaterdag 10 december 2005 17:51 schreef existenz het volgende:

    [..]

    Schrijf een backend applicatie die de rechten heeft van de user die je laat inloggen. Je php en linux logins zullen dus gelijk moeten zijn en de applicatie zal in iedereen zijn homedir moeten staan met zijn eigen rechten dus bijvoorbeeld:
    /home/piet/
    piet piet Run.sh

    /home/henk/
    henk henk Run.sh
    Hierbij komt een ietwat complexer geheel kijken.

    Alle userinformatie, inclusief informatie over quotas, webdirectories, e-mailaliassen, etc, etc, wordt opgeslagen in een centrale database. Het is natuurlijk geen goed idee om iedereen toegang te geven tot die gegevens, dus is er een aparte account die alleen dit werk afhandelt.

    De gebruikers kunnen zelf straks e-mailaliassen of subdomeinen aanmaken. Als ik dat onder hun account doe moeten ze ook het recht hebben om naam + wachtwoord van de account waarmee die informatie in de database kan worden gewijzigd te achterhalen --> weg veiligheid.

    Dus ik had zo bedacht dat alles via één systeem moet lopen waarbij de gebruikers niet de werking van het systeem kunnen achterhalen (immers, alle scripts en wachtwoorden zitten in de bestanden waar zowel de webserver als de accounts op de machine zelf niet bij kunnen). Zou ik niet een zooi aan bash-scriptjes het onderliggende werk kunnen doen (apache reloaden, etc) d.m.v. sudo?
    pi_32975301
    quote:
    Op zaterdag 10 december 2005 18:15 schreef JeRa het volgende:

    [..]

    Hierbij komt een ietwat complexer geheel kijken.

    Alle userinformatie, inclusief informatie over quotas, webdirectories, e-mailaliassen, etc, etc, wordt opgeslagen in een centrale database. Het is natuurlijk geen goed idee om iedereen toegang te geven tot die gegevens, dus is er een aparte account die alleen dit werk afhandelt.

    De gebruikers kunnen zelf straks e-mailaliassen of subdomeinen aanmaken. Als ik dat onder hun account doe moeten ze ook het recht hebben om naam + wachtwoord van de account waarmee die informatie in de database kan worden gewijzigd te achterhalen --> weg veiligheid.

    Dus ik had zo bedacht dat alles via één systeem moet lopen waarbij de gebruikers niet de werking van het systeem kunnen achterhalen (immers, alle scripts en wachtwoorden zitten in de bestanden waar zowel de webserver als de accounts op de machine zelf niet bij kunnen). Zou ik niet een zooi aan bash-scriptjes het onderliggende werk kunnen doen (apache reloaden, etc) d.m.v. sudo?
    Ja, dat doet ongeveer hetgene waar ik op doel, alleen kies jij voor een (misschien wel betere) oplossing waar het op 1 plaats gebeurd, maar de scripts dus meer rechten nodig hebben (denk ik, ik ken je model niet, en dat moet ook niet, anders had je het niet hoeven te bouwen ) of een lokale oplossing met ieg al meer onderhoud en mogelijk idd meer risico's.

    Maar jou keuze idd, wat ik zou kiezen weet ik niet. Daar weet ik te weinig van jouw systeem en omgeving over, maar de oplossing die je aandraagt vind ik zeker aannemelijk.
    This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
      zaterdag 10 december 2005 @ 20:43:20 #198
    65471 SkaterSam
    Lurking Galore
    pi_32978134
    Grmmbblll, op een of andere manier krijg ik nooit errors te zien, maar telkens een standaard blanke pagina, maar dat terzijde...

    Ik probeer een class te schrijven om een verbinding te maken met de database, maar ik krijg volgens de error.log van Apache de volgende fout:

    1PHP Parse error:  syntax error, unexpected T_OBJECT_OPERATOR in <<path naar document.php>> on line 37


    Maar ik snap niet wat er nou fout is...Dit is de code
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    class Db_functies {
    // enkele variabalen worden gedefinieerd hier...

        
    function Db_functies($user,$pw,$naam) {
            if (
    trim($user) == '') {
                
    this-&gt;fout('Er is geen gebruiker opgegeven'); //Dit is lijn 37!!!
            
    }
            if (
    trim($pw) == '') {
                
    this-&gt;fout('Er is geen wachtwoord opgegeven');
            }
            if (
    trim($naam) == '') {
                
    this-&gt;fout('Er is geen database opgegeven');
            }
            
            
    this-&gt;db_user = $user;
            
    this-&gt;db_pw = $pw;
            
    this-&gt;db_naam = $naam;
            
    this-&gt;c_db();
        }
    ?>


    De functie fout() zit even verderop in het bestand, maar de fout zit dus volgens de lijst van Parser Tokens op php.net in de -> (het pijltje) tussen this en fout.. Is er iets wat ik over het hoofd zie...?
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_32979229
    Je moet $this gebruiken en niet this
      zaterdag 10 december 2005 @ 21:25:07 #200
    65471 SkaterSam
    Lurking Galore
    pi_32979538
    Grrmmmbllll zal je altijd zien, zoiets simpels... danku
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_32979869
    quote:
    Op zaterdag 10 december 2005 21:25 schreef SkaterSam het volgende:
    Grrmmmbllll zal je altijd zien, zoiets simpels... danku
    PHP is bijna altijd de $ ervoor
    This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
      zaterdag 10 december 2005 @ 21:37:39 #202
    37634 wobbel
    Da WoBBeL King
    pi_32979892
    quote:
    Op zaterdag 10 december 2005 21:25 schreef SkaterSam het volgende:
    Grrmmmbllll zal je altijd zien, zoiets simpels... danku
    Dat soort dingen heb ik ook heel veel hoor schaam je niet
    * wobbel phpt er lekker op los nu


    Vergeet je PHPMyAdmin trouwens niet te updaten!! Zit groot security leak in!

    [ Bericht 5% gewijzigd door wobbel op 10-12-2005 21:45:21 ]
    pi_32981884
    quote:
    Op zaterdag 10 december 2005 20:43 schreef SkaterSam het volgende:
    Grmmbblll, op een of andere manier krijg ik nooit errors te zien, maar telkens een standaard blanke pagina, maar dat terzijde...
    Heb je wel display_errors = On staan in php.ini?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas zaterdag 10 december 2005 @ 22:53:01 #204
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32982064
    quote:
    Op zaterdag 10 december 2005 22:46 schreef SuperRembo het volgende:

    [..]

    Heb je wel display_errors = On staan in php.ini?
    Ik heb tijdens ontwikkeling altijd error_reporting(E_ALL); aanstaan, maar als ik een curly bracket vergeet krijg ik ook een lege page te zien en geen foutmelding
      zaterdag 10 december 2005 @ 22:54:41 #205
    65471 SkaterSam
    Lurking Galore
    pi_32982108
    quote:
    Op zaterdag 10 december 2005 22:53 schreef Swetsenegger het volgende:

    [..]

    Ik heb tijdens ontwikkeling altijd error_reporting(E_ALL); aanstaan, maar als ik een curly bracket vergeet krijg ik ook een lege page te zien en geen foutmelding
    Jup, dat heb ik dus ook ja, dus moet ik altijd de fouten uit de error.log lezen, verder niet zo'n probleem, wel een beetje onhandig
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_32982120
    quote:
    Op zaterdag 10 december 2005 22:46 schreef SuperRembo het volgende:

    [..]

    Heb je wel display_errors = On staan in php.ini?
    Dank, ik niet
    pi_32982556
    quote:
    Op zaterdag 10 december 2005 22:54 schreef SkaterSam het volgende:

    [..]

    Jup, dat heb ik dus ook ja, dus moet ik altijd de fouten uit de error.log lezen, verder niet zo'n probleem, wel een beetje onhandig
    weet iemand een leuke windows apache log file parser?
    zou ik wel handig vinden..
      zondag 11 december 2005 @ 16:21:22 #208
    37634 wobbel
    Da WoBBeL King
    pi_32991164
    Ok, komt ie dan...ik ben bezig met een Forum en het is circa 1½ jaar geleden dat ik met joins ofzo heb gewerkt in een query. Dat ik dus gegevens uit 2 tabellen haal dmv 1 query.

    Wat is het doel? Ik wil informatie uit 2 tabellen ophalen. Ik heb nu de tabel ForumTopics,waarmee ik een loop maak om alle topics uit te poepen. Opzich werkt dat prima. Nu heb ik ook een tabel genaamd ForumMessages met alle berichten (ook het eerste bericht). Nu wil ik dus de datum van het laatste geplaatste bericht uit ForumMessages weergeven in de loop van ForumTopics. Dus achter elke topic wanneer er voor het laatst gereageerd is.
    Ook wil ik het aantal records uit ForumMessages weten bij het bijbehorende IdTopic uit de loop.

    M'n algemene vraag is dus: Kan dit met minder query's? (alleen als het sneller is)
    Wat heb ik nu? Ik heb het nu dmv 3 aparte query's. Lekker brak dus.
    Zie mijn code hieronder:

    http://194.126.173.14/~xostnl/tccl/fokcode.phps
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <?php
    php
    session_start
    ();
    /* Load main library Files */
    require_once                                    ("lib/htconfig.php");
    require_once(                                    
    $GLOBALS['SITE']['LibPath'] . "/main.php");

    if(!
    $_GET['sid'])
    {

        
    $error-&gt;Report                                ("Er is geen (sub)forum ID meegegeven. Bewerking is afgebroken.");

    }
    else
    {

        
    $MySQL_Fora_Select                            = "SELECT IdForumSubCat, ForumCatId, Titel FROM ForumSubCat WHERE IdForumSubCat = '" . addslashes($_GET['sid']) . "' LIMIT 1";
        
    $MySQL_Fora_Query                            = mysql_query($MySQL_Fora_Select) or die($error-&gt;ReportMysqlError(__FILE__, $MySQL_Fora_Select ,__LINE__));
        
    $MySQL_Fora_Numrow                            = mysql_num_rows($MySQL_Fora_Query);
        
        if(
    $MySQL_Fora_Numrow &gt;= 1)
        {
        
            
    ## Select the main forum Titel and Image
            
    $MySQL_Fora_Assoc                        = mysql_fetch_assoc($MySQL_Fora_Query);

            
    $MySQL_Forum_Select                        = "SELECT IdForumCat, Titel, TitelImage FROM ForumCat WHERE IdForumCat = '" . addslashes($MySQL_Fora_Assoc['ForumCatId']) . "' LIMIT 1";
            
    $MySQL_Forum_Query                        = mysql_query($MySQL_Forum_Select) or die(mysql_error());
            
    $MySQL_Forum_Assoc                        = mysql_fetch_assoc($MySQL_Forum_Query);
            
            
    $tml-&gt;RegisterVar                        ("CONTENTTOP", $MySQL_Forum_Assoc['TitelImage']);
            
    $tml-&gt;RegisterVar                        ("FORUMTITLE", $MySQL_Forum_Assoc['Titel']);
            
    $tml-&gt;RegisterVar                        ("SUBFORUMTITLE", $MySQL_Fora_Assoc['Titel']);
            
    ##
        
            
    $MySQL_Topic_Select                        = "SELECT IdTopic, UserId, Titel, Type FROM ForumTopics WHERE SubCatId = '" . addslashes($_GET['sid']) . "' ORDER BY Date DESC";
            
    $MySQL_Topic_Query                        = mysql_query($MySQL_Topic_Select) or die(mysql_error());
            
    $MySQL_Topic_Numrow                        = mysql_num_rows($MySQL_Topic_Query);
                    
            while(
    $Topic = mysql_fetch_assoc($MySQL_Topic_Query))
            {                
                
                
    $MySQL_Message_Select                = "SELECT TopicId, Datum FROM ForumMessages WHERE TopicId = '" . $Topic['IdTopic'] . "' ORDER BY Datum DESC LIMIT 1";
                
    $MySQL_Message_Query                = mysql_query($MySQL_Message_Select) or die(mysql_error() . " op regel: " . __LINE__ . "<br />De betreffende query:" . $MySQL_Message_Select);
                
    $MySQL_Message_Assoc                = mysql_fetch_assoc($MySQL_Message_Query);            
                
    $LastPostInTopic                    = $MySQL_Message_Assoc['Datum'];
                
                
    $MySQL_Reacties_Select                = "SELECT COUNT(IdMessage) FROM ForumMessages WHERE TopicId = '" . $Topic['IdTopic'] . "'";
                
    $MySQL_Reacties_Query                = mysql_query($MySQL_Reacties_Select);
                
    $MySQL_Reacties_Result                = mysql_result($MySQL_Reacties_Query, 0);
                            
                
    $LoopData         = array    (
                
                                                    
    "TITLE"                =&gt; $Topic['Titel'],
                                                    
    "IDTOPIC"            =&gt; $Topic['IdTopic'],
                                                    
    "USERID"            =&gt; $main-&gt;User_Name($Topic['UserId'], 1),
                                                    
    "REACTIES"            =&gt; $MySQL_Reacties_Result,
                                                    
    "LASTPOST"            =&gt; date("d-m-Y H:i:s", $LastPostInTopic),
                                                                        
                                        );
            
                
                
    $i++;
                
                
    /* Registreren van een Loop */
                
    $tml-&gt;RegisterLoop("TOPIC",$i,$LoopData);
                    
            }
        
            
    /* Load Header file */
            
    $tml-&gt;LoadFromFile                        ("pages/overall_header");
            
    $tml-&gt;Parse();
            
            
    /* Load Page Content */
            
    $tml-&gt;LoadFromFile                        ("pages/forum_subcat");
            
    $tml-&gt;Parse();
            
            
    /* Load Footer file */
            
    $tml-&gt;LoadFromFile                        ("pages/overall_footer");
            
    $tml-&gt;Parse();
            
            
    /* Output Pages */
            
    $tml-&gt;Output();
            
        }
        else
        {
        
            
    $error-&gt;Report                            ("Het (sub)forum dat je probeert op te vragen is niet gevonden.");
        
        }
        
    }
    ?>
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 20:15:58 #209
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32996630
    Korte vraag,

    zoals jullie weten ben ik met een webshop bezig.
    Het winkelwagentje is een array, waarbij de key het produkt ID is en de value het aantal.

    Nu moet ik deze gegevens op gaan slaan in de db. Zal ik simpelweg de array opslaan in een kolom? Het lijkt me een beetje 'vreemde' oplossing eigenlijk, maar aan de andere kant lijkt het me niet handig wanneer ik elk produkt van de bestelling afzonderlijk in een kolom of rij op ga slaan en vervolgens nog iets van een koppeltable moet maken voor de aantallen.
    pi_32997368
    quote:
    Op zondag 11 december 2005 20:15 schreef Swetsenegger het volgende:
    Korte vraag,

    zoals jullie weten ben ik met een webshop bezig.
    Het winkelwagentje is een array, waarbij de key het produkt ID is en de value het aantal.

    Nu moet ik deze gegevens op gaan slaan in de db. Zal ik simpelweg de array opslaan in een kolom? Het lijkt me een beetje 'vreemde' oplossing eigenlijk, maar aan de andere kant lijkt het me niet handig wanneer ik elk produkt van de bestelling afzonderlijk in een kolom of rij op ga slaan en vervolgens nog iets van een koppeltable moet maken voor de aantallen.
    Dat laatste is dus wel de juiste manier, het gaat hier niet om "handig", want misschien gaat het opslaan zo wel sneller, maar het ophalen wel 10x zo traag!
    This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
    pi_32997393
    quote:
    Op zondag 11 december 2005 20:15 schreef Swetsenegger het volgende:
    Korte vraag,

    zoals jullie weten ben ik met een webshop bezig.
    Het winkelwagentje is een array, waarbij de key het produkt ID is en de value het aantal.

    Nu moet ik deze gegevens op gaan slaan in de db. Zal ik simpelweg de array opslaan in een kolom? Het lijkt me een beetje 'vreemde' oplossing eigenlijk, maar aan de andere kant lijkt het me niet handig wanneer ik elk produkt van de bestelling afzonderlijk in een kolom of rij op ga slaan en vervolgens nog iets van een koppeltable moet maken voor de aantallen.
    Je hebt alleen een tabel nodig (inhoud van de winkelwagen) die de gebruiker koppelt aan de gekozen producten en het aantal dat daarbij hoort. Oftwel, een userid, productid en number (aantal producten).

    Mocht je het toch als array willen opslaan, dan kan dat het makkelijkst via serialize()
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 20:34:03 #212
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32997394
    quote:
    Op zondag 11 december 2005 20:33 schreef existenz het volgende:

    [..]

    Dat laatste is dus wel de juiste manier, het gaat hier niet om "handig", want misschien gaat het opslaan zo wel sneller, maar het ophalen wel 10x zo traag!
    Hoezo?
    Een array uit een kolom trekken kost geen zeeen van tijd dacht ik zo
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 20:34:57 #213
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32997429
    quote:
    Op zondag 11 december 2005 20:34 schreef JeRa het volgende:

    [..]

    Je hebt alleen een tabel nodig (inhoud van de winkelwagen) die de gebruiker koppelt aan de gekozen producten en het aantal dat daarbij hoort. Oftwel, een userid, productid en number (aantal producten).

    Mocht je het toch als array willen opslaan, dan kan dat het makkelijkst via serialize()
    De tabel moet dan wel userid, product id, order id en number worden.
    Anders weet ik nooit welke rij bij welke bestelling hoort en een klant kan meerdere bestellingen plaatsen.

    Hmz, zit ik weer met het ophogen van order_id. Of ik moet me in 'unique' mbt mysql gaan verdiepen. *zucht*.
    pi_32997718
    quote:
    Op zondag 11 december 2005 20:34 schreef Swetsenegger het volgende:

    [..]

    De tabel moet dan wel userid, product id, order id en number worden.
    Anders weet ik nooit welke rij bij welke bestelling hoort en een klant kan meerdere bestellingen plaatsen.

    Hmz, zit ik weer met het ophogen van order_id. Of ik moet me in 'unique' mbt mysql gaan verdiepen. *zucht*.
    Ophogen van order_id?

    Als een klant een nieuwe bestelling doet maak je (neem ik aan) een nieuwe entry in de tabel met orders. De id van die tabel is dan toch gewoon AUTO_INCREMENT? Vervolgens plaats je in de tabel met de inhoud van een bestelling de id van die bestelling
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 21:06:20 #215
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32998301
    quote:
    Op zondag 11 december 2005 20:44 schreef JeRa het volgende:

    [..]

    Ophogen van order_id?

    Als een klant een nieuwe bestelling doet maak je (neem ik aan) een nieuwe entry in de tabel met orders. De id van die tabel is dan toch gewoon AUTO_INCREMENT? Vervolgens plaats je in de tabel met de inhoud van een bestelling de id van die bestelling
    Je geeft als voorbeeld een tabel met de volgende kolommen:

    user_id (de klant welke de bestelling doet)
    product_id (het bestelde product)
    number (het aantal van het bestelde product)

    Dit betekent dus voor ELK product een rij en een verhoogd id van deze tabel, laten we die voor het gemak order_table_id noemen

    Maar een klant kan toch meerdere produkten bestellen in 1 keer. En een klant kan een maand later weer produkten bestellen, zelfs dezelfde als een maand geleden.

    Dus ik moet een kolom toevoegen met order_id. En elke keer als een klant een bestelling doet, moet ik dat order_id genereren en bij elk besteld product in de order tabel schrijven toch...

    1
    2
    3
    4
    5
    order_table_id     user_id     order_id     product_id     number
    1                  1           1            1              2
    2                  1           1            4              1
    3                  2           2            3              1
    4                  1           3            1              1


    In dit voorbeeld is 1 en 2 één bestelling van 1 klant
    3 is een bestelling van een andere klant
    4 is wederom een bestelling van klant 1, maar WEL een nieuwe, bv een maand later.

    Bij elke klant welke een bestlling doet, moet ik dus een unieke order_id hebben welke niet gewoon auto increment kan zijn in dit voorbeeld.

    -edit- Ow wacht ff, jij bedoeld dat order_id in dit geval uit een tabel orders komt en dat bovenstaande tabel order inhoud is.

    [ Bericht 2% gewijzigd door Swetsenegger op 11-12-2005 21:18:47 ]
    pi_32998625
    Ik snap niet welk probleem je hebt

    Je hebt een tabel users met daarin de klantennummers. FK = userid.
    Je hebt een tabel orders met daarin de bestellingen. FK = orderid.
    Je hebt een tabel products met daarin de producten. FK = productid
    Je hebt een tabel winkelwagen (ofzo) met daarin de koppeling van bovenstaande drie tabellen én het aantal producten. Die ziet er dan toch als volgt uit?

    id --> unieke verwijzing naar een bestelling in een winkelwagen (AUTO_INCREMENT PRIMARY KEY)
    userid --> verwijzing naar klant (mag ook vaker voorkomen)
    orderid --> verwijzing naar order. De 'id'-kolom van de tabel 'orders' is AUTO_INCREMENT
    productid --> verwijzing naar het product
    number --> aantal producten dat gewenst is

    Wat is het probleem hiermee?
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 21:20:43 #217
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32998696
    quote:
    Op zondag 11 december 2005 21:18 schreef JeRa het volgende:
    Ik snap niet welk probleem je hebt

    Je hebt een tabel users met daarin de klantennummers. FK = userid.
    Je hebt een tabel orders met daarin de bestellingen. FK = orderid.
    Je hebt een tabel products met daarin de producten. FK = productid
    Je hebt een tabel winkelwagen (ofzo) met daarin de koppeling van bovenstaande drie tabellen én het aantal producten. Die ziet er dan toch als volgt uit?

    id --> unieke verwijzing naar een bestelling in een winkelwagen (AUTO_INCREMENT PRIMARY KEY)
    userid --> verwijzing naar klant (mag ook vaker voorkomen)
    orderid --> verwijzing naar order. De 'id'-kolom van de tabel 'orders' is AUTO_INCREMENT
    productid --> verwijzing naar het product
    number --> aantal producten dat gewenst is

    Wat is het probleem hiermee?
    Zie de edit.
    Het ontging me even dat je een extra tabel bedoelde:
    orderid --> verwijzing naar order. De 'id'-kolom van de tabel 'orders' is AUTO_INCREMENT

    Ok, even pragmatisch. Klant pleurt van alles in zijn winkelwagen
    Gaat naar bestellen.
    Vult zijn klantgegevens in, die gaan in de user tabel.
    Ik zet zijn user_id in de order tabel.
    Ik zet user_id, order_id, product_id en number voor elk besteld product in de cart tabel.

    Als ik de history van een klant wil laten bekijken door de beheerder, toon ik de order tabel WHERE user_id == de gekozen user.

    Vervolgens kan ik op de order_id klikken om de specifieke bestelling in zijn geheel uit de cart tabel te trekken.
    pi_32999071
    Mja, dat gaat toch werken? sorry dat ik even niet duidelijk aangaf dat ik het over een nieuwe koppeltabel had
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 21:43:09 #219
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32999418
    quote:
    Op zondag 11 december 2005 21:32 schreef JeRa het volgende:
    Mja, dat gaat toch werken? sorry dat ik even niet duidelijk aangaf dat ik het over een nieuwe koppeltabel had
    Ja dat gaat perfect werken
    Ik moet nog wel even goed nadenken, want orders moeten nogwel via mail bevestigt worden dus in de order tabel komt nog een activation kolom.

    Indien niet geactiveerd moet ik dus wel de order EN de inhoud wissen.
    pi_32999600
    quote:
    Op zondag 11 december 2005 21:43 schreef Swetsenegger het volgende:

    [..]

    Ja dat gaat perfect werken
    Ik moet nog wel even goed nadenken, want orders moeten nogwel via mail bevestigt worden dus in de order tabel komt nog een activation kolom.
    Er komt natuurlijk nog veel meer bij kijken; ik noem even het tijdstip van aanmaken of het IP-adres van de klant. Maar dat is aan jou
    quote:
    Indien niet geactiveerd moet ik dus wel de order EN de inhoud wissen.
    Dat kan met één DELETE door te joinen of meerdere DELETEs die je binnen een LOCK TABLES / UNLOCK TABLES zet.
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 21:56:57 #221
    1972 Swetsenegger
    Egocentrische Narcist
    pi_32999852
    quote:
    Op zondag 11 december 2005 21:49 schreef JeRa het volgende:

    [..]

    Er komt natuurlijk nog veel meer bij kijken; ik noem even het tijdstip van aanmaken of het IP-adres van de klant. Maar dat is aan jou
    Ja, dat heb ik allemaal op een rijtje ivm tweedehandsboek, waarbij gebruikers ook hun aanmelding moeten bevestigen. Er moet dus ook een datum/tijd in de order tabel
    quote:
    Dat kan met één DELETE door te joinen of meerdere DELETEs die je binnen een LOCK TABLES / UNLOCK TABLES zet.
    Bedankt voor de tip, daar ga ik mee stoeien.

    Andere vraag.
    Klanten stoppen het een en ander in de winkelwagen en gaan bestellen. Indien ze al eerder besteld hebben kunnen ze vervolgens inloggen zodat de voorgaande gegevens direkt bekend zijn. Indien het een nieuwe klant is, moet deze z'n NAW gegevens invullen.

    Nu wil ik op deze NAW gegevens pagina nadat een en ander succesvol is ingevuld en naar db is geschreven de klant direkt automatisch inloggen. Maar vanuit PHP Kan ik volgens mij niet automatisch de juiste gegevens (inlognaam en wachtwoord welke bij aanmelden is opgegeven) POSTen naar inlog.php. Uiteraard kan het wel met GET, maar dat lijkt me niet zo veilig
    pi_32999982
    quote:
    Op zondag 11 december 2005 21:56 schreef Swetsenegger het volgende:
    Nu wil ik op deze NAW gegevens pagina nadat een en ander succesvol is ingevuld en naar db is geschreven de klant direkt automatisch inloggen. Maar vanuit PHP Kan ik volgens mij niet automatisch de juiste gegevens (inlognaam en wachtwoord welke bij aanmelden is opgegeven) POSTen naar inlog.php. Uiteraard kan het wel met GET, maar dat lijkt me niet zo veilig
    Dat ligt aan je inlogsysteem. Stel, je hebt een sessie-variabele genaamd 'userid' waarvoor geldt dat als userid groter is dan 0 de user is ingelogd als klant nummer #userid. Dan kun je na het toevoegen van de NAW-gegevens in de usertabel de primary key ophalen (mysql_insertid) en die in je sessie-variabele zetten. Voila, user ingelogd
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 22:04:18 #223
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33000161
    quote:
    Op zondag 11 december 2005 22:00 schreef JeRa het volgende:

    [..]

    Dat ligt aan je inlogsysteem. Stel, je hebt een sessie-variabele genaamd 'userid' waarvoor geldt dat als userid groter is dan 0 de user is ingelogd als klant nummer #userid. Dan kun je na het toevoegen van de NAW-gegevens in de usertabel de primary key ophalen (mysql_insertid) en die in je sessie-variabele zetten. Voila, user ingelogd
    Maar dat is een klein risico als er meerdere gebruikers min of meer teglijk aanmelden. mysql_insertid kan dan hoger zijn dan degene welke ik voor deze klant bedoel toch?
    Of ik moet met lock table gaan werken natuurlijk.
    pi_33000208
    quote:
    Op zondag 11 december 2005 22:04 schreef Swetsenegger het volgende:

    [..]

    Maar dat is een klein risico als er meerdere gebruikers min of meer teglijk aanmelden. mysql_insertid kan dan hoger zijn dan degene welke ik voor deze klant bedoel toch?
    Of ik moet met lock table gaan werken natuurlijk.
    Nope, mysql_insert_id() geeft de waarde terug van de laatste INSERT-operatie van de huidige thread. Zolang je users niet weten hoe ze op de webserver threads moeten overnemen is dat vrij veilig

    Nu lees ik op die pagina ook dat je LAST_INSERT_ID kunt gebruiken dat is eigenlijk wel heel handig, gegeven dat dat ook de laatste insert id van de huidige thread is.

    edit: nee dus.
    quote:
    Note: The value of the MySQL SQL function LAST_INSERT_ID() always contains the most recently generated AUTO_INCREMENT value, and is not reset between queries.
    mysql_insert_id() it is dus
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 22:11:27 #225
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33000412
    quote:
    Op zondag 11 december 2005 22:05 schreef JeRa het volgende:

    [..]

    Nope, mysql_insert_id() geeft de waarde terug van de laatste INSERT-operatie van de huidige thread. Zolang je users niet weten hoe ze op de webserver threads moeten overnemen is dat vrij veilig

    Nu lees ik op die pagina ook dat je LAST_INSERT_ID kunt gebruiken dat is eigenlijk wel heel handig, gegeven dat dat ook de laatste insert id van de huidige thread is.

    edit: nee dus.
    [..]

    mysql_insert_id() it is dus
    Het verschil tussen beide ontging me even, maar ik lees dat last_insert_id niet gereset wordt tussen queries en dus niet thread gerelateerd is. Begrijp ik het zo goed?

    Maar ik kan dus save mysql_insert_id gebruiken direkt na de query welke de klantgegevens in de DB zet.
    pi_33000592
    quote:
    Op zondag 11 december 2005 22:11 schreef Swetsenegger het volgende:

    [..]

    Het verschil tussen beide ontging me even, maar ik lees dat last_insert_id niet gereset wordt tussen queries en dus niet thread gerelateerd is. Begrijp ik het zo goed?
    Klopt.
    quote:
    Maar ik kan dus save mysql_insert_id gebruiken direkt na de query welke de klantgegevens in de DB zet.
    Klopt ook.
    pi_33001025
    quote:
    Op zondag 11 december 2005 21:18 schreef JeRa het volgende:
    id --> unieke verwijzing naar een bestelling in een winkelwagen (AUTO_INCREMENT PRIMARY KEY)
    userid --> verwijzing naar klant (mag ook vaker voorkomen)
    orderid --> verwijzing naar order. De 'id'-kolom van de tabel 'orders' is AUTO_INCREMENT
    productid --> verwijzing naar het product
    number --> aantal producten dat gewenst is
    De combinatie orderid, productid is uniek, dus die kan je als PK gebruiken.
    Ik neem aan dat in de tabel met bestellingen bij een order een userid staat. Dan is de kolom userid in deze tabel overbodig.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 22:33:47 #228
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33001141
    quote:
    Op zondag 11 december 2005 22:30 schreef SuperRembo het volgende:

    [..]

    De combinatie orderid, productid is uniek, dus die kan je als PK gebruiken.
    Ik neem aan dat in de tabel met bestellingen bij een order een userid staat. Dan is de kolom userid in deze tabel overbodig.
    PK?

    Ja ik had me inderdaad al bedacht dat user_id ook nog een keer in de inhoud tabel toevoegen ietwat overdreven is die moet bestaan uit inhoud_id, order_id, product_id en number
    pi_33001369
    quote:
    Op zondag 11 december 2005 22:30 schreef SuperRembo het volgende:

    [..]

    De combinatie orderid, productid is uniek, dus die kan je als PK gebruiken.
    Ik neem aan dat in de tabel met bestellingen bij een order een userid staat. Dan is de kolom userid in deze tabel overbodig.
    Klopt helemaal. Over die primary key, ikzelf vind het altijd handig om in elke tabel een unieke waarde te hebben die ik kan toekennen aan elke entry, vandaar ook als je nog een koppeling wilt leggen tussen een product uit een bestelling en iets anders is het handig als je niet met twee variabelen hoeft te klooien.
    pi_33001434
    quote:
    Op zondag 11 december 2005 22:33 schreef Swetsenegger het volgende:

    [..]

    PK?
    Primary Key.

    FK is Foreign Key.
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 23:20:24 #231
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33002649
    quote:
    Op zondag 11 december 2005 22:42 schreef Light het volgende:

    [..]

    Primary Key.

    FK is Foreign Key.
    Nav JeRa begreep ik 'm

    Simpele vraag,
    Wanneer ik een UPDATE query uitvoer met data welke gelijk is aan de huidige data, krijg je een sql error.

    Is die error eenvoudig op te vangen en te vervangen door een specifieke string?
    pi_33002718
    Huh? Wat voor query doe je dan?
      FOK!-Schrikkelbaas zondag 11 december 2005 @ 23:26:31 #233
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33002845
    quote:
    Op zondag 11 december 2005 23:22 schreef Light het volgende:
    Huh? Wat voor query doe je dan?
    Ik niets , maar ik heb klantgegevens. En als klanten op edit drukken, vul ik de gegevens al voor ze in in het formulier. Maar als ze vervolgens op submit rammen zonder iets te veranderen, ga ik dus een UPDATE query draaien met dezelfde gegevens als de huidige. Dat geeft een sql error/notice.
    pi_33002939
    MySQL (phpmyadmin) geeft bij mij gewoon een melding dat er 0 rijen zijn aangepast. Geen foutmeldingen ofzo.
    pi_33003167
    Hier doet ie dat ook niet. Wat is de exacte error die je van MySQL krijgt?
    pi_33003304
    quote:
    Op zondag 11 december 2005 23:30 schreef Light het volgende:
    MySQL (phpmyadmin) geeft bij mij gewoon een melding dat er 0 rijen zijn aangepast. Geen foutmeldingen ofzo.
    Hmmmz. Dat is weer zo'n vaag iets van MySQL
    Als je dus 2x het statement "UPDATE MyTable SET name = 'Foo' WHERE id = 1" uitvoert, dat krijg je de eerste keer affected rows = 1, maar daarna affected rows = 0
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33003395
    quote:
    Op zondag 11 december 2005 23:43 schreef SuperRembo het volgende:

    [..]

    Hmmmz. Dat is weer zo'n vaag iets van MySQL
    Als je dus 2x het statement "UPDATE MyTable SET name = 'Foo' WHERE id = 1" uitvoert, dat krijg je de eerste keer affected rows = 1, maar daarna affected rows = 0
    MySQL redeneert dat als er geen velden worden aangepast, dat er dan ook geen rijen worden aangepast. En het schijnt sneller te zijn om niet opnieuw te schrijven als de waarde voor en na de update gelijk is. Klinkt op zich ook nog wel logisch, ergens
    pi_33003442
    quote:
    Op zondag 11 december 2005 23:43 schreef SuperRembo het volgende:

    [..]

    Hmmmz. Dat is weer zo'n vaag iets van MySQL
    Als je dus 2x het statement "UPDATE MyTable SET name = 'Foo' WHERE id = 1" uitvoert, dat krijg je de eerste keer affected rows = 1, maar daarna affected rows = 0
    Het kost veel minder tijd om zo'n waarde niet weg te schrijven (indices hoeven dan ook niet bijgewerkt te worden, query/block cache kan blijven bestaan, etc). Echter zou het wel wat netter zijn als affected rows 1 teruggaf ja
    pi_33003628
    quote:
    Op zondag 11 december 2005 23:46 schreef Light het volgende:

    [..]

    MySQL redeneert dat als er geen velden worden aangepast, dat er dan ook geen rijen worden aangepast. En het schijnt sneller te zijn om niet opnieuw te schrijven als de waarde voor en na de update gelijk is. Klinkt op zich ook nog wel logisch, ergens
    Je moet dan wel eerst de oude en de nieuwe gegevens vergelijken, dat kost ook tijd.

    Het lijkt me geen standaard gedrag. Is dat is MySQL 5 ook zo?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33003863
    quote:
    Op zondag 11 december 2005 23:54 schreef SuperRembo het volgende:

    [..]

    Je moet dan wel eerst de oude en de nieuwe gegevens vergelijken, dat kost ook tijd.

    Het lijkt me geen standaard gedrag. Is dat is MySQL 5 ook zo?
    Ja (heb het hier draaien). Weliswaar niet in de strict-modus, misschien dat dat wat uitmaakt?
    pi_33003897
    Wie gebruikt er eik weleens bij sql "replace" ?
    pi_33003979
    quote:
    Op maandag 12 december 2005 00:05 schreef Ro�a� het volgende:
    Wie gebruikt er eik weleens bij sql "replace" ?
    Ik. En eigenlijk moeten die herschreven worden, ze kunnen best zwaar worden voor de server (die het toch al niet makkelijk heeft). En nee, die queries gooi ik hier niet neer
    pi_33004157
    quote:
    Op maandag 12 december 2005 00:05 schreef Ro�a� het volgende:
    Wie gebruikt er eik weleens bij sql "replace" ?
    Ik niet. Maar even gelezen in de documentation, dan worden alle dubbele rijen gedelete en opnieuw geinsert met een nieuwe primary key. Dat moet je niet te vaak doen op een grote tabel
    pi_33004505
    quote:
    Op maandag 12 december 2005 00:15 schreef JeRa het volgende:

    [..]

    Ik niet. Maar even gelezen in de documentation, dan worden alle dubbele rijen gedelete en opnieuw geinsert met een nieuwe primary key. Dat moet je niet te vaak doen op een grote tabel
    replace into mytable (id, name) values (1, "test")
    Dat levert een 1 affected row op als je nog geen rij hebt met id=1, en anders 2. Ik ga er dan dus wel even vanuit dat id de PK is.
    pi_33012020
    af en toe laat ik het een en ander uit een database echoen in een tabel. komt ook best vaak voor dat ik die tabel maar 3 td's breed wil, en de volgende 3 in een rij daaronder komen, de drie daarna weer daaronder etc.

    dit vang ik momenteel op door php te laten tellen. per while doet hij $nr + 1;, waardoor er bij de 3e een waarde van 3 komt en de rij wordt afgebroken door een ander te laten echoen en een nieuwe wordt begonnen. daarna wordt $nr weer teruggezet op 0 zodat de riedel weer van voor af aan begint.

    is dit niet wat makkelijker en netter af te vangen?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_33012286
    Zijn de cellen allemaal even hoog?
    pi_33012364
    mja zijn wel even hoog.

    ik zit net te denken aan een float.. als ik ze allemaal een float left meegeef, en ze per stuk in een div zet ofzo met aangegeven waardes, heb ik waarschijnlijk de hele tabel niet nodig. misschien een omringende tabel of div om de totale breedte aan te geven. eensch?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_33012388
    Jups, daar zat ik ook aan te denken idd.
    pi_33016261
    Vraagje:

    ik heb een site waarop mensen dingen kunnen kopen (soort webwinkel) en mensen kunnen betalen via CreditCard of eenmalige incasso. De betalingen worden geregeld via een Payment Service Provider, dus daar heb ik geen zorgen om.

    Maar ik moet de gegevens van de bestelling naar de PSP toe sturen. Als voorbeeld geven zij een HTML pagina met daarin een FORM waarin bedrag, ordernummer, enzovoorts staan. Alles wordt vervolgens gepostnaar een HTTPS geval.

    Ik wil nu vanuit een PHP bestand ook die POST kunnen uitvoeren. Dus dat ik de headers naar mijn PSP stuur. Ik had zelf het volgende gemaakt gejat:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $url
    = "https://[psp]/[psp].php";
    $host = substr($url, 0, strpos($url, "/"));
    $uri = strstr($url, "/");
    $reqbody = "";
          foreach(
    $data as $key=&gt;$val) {
              if (!empty(
    $reqbody)) $reqbody.= "&";
          
    $reqbody.= $key."=".urlencode($val);
          }
    $contentlength = strlen($reqbody);
    $reqheader =  "Location: $url\r\n".
        
    "POST $uri HTTPS/1.1\r\n".
        
    "Host: ssl://$host\n". "User-Agent: PostIt\r\n".
        
    "Content-Type: application/x-www-form-urlencoded\r\n".
        
    "Content-Length: $contentlength\r\n\r\n".
        
    "$reqbody\r\n";
    header($reqheader);
    ?>


    Maar dit werkt niet helemaal goed, want de data is niet SSL versleuteld enzo. Dus m'n PSP accepteerd het niet. Nu las ik ergens dat je ook gebruik kon maken van cURL, maar ik heb geen flauw idee hoe ik dat kan doen. Kan iemand daarmee helpen?

    [ Bericht 11% gewijzigd door HuHu op 12-12-2005 15:54:23 ]
      FOK!-Schrikkelbaas maandag 12 december 2005 @ 18:46:37 #250
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33021760
    Heeft je PSP geen kant en klaar php script dan?
    pi_33022129
    quote:
    Op maandag 12 december 2005 18:46 schreef Swetsenegger het volgende:
    Heeft je PSP geen kant en klaar php script dan?
    Helaas niet en de support afdeling was vandaag niet aanwezig. Maar ik ga zeker contact met ze opnemen om dit te overleggen. Het enige kant-en-klare 'script' wat ze aanboden was een HTML pagina. En dat is niet echt zo netjes, als je gebruikers eerst op een lege pagina komen alwaar ze een knop moeten indrukken. Ik wil ze gewoon direct doorverwijzen naar de PSP. Het is dan ook niet mogelijk voor de wat slimmere mensen om bijvoorbeeld het bedrag aan te passen.
      FOK!-Schrikkelbaas maandag 12 december 2005 @ 19:02:12 #252
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33022327
    Maar je hebt die HTML page toch? Wat staat daar in dan?
      FOK!-Schrikkelbaas maandag 12 december 2005 @ 19:10:59 #253
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33022654
    quote:
    Op zondag 11 december 2005 23:30 schreef Light het volgende:
    MySQL (phpmyadmin) geeft bij mij gewoon een melding dat er 0 rijen zijn aangepast. Geen foutmeldingen ofzo.

    Als je checked op effected_rows==1 krijg je een melding terug...

    Mijn fout.
    pi_33022781
    In die HTML page staan alle benodigde variabelen (ordernummer, bedrag, enzovoorts) als hidden FORM fields. En die worden, zodra je op de knop drukt, gepost naar een https server waar vervolgens de betaling wordt afgehandeld en de gebruiker z'n creditcard gegevens invuld.

    Het gaat nu dus zo:
    Gebruiker kiest product en vult ons bestelformulier in.
    Mijn PHP script met database handelingen en bevestigingmailtjes
    Scherm met: druk op de knop om te betalen
    Betalen bij de PSP

    Maar ik wil dat nutteloze tussenscherm eruit hebben door de variabelen die daarin staan direct vanuit mijn PHP script naar de server van de PSP te posten. Maar dat moet via SSL, en ik weet niet hoe dat moet.
      FOK!-Schrikkelbaas maandag 12 december 2005 @ 19:28:12 #255
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33023332
    quote:
    Op maandag 12 december 2005 19:14 schreef HuHu het volgende:
    In die HTML page staan alle benodigde variabelen (ordernummer, bedrag, enzovoorts) als hidden FORM fields. En die worden, zodra je op de knop drukt, gepost naar een https server waar vervolgens de betaling wordt afgehandeld en de gebruiker z'n creditcard gegevens invuld.

    Het gaat nu dus zo:
    Gebruiker kiest product en vult ons bestelformulier in.
    Mijn PHP script met database handelingen en bevestigingmailtjes
    Scherm met: druk op de knop om te betalen
    Betalen bij de PSP

    Maar ik wil dat nutteloze tussenscherm eruit hebben door de variabelen die daarin staan direct vanuit mijn PHP script naar de server van de PSP te posten. Maar dat moet via SSL, en ik weet niet hoe dat moet.
    Nu post dat HTML scherm toch naar de PSP? Dan moet er in die HTML file toch aan de submit knop een CGI of ander soortig script hangen welke die verbinding opzet.
    Je kan in je PHP form toch gewoon dezelfde action gebruiken als nu in dat HTML form?
    pi_33023656
    quote:
    Op maandag 12 december 2005 19:28 schreef Swetsenegger het volgende:

    [..]

    Nu post dat HTML scherm toch naar de PSP? Dan moet er in die HTML file toch aan de submit knop een CGI of ander soortig script hangen welke die verbinding opzet.
    Je kan in je PHP form toch gewoon dezelfde action gebruiken als nu in dat HTML form?
    Dit is de FORM actie:

    1<form method="post" action="https://multipay.net/transaction/mpmain.php">


    Hij post dus naar een beveiligde server. Nu wil ik met PHP naar die beveiligde server posten. Maar hoe versleutel ik mijn variabelen en dergelijke, zodat de server ze accepteerd.
      FOK!-Schrikkelbaas maandag 12 december 2005 @ 20:08:49 #257
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33024607
    quote:
    Op maandag 12 december 2005 19:38 schreef HuHu het volgende:

    [..]

    Dit is de FORM actie:
    [ code verwijderd ]

    Hij post dus naar een beveiligde server. Nu wil ik met PHP naar die beveiligde server posten. Maar hoe versleutel ik mijn variabelen en dergelijke, zodat de server ze accepteerd.
    Hoe versleutelt die HTML ze?
    Ik bedoel er veranderd toch niets? Die html POST toch dezelfde data als wanneer je php script het POST?
    pi_33024740
    Op php.net staat een voorbeeld van een post request naar een https server met behulp van een socket.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33027037
    quote:
    Op maandag 12 december 2005 19:38 schreef HuHu het volgende:

    [..]

    Dit is de FORM actie:
    [ code verwijderd ]

    Hij post dus naar een beveiligde server. Nu wil ik met PHP naar die beveiligde server posten. Maar hoe versleutel ik mijn variabelen en dergelijke, zodat de server ze accepteerd.
    Wil je het per se via php doen dan? Dus niet via een html form aan de client zijde waarin je die variabele echo't?
      dinsdag 13 december 2005 @ 19:37:22 #260
    65471 SkaterSam
    Lurking Galore
    pi_33050994
    Hmmm, wat is de beste manier om meerdere DELETES uit te voeren op de DB, ik heb nu het volgende:
    1
    2
    3
    4
    5
    6
    7
    <?php
    foreach($_POST['cat'] as $a) {
            
    $db-&gt;query("DELETE FROM nieuws_categorie WHERE nieuws_categorie_id='$a'");
            }
            
            
    $db-&gt;closedb();
    ?>

    De rijen die moeten worden verwijderd worden geselecteerd met een checkbox, die er zo uit ziet:
    1<input type="checkbox" name="cat[]" value="<?php echo $table['nieuws_categorie_id'] ?>" />

    Maar volgens mij is mijn code niet erg efficient, aangezien die 3 queries zal uitvoeren, is er een makkelijkere manier?
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33051292
    Je kan meerdere records tegelijk verwijderen in 1 sql statement met:

    1DELETE FROM myTable WHERE id IN (1, 2, 3)

    Hoe je die string samenstelt mag je zelf uitzoeken
    Vergeet niet om de invoer van de gebruiker te controleren.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33052623
    idd zo doe ik het ook altijd, trouwens het combineren van een array kan dmv implode (heb ik van roonaan geleerd ofzo )
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 13 december 2005 @ 20:32:25 #263
    65471 SkaterSam
    Lurking Galore
    pi_33052828
    Ik zal eens kijken naar implode(), ondertussen heb ik weer van alles verzonnen , zoals het volgende, alleen werkt dat natuurlijk niet

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $remove
    = $_POST['cat'];
        
    $db_query = "DELETE FROM nieuws_categorie WHERE nieuws_categorie_id IN (";
        
    for(
    $i = 0; $i &lt; count($remove); $i++) {
        
    $db_query .=  substr("'" . $remove[$i] . "',", 0, -1) . ")";
    }
            
    $db-&gt;query($db_query);
    ?>
    Let's make life easy
    Typo's are the demon spawn from hell !
      dinsdag 13 december 2005 @ 20:41:26 #264
    32768 DionysuZ
    Respect my authority!
    pi_33053139
    werkt IN (bla,bla,ba) ook bij MySQL dan? heb er veel problemen mee gehad.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_33053476
    quote:
    Op dinsdag 13 december 2005 20:41 schreef DionysuZ het volgende:
    werkt IN (bla,bla,ba) ook bij MySQL dan? heb er veel problemen mee gehad.
    Heb die constructie al een behoorlijke tijd gebruikt zonder enige problemen lijkt me van wel dus. Weet iemand of die operatie atomic is?
      dinsdag 13 december 2005 @ 20:50:45 #266
    65471 SkaterSam
    Lurking Galore
    pi_33053501
    Dit werkt voor mij nu

    1
    2
    3
    4
    5
    6
    <?php
    $remove
    = $_POST['cat'];
    $remove = implode(',',$remove);
            
    $db-&gt;query("DELETE FROM nieuws_categorie WHERE nieuws_categorie_id IN (" . $remove . ")");
    ?>

    Dank voor de hints
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33053717
    quote:
    Op dinsdag 13 december 2005 19:47 schreef SuperRembo het volgende:
    Vergeet niet om de invoer van de gebruiker te controleren.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      dinsdag 13 december 2005 @ 21:16:04 #268
    65471 SkaterSam
    Lurking Galore
    pi_33054419
    quote:
    Op dinsdag 13 december 2005 19:47 schreef SuperRembo het volgende:
    Vergeet niet om de invoer van de gebruiker te controleren.
    Ik zal het niet vergeten

    Er wordt al gekeken of de waarden in de array nummers zijn via is_numeric(), en straks nog even een mysql_real_escape_string() er over heen.

    Zo goed ?
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33054682
    quote:
    Op dinsdag 13 december 2005 21:16 schreef SkaterSam het volgende:

    [..]

    Ik zal het niet vergeten

    Er wordt al gekeken of de waarden in de array nummers zijn via is_numeric(), en straks nog even een mysql_real_escape_string() er over heen.

    Zo goed ?
    Een mysql_real_escape_string() heb je nodig als je een waarde in een string gaat zetten in de query. Nu werk je met integers, en is het minste wat je moet doen checken of het daadwerkelijk een getal is (en dat eventueel zo maken met intval() of strval()) en of het in de gewenste range ligt.
      dinsdag 13 december 2005 @ 21:37:03 #270
    65471 SkaterSam
    Lurking Galore
    pi_33055163
    quote:
    Op dinsdag 13 december 2005 21:22 schreef JeRa het volgende:

    [..]

    Een mysql_real_escape_string() heb je nodig als je een waarde in een string gaat zetten in de query. Nu werk je met integers, en is het minste wat je moet doen checken of het daadwerkelijk een getal is (en dat eventueel zo maken met intval() of strval()) en of het in de gewenste range ligt.
    Haha, weer wat geleerd in ieder geval, dan heb ik dus nu met mijn

    1
    2
    3
    4
    5
    6
    7
    <?php
    if (is_numeric(array_sum($_POST['cat']))) {
    // voer code uit
    } else {
    // stout!!!
    }
    ?>


    genoeg gecontroleerd? En wat is dan een range? Het zijn gewoon allemaal ID's die ik bij elkaar optel. Ik Google wel even wat een "range" inhoudt.
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33055954
    quote:
    Op dinsdag 13 december 2005 21:37 schreef SkaterSam het volgende:

    [..]

    Haha, weer wat geleerd in ieder geval, dan heb ik dus nu met mijn
    [ code verwijderd ]

    genoeg gecontroleerd? En wat is dan een range? Het zijn gewoon allemaal ID's die ik bij elkaar optel. Ik Google wel even wat een "range" inhoudt.
    Nee. Het feit dat array_sum een getal oplevert zegt niets over de afzonderlijke elementen van de array. Het kunnen nog steeds allemaal strings zijn, die worden bij rekenkundige bewerkingen naar de waarde nul omgezet.

    1
    2
    3
    <?php
    echo array_sum(array(2,5,'a','zes'));
    ?>

    Dit levert 7 op.

    Nog leuker, de uitkomst van array_sum is per definitie numeriek.
      dinsdag 13 december 2005 @ 22:54:50 #272
    65471 SkaterSam
    Lurking Galore
    pi_33057815
    Ik heb het zo opgelost, maar na de eerste twee posts zal ik niet meer beweren dat dit de juiste code is

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $remove
    = $_POST['cat'];
    $b = array();
        
    foreach(
    $remove as $a) {
        if(!
    is_numeric($a)) {
            
    $a = '';
        } else {
            
    $b[] = $a;
        }
    }
        
    //Maak een verbinding met DB
            
    $b = implode(',',$b);
            
    $db-&gt;query("DELETE FROM nieuws_categorie WHERE nieuws_categorie_id IN (" . $b . ")");
    ?>

    Ik heb nog even gekeken naar in_array(), maar ik begreep niet hoe je de needle kon definieren als een niet-nummer... Zo werkt het ook in ieder geval

    -edit: dit is mijn uiteindelijke code (23.46)

    [ Bericht 13% gewijzigd door SkaterSam op 13-12-2005 23:46:27 ]
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33057998
    quote:
    Op dinsdag 13 december 2005 20:50 schreef JeRa het volgende:

    [..]

    Heb die constructie al een behoorlijke tijd gebruikt zonder enige problemen lijkt me van wel dus. Weet iemand of die operatie atomic is?
    wat bedoel je daar mee als ik vragen mag?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_33058469
    quote:
    Op dinsdag 13 december 2005 23:00 schreef Chandler het volgende:

    [..]

    wat bedoel je daar mee als ik vragen mag?
    Atomic komt van het idee van het 'kleinste deeltje', in dit geval het idee dat een operatie in één geheel kan worden uitgevoerd. Een INSERT is atomic, dit betekent dat men geen SELECT kan uitvoeren terwijl de INSERT halverwege is bijvoorbeeld. Ik vroeg me af of dit ook het geval is bij een DELETE waarbij je meerdere items verwijderd, aangezien een DELETE op één item normaal wel atomic is
    pi_33059279
    Dit statement update de kolom vieworder. 10 wordt 5, 5 t/m 9 worden 1 verhoogd.

    1
    2
    3
    UPDATE menu
    SET vieworder = CASE vieworder WHEN 10 THEN 5 ELSE vieworder + 1 END
    WHERE vieworder BETWEEN 5 AND 10

    Voor en na de update zijn de waarden in vieworder uniek. Als deze operatie atomic is, dan werkt deze update ook als er een unieke index op vieworder staat. Dat tijdens het updaten van de regels de vieworder niet uniek is maakt niet uit.

    Met MySQL 4 krijg je iets van een duplicate index foutmelding.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 14 december 2005 @ 19:46:52 #276
    98700 cygnusx
    Manisch Positief
    pi_33079501
    Hoi,
    Ik ben een forum aan het bouwen. en ik wil nu het zo hebben dat je 10 posts per pagina ziet.
    Oftewel, als er meer dan 10 posts zijn moeten onderaan klikbare nummers verschijnen met het aantal pagina's. Ik zou hier vast wel een oplossing voor kunnen vinden, maar hoogstwaarschijnlijk is dat een heel omslachtige manier om dit te doen. Wie heeft er een efficientere manier voor me?

    (een ingekorte versie van mijn script)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $posts = @mysql_query("SELECT * FROM ".$forum_prefix."posts WHERE tid=".$id);
    if(!@mysql_num_rows($posts)>0){
       home();
       return;
    }
    $titel = mysql_fetch_assoc($titel);
    ?>
    <h4><?php echo $titel['titel']; ?></h4>
    <?php while($data = mysql_fetch_assoc($posts)){?>

    <?php
    $smilies = array(':)', ':(', ':+', '_O_', '(Y)', ';)', ':{', ':P', ':p','(A)');
    $images = array('<img src="smilies/smile.gif">', '<img src="smilies/frown.gif">', '<img src="smilies/clown.gif">', '<img src="smilies/worshippy.gif">', '<img src="smilies/thumbsup.gif">', '<img src="smilies/wink.gif">', '<img src="smilies/nosmile.gif">', '<img src="smilies/puh2.gif">', '<img src="smilies/puh2.gif">', '<img src="smilies/hypocrite.gif">');
    $content = str_replace($smilies, $images, $data['content']);
    echo $content; ?><br><br>
    <?php }
    ?>
    Jesus loves you, the rest of us think you`re an idiot.
      woensdag 14 december 2005 @ 19:53:19 #277
    32768 DionysuZ
    Respect my authority!
    pi_33079740
    een COUNT(id) voor het aantal posts (zodat je het aantal pagina's kunt berekenen) en een LIMIT x,10 voor je 10 posts (x staat dan voor pagina*10)
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      woensdag 14 december 2005 @ 20:03:29 #278
    65471 SkaterSam
    Lurking Galore
    pi_33080077
    1. bereken het totaal aantal resultaten (bijv. mysql_num_rows() )
    2. definieer het maximum aantal resultaten per pagina (bijv. $pp = 10 )
    3. bereken het aantal pagina's dat je krijgt door het aantal resultaten te delen door het maximum en het op hele naar boven af te ronden
    4. creëer een offset (van welk nummer moeten de resultaten verder gaan op de volgende pagina (bijv. door de link show.php?page=3 en dan de offset berekenen door ($page - 1) * 10 te doen.)
    5. Deze offset in de query zetten bij LIMIT $offset, 10

    En die linkjes er onder kan je dan met allerlei if/else statements maken, bijvoorbeeld als er maar een pagina is zijn vorige en volgende geen links... Dit doe ik altijd in ieder geval
    Let's make life easy
    Typo's are the demon spawn from hell !
      woensdag 14 december 2005 @ 20:16:32 #279
    32768 DionysuZ
    Respect my authority!
    pi_33080536
    quote:
    Op woensdag 14 december 2005 20:03 schreef SkaterSam het volgende:
    1. bereken het totaal aantal resultaten (bijv. mysql_num_rows() )
    2. definieer het maximum aantal resultaten per pagina (bijv. $pp = 10 )
    3. bereken het aantal pagina's dat je krijgt door het aantal resultaten te delen door het maximum en het op hele naar boven af te ronden
    4. creëer een offset (van welk nummer moeten de resultaten verder gaan op de volgende pagina (bijv. door de link show.php?page=3 en dan de offset berekenen door ($page - 1) * 10 te doen.)
    5. Deze offset in de query zetten bij LIMIT $offset, 10

    En die linkjes er onder kan je dan met allerlei if/else statements maken, bijvoorbeeld als er maar een pagina is zijn vorige en volgende geen links... Dit doe ik altijd in ieder geval
    Dit is een leuke. Bij een topic met 10.000 posts haal je ze dus allemaal op om het totaal te berekenen terwijl je er maar 10 wilt laten zien? Niet erg efficient.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      woensdag 14 december 2005 @ 20:25:09 #280
    65471 SkaterSam
    Lurking Galore
    pi_33080866
    quote:
    Op woensdag 14 december 2005 20:16 schreef DionysuZ het volgende:
    Dit is een leuke. Bij een topic met 10.000 posts haal je ze dus allemaal op om het totaal te berekenen terwijl je er maar 10 wilt laten zien? Niet erg efficient.
    Doe je SELECT count(*) as TOTAL FROM table LIMIT $offset,10 of zoiets? Zo bedoel je? Maar berekent die dan niet alleen maar degene die hij ophaalt (TOTAL zou dan 10 zijn) ? Enlighten me
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33080957
    quote:
    Op woensdag 14 december 2005 20:25 schreef SkaterSam het volgende:

    [..]

    Doe je SELECT count(*) as TOTAL FROM table LIMIT $offset,10 of zoiets? Zo bedoel je? Maar berekent die dan niet alleen maar degene die hij ophaalt (TOTAL zou dan 10 zijn) ? Enlighten me
    Nee, je doet een aparte COUNT(*)-query zodat MySQL snel het aantal rows kan teruggeven en je het totaal aantal posts weet. Dit is snel omdat de MyISAM-tables een rowcounter bijhouden, bij InnoDB gaat dit niet zo gemakkelijk. Vervolgens kun je door een nieuwe query te LIMIT'en bepalen welke posts je precies ziet
      woensdag 14 december 2005 @ 20:28:31 #282
    32768 DionysuZ
    Respect my authority!
    pi_33081040
    quote:
    Op woensdag 14 december 2005 20:25 schreef SkaterSam het volgende:

    [..]

    Doe je SELECT count(*) as TOTAL FROM table LIMIT $offset,10 of zoiets? Zo bedoel je? Maar berekent die dan niet alleen maar degene die hij ophaalt (TOTAL zou dan 10 zijn) ? Enlighten me
    Gewoon een SELECT count(*) as TOTAL FROM table.
    En daarna een SELECT * FROM table ORDER BY bla LIMIT bla,10. Of een combinatie van beiden op een of andere manier.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      woensdag 14 december 2005 @ 20:28:52 #283
    32768 DionysuZ
    Respect my authority!
    pi_33081055
    quote:
    Op woensdag 14 december 2005 20:26 schreef JeRa het volgende:

    [..]

    Nee, je doet een aparte COUNT(*)-query zodat MySQL snel het aantal rows kan teruggeven en je het totaal aantal posts weet. Dit is snel omdat de MyISAM-tables een rowcounter bijhouden, bij InnoDB gaat dit niet zo gemakkelijk. Vervolgens kun je door een nieuwe query te LIMIT'en bepalen welke posts je precies ziet
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      woensdag 14 december 2005 @ 20:31:09 #284
    65471 SkaterSam
    Lurking Galore
    pi_33081150
    COUNT(*) telt dus alle rijen in een DB, terwijl mysql_num_rows() alleen de rijen die uit een query komen telt. Ik snap het denk ik. De rest van de 5 stappen was echter wel 'logisch'?
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33082873
    quote:
    Op woensdag 14 december 2005 20:31 schreef SkaterSam het volgende:
    COUNT(*) telt dus alle rijen in een DB, terwijl mysql_num_rows() alleen de rijen die uit een query komen telt. Ik snap het denk ik. De rest van de 5 stappen was echter wel 'logisch'?
    Voor zover ik zie wel
    pi_33096089
    Ik ben op zoek naar een soort image-editor. er zijn n aantal pietlutjes hier die 5mb digitale camera foto's uploaden op een website, en aangezien ik hen werk wil besparen door met paint ( bij gebrek aan beter) te resizen (wat ze vaak niet eens kunnen schrijven), lijkt het me gaaf als ik die afbeeldingen kan standaardiseren naar een breedte van zeg 300 pixels. de hoogte mag daarbij varieren (wel in verhouding tot natuurlijk).

    wat misschien nog gaver is, is dat de foto wordt omgezet naar een vierkantje (dus er wordt gecropped zeg maar) maar misschien is dat nog wat te ver gegrepen.

    Weet iemand naar welke termen ik moet kijken? of zijn hier toevallig voor t gemak al complete scripts van (zo simpel mogelijk, t liefst automatisch, zonder fratsen enzo).

    tx
    As a rule, I never touch anything more sophisticated and delicate than myself.
      donderdag 15 december 2005 @ 10:20:43 #287
    32768 DionysuZ
    Respect my authority!
    pi_33096145
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      donderdag 15 december 2005 @ 10:21:57 #288
    32768 DionysuZ
    Respect my authority!
    pi_33096175
    overigens kun je met imagejpeg() ook de kwaliteit opgeven van de output
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_33096248
    Croppen kan wel, maar daarbij heb je wel de kans dat je dingen verliest die je toch had willen bewaren. Dus daarmee zou ik uitkijken.
      FOK!-Schrikkelbaas donderdag 15 december 2005 @ 10:35:05 #290
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33096467
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    function resize_photo($new_name,$new_width,$new_height,$filename){

    // Content type
    header('Content-type: image/jpeg');

    // nieuwe resolutie bepalen
    list($width_orig, $height_orig) = getimagesize($filename);
    if(empty(
    $new_height)){
                            
    $new_height = round(($new_width / $width_orig) * $height_orig);

    }elseif(empty(
    $new_width)){
                
    $new_width = round(($new_height / $height_orig) * $width_orig);

    }elseif (
    $new_width && ($width_orig &lt; $height_orig)) {
                
    $new_width = ($new_height / $height_orig) * $width_orig;

    }else{
                            
    $new_height = ($new_width / $width_orig) * $height_orig;
    }

    // Resample
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig);

    // Output
    imagejpeg($image_p, $new_name, 80);
    Imagedestroy($image);
    }
    ?>


    Aanroepen met:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $filename
    = $_FILES['photo']['tmp_name'];
    list(
    $width_orig, $height_orig) = getimagesize($filename);
    $new_name="../pathnaarfotomap/".$watdanook;
    $new_width=300; //mag ook leeg izjn
    $new_height=200; //mag ook leeg zijn
    resize_photo($new_name,$new_width,$new_height,$filename);
    ?>


    Alleen voor jpg, maar dat is redelijk eenvoudig aan te passen in de functie.

    Je moet wel GD2 op de server hebben staan.
    pi_33098145
    quote:
    Op donderdag 15 december 2005 10:35 schreef Swetsenegger het volgende:

    [ code verwijderd ]

    Aanroepen met:
    [ code verwijderd ]

    Alleen voor jpg, maar dat is redelijk eenvoudig aan te passen in de functie.

    Je moet wel GD2 op de server hebben staan.
    tx allen

    daar ga ik vast uitkomen
    As a rule, I never touch anything more sophisticated and delicate than myself.
      donderdag 15 december 2005 @ 14:22:58 #292
    32768 DionysuZ
    Respect my authority!
    pi_33101807
    1
    2
    // Content type
    header('Content-type: image/jpeg');

    dit is dan toch niet nodig Swetsenegger?
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      FOK!-Schrikkelbaas donderdag 15 december 2005 @ 15:13:02 #293
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33103049
    quote:
    Op donderdag 15 december 2005 14:22 schreef DionysuZ het volgende:

    [ code verwijderd ]

    dit is dan toch niet nodig Swetsenegger?
    Komt rechtstreeks van php.net: http://nl3.php.net/manual/en/function.imagecopyresampled.php. Ik heb gewoon die functie gepakt en wat aangepast toen ik 'm nodig had
      donderdag 15 december 2005 @ 15:23:55 #294
    32768 DionysuZ
    Respect my authority!
    pi_33103366
    quote:
    Op donderdag 15 december 2005 15:13 schreef Swetsenegger het volgende:

    [..]

    Komt rechtstreeks van php.net: http://nl3.php.net/manual/en/function.imagecopyresampled.php. Ik heb gewoon die functie gepakt en wat aangepast toen ik 'm nodig had
    Het is nodig als je rechtstreeks een jpeg als output wil hebben, niet als je een jpg file maakt.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_33105940
    Hallo,

    Voor school moet ik een opdracht over SQL maken (ik studeer economie en dan SQL ). Magoed, ik kom er dus niet helemaal uit. Een aantal vragen blijven open en zijn volgens mij niet echt moeilijk ofzo...voor de gevorderde gebruiker dan

    Ik begin maar met de meest kneuzige vraag,
    Wat is het gemiddelde aantal factuurregels in 2004?

    Ik heb (onder andere) de tabel Factuurregel dus daar zal het antwoord wel vandaan moeten komen.
    Factuurregel
    Factuurnummer
    Artikelcode
    verkoopaantal
    verkoopprijs

    Volgens mij moet ik dus gewoon de factuurnummer optellen en dan delen door het aantal "gecounte" factuurnummers.
    Zelf kwam ik tot

    SELECT factuurnummer/COUNT(factuurnummer)
    FROM factuurnummer;

    Maar dat is dus niet helemaal goed. Wie kan me helpen?

    Groeten
    IbeBen
      donderdag 15 december 2005 @ 16:55:36 #296
    37634 wobbel
    Da WoBBeL King
    pi_33106314
    $MySQL_Factuurregels_Select = "SELECT COUNT(*) FROM Factuurregel";
    $MySQL_Factuurregels_Query = mysql_query($MySQL_Factuurregels_Select);
    $MySQL_Factuurregels_Result = mysql_result($MySQL_Factuurregels_Query, 0);
      donderdag 15 december 2005 @ 16:56:26 #297
    37634 wobbel
    Da WoBBeL King
    pi_33106348
    Hoe moet mijn statement worden? met OR, AND of ||?

    Als $aap = 1 mag je door, als $blaat = 1 is mag je door, maar als ze allebei 1 zijn mag je ook door.
    Als ze allebei 0 zijn, mag je niet door....welke statement moet ik dan hebben?
    pi_33106420
    Wobbel,

    Thanks voor je reactie..Maar ik gebruik volgens mij een ander programma ofoz
    Het wordt uit tabellen van access gehaald en vervolgens in het programma S(impel)QL ingetypt.

    Zou je je post ook kunnen neerzetten in
    Select:
    From:
    Where:

    ?

    Thanx
      donderdag 15 december 2005 @ 17:02:27 #299
    37634 wobbel
    Da WoBBeL King
    pi_33106537
    ?? ik begrijp ff niet wat je bedoeld
    pi_33106808
    Euhmm oke Zal proberen wat duidelijker te zijn

    Ik heb dus die access database met gegevens enzo. Daar moet ik dus als opdracht uitkrijgen Wat het gemiddelde aantal factuurregels in 2004 is. Daarvoor gebruk ik (verplicht) het programma-tje S(imple)QL Download

    De uitvoer (oftewel de invoer in het programma S(impel)QL) moet in de volgende lay-out
    SELECT
    FROM
    WHERE
    GROUP BY
    HAVING

    ed.

    Hopelijk is het nu wat duidelijker
    pi_33107134
    quote:
    Op donderdag 15 december 2005 16:43 schreef IbeBen het volgende:


    Ik begin maar met de meest kneuzige vraag,
    Wat is het gemiddelde aantal factuurregels in 2004?

    Ik heb (onder andere) de tabel Factuurregel dus daar zal het antwoord wel vandaan moeten komen.
    Factuurregel
    Factuurnummer
    Artikelcode
    verkoopaantal
    verkoopprijs

    Volgens mij moet ik dus gewoon de factuurnummer optellen en dan delen door het aantal "gecounte" factuurnummers.
    Zelf kwam ik tot

    SELECT factuurnummer/COUNT(factuurnummer)
    FROM factuurnummer;

    IbeBen
    moet je voor het gemiddelde aantal factuur regels niet eerst alle factuurregels bij elkeer optellen (de aantallen wat in de tabel staan) en dan delen door het aantal factuurnummers.

    hoe dat in sql precies moet weet k niet zo 123 (moet het in 1 query trouwens of mag je er ook meerdere achter elkaar uitvoeren?)
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')