1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | //Controleer of de login geen dubbele session stamps oplevert... function checkLogin() { // Maak enkele variables om in de DB te voegen session_regenerate_id(); $fingerprint = $this->makeFingerprint(); $fingerprint = mysql_real_escape_string($fingerprint); // Controleer of die variable al bestaat $login_query = "SELECT COUNT(l.session_stamp) AS fingerprint FROM logged_in AS l WHERE l.session_stamp = '" . $fingerprint . "'"; $login_resource = mysql_query($login_query); $login_result = mysql_fetch_assoc($login_resource); if ($login_result['fingerprint'] == 1) { $this->checkLogin(); } return $fingerprint; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | do { // Maak random session id session_regenerate_id(); $fingerprint = $this->makeFingerprint(); $fingerprint = mysql_real_escape_string($fingerprint); // Controleer de session id $query = 'SELECT COUNT(...) AS num FROM tabel etc etc'; $result = mysql_query($query); $data = mysql_fetch_assoc($result); } while (intval($data['num']) > 0); ?> |
Ha, ja zo kan het ook, ik vroeg me ook al af of mijn manier niet erg gevoelig was voor bugs... Want mijn manier doet precies hetzelfde toch ? Of wordt het dan een soort van nested loop... ?quote:Op zondag 15 oktober 2006 14:12 schreef JeRa het volgende:
@SkaterSam
Ik denk eerder dat FuifDuif zoiets bedoelt:
[ code verwijderd ]
Jouw functie werkt niet, omdat je $this->checkLogin() wel aanroept maar $fingerprint helemaal niet verandert :) als je dit had geschreven:quote:Op zondag 15 oktober 2006 14:24 schreef SkaterSam het volgende:
[..]
Ha, ja zo kan het ook, ik vroeg me ook al af of mijn manier niet erg gevoelig was voor bugs... Want mijn manier doet precies hetzelfde toch ? Of wordt het dan een soort van nested loop... ?
1 2 3 | $fingerprint = $this->checkLogin(); } |
1 2 3 | for($j = 1; $j <= $aantal; $j++) { echo "<tr><td><label><span class="style2">Onderdeel</span></td><td><input type="text" id=i name="textfield[]" maxlength="8"></label></td></tr>"; } ?> |
werkt, bedanktquote:Op maandag 16 oktober 2006 16:48 schreef Roönaän het volgende:
als alles is ingevuld kan je gewoon foreach($_POST['textfield'] as $name => $value) gebruiken
1 2 3 4 5 | $bla1 = $_POST['bla1']; $bla2 = $_POST['bla2']; $bla3 = $_POST['bla3']; ?> |
Is die er dan wel ?quote:Op dinsdag 17 oktober 2006 12:16 schreef GI het volgende:
[ code verwijderd ]
Maar het is niet volgens de "nette regels" om het op die manier te doen.
quote:Op dinsdag 17 oktober 2006 12:12 schreef appelsientje het volgende:
... Nu weet ik dat er een methode is om die POST gegevens in Variabelen te zetten...
1 2 3 4 5 6 | <input type="text" name="bla[]" /> <input type="text" name="bla[]" /> <input type="text" name="bla[]" /> <input type="submit" /> </form> |
1 2 | print_r($bla); |
1 2 3 | echo $var1; } |
1 2 3 | print_r($_POST); print('</pre>'); |
Je kunt ook meteen adviseren om register_globals aan te zettenquote:Op dinsdag 17 oktober 2006 12:16 schreef GI het volgende:
[ code verwijderd ]
Maar het is niet volgens de "nette regels" om het op die manier te doen.
1 2 3 4 5 6 | foreach ($_REQUEST as $key => $value){ if (in_array($key, $values)){ $$key = $value; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // alle waardes uitlezen $artikelcode = $_POST['artc']; $omschrijving = $_POST['omsc']; $prijs = $_POST['prijs']; //in de query zetten: foreach($_POST['textfield1'] as $name => $value) { foreach($_POST['textfield2'] as $name2 => $value2) { mysql_query("INSERT INTO pakket ( Artikelcode, Omschrijving, Prijs, Onderdeel, Naam ) VALUES ('$artikelcode', '$omschrijving', '$prijs', '$value', '$value2');"); } } ?> |
ja dat weet ik maar ik heb dus 5 of 6 verschillende manieren geprobeerd (de plaatsen van de 2 foreach's) te wijzigen en geen een lukte goed. dus ik ben nu zeg maar wanhopigquote:Op woensdag 18 oktober 2006 16:47 schreef JeRa het volgende:
@Xtr3mE
Zo raar is dat niet, je hebt een nested loop (loop in een loop) waarbij je allebei de items 2 keer doorloopt, oftewel 2x2 = 4 itemsje moet dus een manier zien te verzinnen hoe je de informatie uit textfield1 koppelt aan textfield2, en het geheel dan 2x doorlopen om de juiste 2 items te krijgen.
1 2 3 4 5 6 7 8 9 10 11 12 | $artikelcode = $_POST['artc']; $omschrijving = $_POST['omsc']; $prijs = $_POST['prijs']; $value2 = $_POST['textarea']; //in de query zetten: foreach($_POST['textfield1'] as $name => $value) { mysql_query("INSERT INTO pakket ( Artikelcode, Omschrijving, Prijs, Onderdeel, Naam ) VALUES ('$artikelcode', '$omschrijving', '$prijs', '$value', '$value2');"); } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | $artikelcode = $_POST['artc']; $omschrijving = $_POST['omsc']; $prijs = $_POST['prijs']; //in de query zetten: foreach($_POST['textfield1'] as $name => $value) { mysql_query("INSERT INTO pakket ( Artikelcode, Omschrijving, Prijs, Onderdeel, Naam ) VALUES ('$artikelcode', '$omschrijving', '$prijs', '$value', '{$_POST['textfield2'][$name]}');"); } ?> |
Ik denk dat hij die $value2 niet leuk vind. Probeer eens alle variabelen tussen { en } te zetten. Dus:quote:Op woensdag 18 oktober 2006 18:22 schreef super-muffin het volgende:
Ik ben nog maar een beginner, maar werkt dit niet?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 | $artikelcode = $_POST['artc']; $omschrijving = $_POST['omsc']; $prijs = $_POST['prijs']; $value2 = $_POST['textarea']; //in de query zetten: foreach($_POST['textfield1'] as $name => $value) { mysql_query("INSERT INTO pakket ( Artikelcode, Omschrijving, Prijs, Onderdeel, Naam ) VALUES ('{$artikelcode}', '{$omschrijving}', '{$prijs}', '{$value}', '{$value2}');"); } ?> |
quote:Op donderdag 19 oktober 2006 13:21 schreef Siegfried het volgende:
Als ik een tabel met rows heb, waarbij in 1 cel de woonplaats staat, is er dan een (niet al te server belastende) mogelijkheid om makkelijk te kijken welke woonplaats(en) er het vaakst in staan?
1 2 3 4 5 | FROM de_tabel GROUP BY woonplaats ORDER BY aantal DESC LIMIT 0,1; |
ja deze werkt!quote:Op woensdag 18 oktober 2006 18:37 schreef ralfie het volgende:
[ code verwijderd ]
anders snap ik em nie
niet vergeten op mysql injectie te controleren he![]()
Top!quote:Op donderdag 19 oktober 2006 13:25 schreef FuifDuif het volgende:
[..]
[ code verwijderd ]
Iets in die geest in ieder geval. De query retourneert als het goed is één record met daarin de woonplaats die het vaakst voorkomt.
Als je ze beide dan wilt tonen moet je de conditie "LIMIT 0, 1" weglaten en vervolgens door de resulterende recordset lopen en alle plaatsen weergeven met een aantal gelijk aan de woonplaats van het eerste recordquote:Op donderdag 19 oktober 2006 13:55 schreef Siegfried het volgende:
[..]
Top!
Maar wat, als er 2 steden even vaak voorkomen?
LIMIT 0,1 pakt er 1 beginnend bij 0. Hij pakt dus het eerste element uit de resulterende tabel. LIMIT 100,1 pakt de dus de 101ste.quote:Op donderdag 19 oktober 2006 14:49 schreef Desdinova het volgende:
nu we het toch over LIMIT 0,1 hebben, wanneer gebruik je LIMIT 0,1 en wanneer LIMIT 1? want bij een update kan je niet 0,1 zetten ofzo. en bij delete ook niet. Wat is de theorie daarachter?
Wat bedoel je precies?quote:Op donderdag 19 oktober 2006 14:24 schreef Siegfried het volgende:
En er was toch een makkelijke manier om die waardes uit de array te halen die je met die SQL genereerd toch?
Zodat je geen while-lus hoeft te gebruiken? Hoe ging dat ook weer?
1 2 3 4 5 6 | $sql = mysql_query(...); while ($result = mysql_fetch_array($sql)) { ... } ?> |
1 2 | // ID's die een artikel zijn, en die dus als artikel gereplaced moeten worden |
1 |
1 |
1 2 3 | readfile('http://www.google.nl'); ?> |
1 2 3 4 5 6 7 | [Sun Oct 22 13:56:37 2006] [notice] Apache/2.0.58 (Win32) PHP/4.4.2 configured -- resuming normal operations [Sun Oct 22 13:56:37 2006] [notice] Server built: Apr 29 2006 17:47:10 [Sun Oct 22 13:56:37 2006] [notice] Parent: Created child process 3300 [Sun Oct 22 13:56:38 2006] [notice] Child 3300: Child process is running [Sun Oct 22 13:56:38 2006] [notice] Child 3300: Acquired the start mutex. [Sun Oct 22 13:56:38 2006] [notice] Child 3300: Starting 250 worker threads. |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |