Je wilt dus de resultset leegmaken, en deze vervolgens ophalen?quote:Op vrijdag 26 augustus 2005 11:53 schreef BarteS het volgende:
Ik heb een query, $result genaamd
Ik heb een fetch, mysql_fetch_array($result, MYSQL_ASSOC)
Nu wil ik dat in de tussentijd $result leeggemaakt word, op een dusdanige manier dat de fetch niet gaat protesteren met de melding: "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource "
1 2 3 | <?php $data = @mysql_fetch_assoc($result); //geen resource? geen foutmelding! ?> |
Iets wat ik vaak bij error handlers gebruik: debug_backtrace()quote:Op zaterdag 27 augustus 2005 12:26 schreef ikke_ook het volgende:
Ik wil graag een error handler maken voor mn mysql queries. Die error moet dan in een file worden geschreven, is er een mogelijkheid om uit te vinden op welke regel in het script de foute query staat?
Dat is ook wel handig eigenlijk alhoewel dat van SR er erg veel op lijkt, bedankt beidenquote:Op zondag 28 augustus 2005 15:59 schreef JeRa het volgende:
[..]
Iets wat ik vaak bij error handlers gebruik: debug_backtrace()
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 if ($_SERVER['REQUEST_METHOD']=='POST'){ $password=md5($_POST['password']); $query='SELECT * FROM user WHERE user="'.$_POST['user'].'" && password="'.$password.'"'; $result=mysql_query($query); $row=mysql_fetch_array($result); if(mysql_num_rows($result) != 0){ if($row['activated']!='0'){ session_start(); $_SESSION['IP']=$_SERVER["REMOTE_ADDR"]; $_SESSION['name']=$row['name']; $_SESSION['login']='1'; header("Location: ../".$_POST['location'].""); }else{ $login="<span style=\"color:red;\">U kunt pas inloggen als uw account is geactiveerd</span>"; setcookie('posted',$login); header("Location: ../".$_POST['location'].""); } }else{ $login="<span style=\"color:red;\">Ongeldige inlog</span>"; setcookie('posted',$login); header("Location: ../".$_POST['location'].""); } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php if(mysql_num_rows($result) != 0){ if($row['activated']!='0'){ session_start(); $_SESSION['IP']=$_SERVER["REMOTE_ADDR"]; $_SESSION['name']=$row['name']; $_SESSION['login']='1'; header("Location: ../".$_POST['location'].""); }else{ $login="<span style=\"color:red;\">U kunt pas inloggen als uw account is geactiveerd</span>"; setcookie('posted',$login); header("Location: ../".$_POST['location'].""); } }else{ setcookie('posted','<span style="color:red;">Ongeldige inlog</span>'); echo $_COOKIE['posted']; die(); //header("Location: ../".$_POST['location']); } } ?> |
Houd je er dan ook rekening mee dat expire (de derde parameter) een integer moet zijn?quote:Op maandag 29 augustus 2005 22:40 schreef Swetsenegger het volgende:
path dus
*zucht*
domdomdom... path dus
[ code verwijderd ]
cookie wordt op de volgende pagina uitgelezen en direct getrashed. Daarom stel ik geen expiration inquote:Op maandag 29 augustus 2005 22:43 schreef Light het volgende:
[..]
Houd je er dan ook rekening mee dat expire (de derde parameter) een integer moet zijn?
Dan kun je alsnog beter 0 dan een lege string gebruiken. Of met sessions gaan spelen natuurlijk.quote:Op maandag 29 augustus 2005 23:38 schreef Swetsenegger het volgende:
[..]
cookie wordt op de volgende pagina uitgelezen en direct getrashed. Daarom stel ik geen expiration in
Geen verschil. De pagina ziet er schematisch zo uit:quote:Op donderdag 1 september 2005 01:02 schreef JeRa het volgende:
Buffering is mijns inziens een hel in PHP. Ook al heb je ob_implicit_flush aanstaan, probeer toch eens telkens als je iets output de volgende twee functies aan te roepen:
[ code verwijderd ]
Voor zover ik hier zo kan nagaan doet een ini_set bij session.use_trans_sid niets. Klinkt op zich ook wel logisch, maar het betekent ook dat de enige manier om dit aan te passen is in de server-config. Je zou de suggestie in de php manual kunnen overnemen, dus session_start() weghalen.quote:Op donderdag 1 september 2005 00:50 schreef wonderer het volgende:
Ik ben niet zo thuis met ini_set dingen, maar als ik die bovenaan de stream funcie zet, zou dat dan moeten werken?
<a href="user.html.php?id=<?=$gebruikersid;?>">quote:Op donderdag 1 september 2005 15:16 schreef reinierb het volgende:
Ik wil een aantal gegevens ontsluiten naar mensen die onze site bezoeken. Ik heb daarvoor een tweetal tabellen aangemaakt met extra informatie van deze mensen. Ik wil daarvoor het standaard ID wat mysql aanmaakt in tabel users gebruiken waar ik het ID als foreign key wil gebruiken.
Dat is geen probleem, maar hoe kan ik het ID uitlezen op user.html.php???
Ik heb daar een query waar ik het ID aan mee wil geven zodat de juiste mensen de juiste gegevens te zien krijgen.
1 2 3 4 | <?php $id = intval($_GET['id']); $query = 'SELECT * FROM `database` WHERE `id` = ' . $id; ?> |
Ik heb het geprobeerd te injecten, en dat lukt echt niet zolang je je data in je query maar tussen ' zet.quote:Op donderdag 1 september 2005 19:55 schreef JeRa het volgende:
Daar gebruiken we natuurlijk niet $_GET direct voor maar op deze manier:
[ code verwijderd ]
Bij de methode van Swetsenegger heb je kans op een SQL injection.
Wat is er mis met backticks?quote:Op donderdag 1 september 2005 20:01 schreef Swetsenegger het volgende:
en ow... natuurlijk nooit backticks gebruiken in je query
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |