abonnement Unibet Coolblue Bitvavo
pi_29997266
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 "
Je wilt dus de resultset leegmaken, en deze vervolgens ophalen?

Of als je gewoon wilt dat mysql_fetch_array (of beter: mysql_fetch_assoc, zoals in de laatste post van het vorige topic stond) geen foutmelding geeft, dan doe je dit:

1
2
3
<?php
$data
= @mysql_fetch_assoc($result);  //geen resource? geen foutmelding!
?>
pi_30024981
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?
pi_30025296
__LINE__ The current line number of the file.
__FILE__ The full path and filename of the file.
__FUNCTION__ The function name. (This was added in PHP 4.3.0.)
__CLASS__ The class name. (This was added in PHP 4.3.0.)
__METHOD__ The class method name. (This was added in PHP 5.0.0)

bron
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_30056095
Heeft iemand goede tutorials over het gebruik van PHP en InnoDB? Ik wil hier het een en ander mee gaan stoeien, maar ik kan niet echt een tutorial erover vinden.

Maw: Hoe voer ik een query uit, hoe geef ik start, commit of roleback mee etc.
pi_30056191
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?
Iets wat ik vaak bij error handlers gebruik: debug_backtrace()
pi_30058019
quote:
Op zondag 28 augustus 2005 15:59 schreef JeRa het volgende:

[..]

Iets wat ik vaak bij error handlers gebruik: debug_backtrace()
Dat is ook wel handig eigenlijk alhoewel dat van SR er erg veel op lijkt, bedankt beiden
  FOK!-Schrikkelbaas maandag 29 augustus 2005 @ 21:53:21 #8
1972 Swetsenegger
Egocentrische Narcist
pi_30078412
Waarom zet hij mijn cookie niet?

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']."");
                                }
}
?>


Indien ik dus een verkeerde login opgeef, werkt de header wel, maar mijn cookie is leeg.
Wat doe ik fout?
  FOK!-Schrikkelbaas maandag 29 augustus 2005 @ 22:13:22 #9
1972 Swetsenegger
Egocentrische Narcist
pi_30079177
Even een testje gemaakt, cookie heeft nu WEL waarde, maar is deze dus na de header kwijt.

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']);
                                
}
}
?>
  FOK!-Schrikkelbaas maandag 29 augustus 2005 @ 22:40:49 #10
1972 Swetsenegger
Egocentrische Narcist
pi_30080262
path dus

*zucht*

domdomdom... path dus

1
2
3
<?php
setcookie
('posted',$login,'','/');
?>
pi_30080375
quote:
Op maandag 29 augustus 2005 22:40 schreef Swetsenegger het volgende:
path dus

*zucht*

domdomdom... path dus
[ code verwijderd ]
Houd je er dan ook rekening mee dat expire (de derde parameter) een integer moet zijn?
  FOK!-Schrikkelbaas maandag 29 augustus 2005 @ 23:38:59 #12
1972 Swetsenegger
Egocentrische Narcist
pi_30082462
quote:
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?
cookie wordt op de volgende pagina uitgelezen en direct getrashed. Daarom stel ik geen expiration in
pi_30083899
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
Dan kun je alsnog beter 0 dan een lege string gebruiken. Of met sessions gaan spelen natuurlijk.
  donderdag 1 september 2005 @ 00:50:08 #14
71919 wonderer
Hung like a My Little Pony
pi_30152785
Ik heb een streaming chat in PHP die prima werkt. Nu wil ik hem op een andere server installeren, maar hij werkt niet, en ik weet niet waar het aan ligt. Ik ben er inmiddels achter dat het de stream functie is die last geeft, en die werkt met ob_implicit_flush();

De werkende heeft PHP versie 4.3.11, de nietwerkende 4.3.10. Verder is de config nagenoeg gelijk, hoewel session.use_trans_sid (genoemd als probleem bij ob_implicit_flush) bij de niet-werkende aan staat en bij de werkende uit. Ik ben niet zo thuis met ini_set dingen, maar als ik die bovenaan de stream funcie zet, zou dat dan moeten werken?

Of ligt het heel ergens anders aan? Ik vind het erg raar. Hij buffert dus gewoon en output pas als de loop is afgelopen.

Iemand een idee?
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_30153055
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:

1
2
3
4
<?php
ob_flush
();
flush();
?>
  donderdag 1 september 2005 @ 01:14:21 #16
71919 wonderer
Hung like a My Little Pony
pi_30153290
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 ]
Geen verschil. De pagina ziet er schematisch zo uit:

print headers
print html
print de laatste 15 regels
activeer stream -> print regels als ze gezegd worden

Hij print dus niks, ook de eerste drie dingen niet, terwijl het script in principe al drie jaar prima werkt op twee verschillende servers.

Het lijkt wel of de server configuratie het gewoon niet toestaat, maar waar dat dan aan ligt, ik heb geen idee.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_30153616
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?
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.
  donderdag 1 september 2005 @ 01:47:56 #18
71919 wonderer
Hung like a My Little Pony
pi_30153867
session_start uit werkt niet. Dus het moet ergens anders aan liggen...
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_30158275
Het probleem kan bij Apache liggen maar ook bij PHP of in je script. Post anders eens wat relevante regels code?
pi_30167519
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.
de boom verbindt in weer en wind de wereld met de wolken om met zijn takken onze groet naar boven te vertolken, waar zij, door ons zo teer bemind het hemelrijk bevolken
pi_30175057
Bedoel je mysql_insert_id?
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 1 september 2005 @ 19:52:48 #22
1972 Swetsenegger
Egocentrische Narcist
pi_30176331
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.
<a href="user.html.php?id=<?=$gebruikersid;?>">

$query=" SELECT * FROM database WHERE id='".$_GET['id']";

[ Bericht 1% gewijzigd door Swetsenegger op 01-09-2005 20:08:40 ]
pi_30176400
Daar gebruiken we natuurlijk niet $_GET direct voor maar op deze manier:

1
2
3
4
<?php
$id
= intval($_GET['id']);
$query = 'SELECT * FROM `database` WHERE `id` = ' . $id;
?>

Bij de methode van Swetsenegger heb je kans op een SQL injection.
  FOK!-Schrikkelbaas donderdag 1 september 2005 @ 20:01:20 #24
1972 Swetsenegger
Egocentrische Narcist
pi_30176612
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.
Ik heb het geprobeerd te injecten, en dat lukt echt niet zolang je je data in je query maar tussen ' zet.
En gewoon is_numeric volstaat natuurlijk ook

want laten we het nu eens proberen te injecten
we maken '""DROP TABLE tabel" van de id= in de url.
wat krijgen we dan?

$query="SELECT * FROM table WHERE id=''"DROP TABLE table";

geeft een prachtige sql fout. Maar goed, is_numeric of addslashes

en ow... natuurlijk nooit backticks gebruiken in je query

[ Bericht 9% gewijzigd door Swetsenegger op 01-09-2005 20:06:45 ]
pi_30177824
quote:
Op donderdag 1 september 2005 20:01 schreef Swetsenegger het volgende:
en ow... natuurlijk nooit backticks gebruiken in je query
Wat is er mis met backticks?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')