Mailinglisten-Archive |
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------ =_NextPart_001_01C0C25B.AFE05D00 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hallo, ich habe folgendes Problem: Ich versuche auf eine mySQl-Datenbank zuzugreifen. Dies ist der Quelltext meiner Abfrage: <html><body><div align=3D"center"> <? $db =3D mysql_connect("localhost","root"); mysql_select_db("mailconfig",$db); $result =3D mysql_query("SELECT * FROM kunden",$db); ?> <table border=3D"1" cellspacing=3D"0" cellpadding=3D"3" = align=3D"center"> <tr> <td><b>ID</b></td> <td><b>Name</b></td> <td><b>Firma</b></td> <td><b>Herr(0)/Frau(1)</b></td> <td><b>e-mail</b></td> <td><b>Tel</b></td> <td><b>Strasse</b></td> <td><b>Handy</b></td> <td><b>PLZ</b></td> <td><b>Ort</b></td> </tr> <? while ($daten =3D mysql_fetch_array($result)) { ?> <tr> <td><? echo $daten[KID]; ?></td> <td><? echo $daten[name]; ?></td> <td><? echo $daten[firma]; ?></td> <td><? echo $daten[anrede]; ?></td> <td><? echo '<a = href=3D"mailto:'.$daten[email].'">'.$daten[email].'</a>'; ?></td> <td><? echo $daten[tel]; ?></td> <td><? echo $daten[strasse]; ?></td> <td><? echo $daten[mobil]; ?></td> <td><? echo $daten[plz]; ?></td> <td><? echo $daten[ort]; ?></td> </tr> <? } ?> </table></div></body></html> Doch dann kommt folgende Ausgabe: Warning: Supplied argument is not a valid MySQL result resource in /customer/websites/mailconfig/htdocs/dev/uebersicht.php on line 25 Woran mags liegen? W=FCrde mich =FCber eine Antwort freuen. Mit freundlichen Gr=FC=DFen Tobias Pusch -----Urspr=FCngliche Nachricht----- Von: Thomas Beckmann [mailto:beckmann_(at)_gis.de] Gesendet: Mittwoch, 11. April 2001 09:22 An: php_(at)_phpcenter.de Betreff: Re: [php] [php]nochmal sessions >> > Mach' einen logout-Knopf, mit dem Du den Eintrag in der DB wieder >> > l=F6scht. Wenn der user sich einloggt, pr=FCfst Du, ob ein = DB-Eintrag >> > vorhanden ist, wenn ja, verweigerst Du das login, bzw. zwingst = ihn, >> > sich erst auszuloggen. >> >=20 >> Mein Ansatz war schon so =E4hnlich. Hatte allerdings meine Zweifel = weil ich >> nicht wei=DF, wie man den db-Eintrag mit der session-id wieder = l=F6schen kann, wenn >> der user den Browser einfach per X-klick verl=E4sst statt den logout-button zu >> klicken! Meinst Du das er f=FCr den Fall einfach in der = login-tabelle stehen >> bleibt und beim n=E4chsten login gezwungen wird sich erstmal auzuloggen?=20 Ja, das meine ich. > >Im PHP Manual ist die ignore_user_abort() Funktion (bei Misc zu=20 >finden) beschrieben und im Features Teil gibts ein Kapitel zu "Connection >Handling". Vielleicht gehts damit? Ich selber hatte noch nicht die = Zeit >damit rumzuspielen. Ja, Egon, das hab' ich auch, als Claudia gefragt hat, sofort gedacht, ich hab' selber auch noch nichts damit gemacht, mir scheint aber, da=DF das nur bedeutet, da=DF das *laufende* script zuende abgearbeitet wird, nicht, da=DF bei einem abort ein anderes script angestossen werden kann (das die db aufr=E4umt). Die Diskussion gab' hier in Variationen ja schon mehrfach. Was man anscheinend machen kann, ist die session zu modifizieren, da gibt's doch session_set_save_handler(), wo man eine garbage-collection machen kann, wenn die session zerst=F6rt wird. Im Zusammenspiel mit session.gc_maxlifetime sollte dann ein automatisches Ausloggen nach einiger Zeit m=F6glich sein. Wenn Du das timeout aber zu knapp setzt, wird die session uU noch "im Betrieb" zerst=F6rt, wenn Du's zu lang setzt, n=FCtzt's nix, und = au=DFerdem hast Du immer noch das Problem der gleichzeitigen Einlogger - der Aufwand scheint mir ungerechtfertig - soll'n dann doch die user sich erst einmal ausloggen - das k=F6nnte man bei einem erneuten login ja auch automatisch machen (allerdings w=FCrde das dann eventuell zu erstaunten Gesichtern f=FChren, wenn pl=F6tzlich die session auf dem anderen task tot ist, und man seine =C4nderungen in die FAQ schreiben will ...) > >--=20 >LinuxTag, Stuttgart, Germany: July 5-8 2001: http://www.linuxtag.de/ >All known books about PHP and related books: http://php.net/books.php=20 >Concert Band of the University of Hohenheim: http://www.concert-band.de/ >First and second bestselling book in German: http://www.php-buch.de/ --- Thomas Beckmann, Kiel, Germany beckmann_(at)_gis.de --=20 ** http://www.php-center.de ** Die PHP-Liste: mailto: php_(at)_phpcenter.de http://lists.phpcenter.de/mailman/listinfo/php ------ =_NextPart_001_01C0C25B.AFE05D00 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Diso-8859-1"> <META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version = 5.5.1960.3"> <TITLE>AW: [php] [php]nochmal sessions</TITLE> </HEAD> <BODY> <P><FONT SIZE=3D2>Hallo,</FONT> </P> <P><FONT SIZE=3D2>ich habe folgendes Problem:</FONT> </P> <P><FONT SIZE=3D2>Ich versuche auf eine mySQl-Datenbank zuzugreifen. = Dies ist der Quelltext meiner Abfrage:</FONT> </P> <P><FONT SIZE=3D2><html><body><div = align=3D"center"></FONT> <BR><FONT SIZE=3D2><?</FONT> <BR><FONT SIZE=3D2>$db =3D = mysql_connect("localhost","root");</FONT> <BR><FONT SIZE=3D2>mysql_select_db("mailconfig",$db);</FONT> <BR><FONT SIZE=3D2>$result =3D mysql_query("SELECT * FROM = kunden",$db);</FONT> <BR><FONT SIZE=3D2>?></FONT> <BR><FONT SIZE=3D2><table border=3D"1" = cellspacing=3D"0" cellpadding=3D"3" = align=3D"center"></FONT> <BR><FONT SIZE=3D2><tr></FONT> <BR><FONT SIZE=3D2><td><b>ID</b></td></FONT> <BR><FONT SIZE=3D2><td><b>Name</b></td></FONT> <BR><FONT SIZE=3D2><td><b>Firma</b></td></FONT> <BR><FONT = SIZE=3D2><td><b>Herr(0)/Frau(1)</b></td></FONT> <BR><FONT = SIZE=3D2><td><b>e-mail</b></td></FONT> <BR><FONT SIZE=3D2><td><b>Tel</b></td></FONT> <BR><FONT = SIZE=3D2><td><b>Strasse</b></td></FONT> <BR><FONT SIZE=3D2><td><b>Handy</b></td></FONT> <BR><FONT SIZE=3D2><td><b>PLZ</b></td></FONT> <BR><FONT SIZE=3D2><td><b>Ort</b></td></FONT> <BR><FONT SIZE=3D2></tr></FONT> <BR><FONT SIZE=3D2><? while ($daten =3D mysql_fetch_array($result)) = { ?></FONT> <BR><FONT SIZE=3D2><tr></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[KID]; = ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[name]; = ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[firma]; = ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[anrede]; = ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo '<a href=3D"<A = HREF=3D"mailto:'.$daten" = TARGET=3D"_blank">mailto:'.$daten</A>[email].'">'.$daten[email].= '</a>'; ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[tel]; = ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[strasse]; = ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[mobil]; = ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[plz]; = ?></td></FONT> <BR><FONT SIZE=3D2><td><? echo $daten[ort]; = ?></td></FONT> <BR><FONT SIZE=3D2></tr></FONT> <BR><FONT SIZE=3D2><? } ?></FONT> <BR><FONT = SIZE=3D2></table></div></body></html></FONT> </P> <P><FONT SIZE=3D2>Doch dann kommt folgende Ausgabe:</FONT> </P> <P><FONT SIZE=3D2>Warning: Supplied argument is not a valid MySQL = result resource in = /customer/websites/mailconfig/htdocs/dev/uebersicht.php on line = 25</FONT></P> <P><FONT SIZE=3D2>Woran mags liegen?</FONT> </P> <P><FONT SIZE=3D2>W=FCrde mich =FCber eine Antwort freuen.</FONT> </P> <P><FONT SIZE=3D2>Mit freundlichen Gr=FC=DFen</FONT> </P> <P><FONT SIZE=3D2>Tobias Pusch</FONT> </P> <BR> <P><FONT SIZE=3D2>-----Urspr=FCngliche Nachricht-----</FONT> <BR><FONT SIZE=3D2>Von: Thomas Beckmann [<A = HREF=3D"mailto:beckmann_(at)_gis.de" = TARGET=3D"_blank">mailto:beckmann_(at)_gis.de</A>]</FONT> <BR><FONT SIZE=3D2>Gesendet: Mittwoch, 11. April 2001 09:22</FONT> <BR><FONT SIZE=3D2>An: php_(at)_phpcenter.de</FONT> <BR><FONT SIZE=3D2>Betreff: Re: [php] [php]nochmal sessions</FONT> </P> <BR> <P><FONT SIZE=3D2>>> > Mach' einen logout-Knopf, mit dem Du = den Eintrag in der DB wieder</FONT> <BR><FONT SIZE=3D2>>> > l=F6scht. Wenn der user sich einloggt, = pr=FCfst Du, ob ein DB-Eintrag</FONT> <BR><FONT SIZE=3D2>>> > vorhanden ist, wenn ja, verweigerst Du = das login, bzw. zwingst ihn,</FONT> <BR><FONT SIZE=3D2>>> > sich erst auszuloggen.</FONT> <BR><FONT SIZE=3D2>>> > </FONT> <BR><FONT SIZE=3D2>>> Mein Ansatz war schon so =E4hnlich. Hatte = allerdings meine Zweifel weil ich</FONT> <BR><FONT SIZE=3D2>>> nicht wei=DF, wie man den db-Eintrag mit = der session-id wieder l=F6schen kann, wenn</FONT> <BR><FONT SIZE=3D2>>> der user den Browser einfach per X-klick = verl=E4sst statt den logout-button zu</FONT> <BR><FONT SIZE=3D2>>> klicken! Meinst Du das er f=FCr den Fall = einfach in der login-tabelle stehen</FONT> <BR><FONT SIZE=3D2>>> bleibt und beim n=E4chsten login gezwungen = wird sich erstmal auzuloggen? </FONT> <BR><FONT SIZE=3D2>Ja, das meine ich.</FONT> <BR><FONT SIZE=3D2>></FONT> <BR><FONT SIZE=3D2>>Im PHP Manual ist die ignore_user_abort() = Funktion (bei Misc zu </FONT> <BR><FONT SIZE=3D2>>finden) beschrieben und im Features Teil gibts = ein Kapitel zu "Connection</FONT> <BR><FONT SIZE=3D2>>Handling". Vielleicht gehts damit? Ich = selber hatte noch nicht die Zeit </FONT> <BR><FONT SIZE=3D2>>damit rumzuspielen.</FONT> <BR><FONT SIZE=3D2>Ja, Egon, das hab' ich auch, als Claudia gefragt = hat, sofort gedacht,</FONT> <BR><FONT SIZE=3D2>ich hab' selber auch noch nichts damit gemacht, mir = scheint aber, da=DF</FONT> <BR><FONT SIZE=3D2>das nur bedeutet, da=DF das *laufende* script zuende = abgearbeitet wird,</FONT> <BR><FONT SIZE=3D2>nicht, da=DF bei einem abort ein anderes script = angestossen werden kann</FONT> <BR><FONT SIZE=3D2>(das die db aufr=E4umt). Die Diskussion gab' hier in = Variationen ja</FONT> <BR><FONT SIZE=3D2>schon mehrfach.</FONT> <BR><FONT SIZE=3D2>Was man anscheinend machen kann, ist die session zu = modifizieren, da</FONT> <BR><FONT SIZE=3D2>gibt's doch session_set_save_handler(), wo man eine = garbage-collection</FONT> <BR><FONT SIZE=3D2>machen kann, wenn die session zerst=F6rt wird. Im = Zusammenspiel mit</FONT> <BR><FONT SIZE=3D2>session.gc_maxlifetime sollte dann ein automatisches = Ausloggen nach</FONT> <BR><FONT SIZE=3D2>einiger Zeit m=F6glich sein.</FONT> <BR><FONT SIZE=3D2>Wenn Du das timeout aber zu knapp setzt, wird die = session uU noch "im</FONT> <BR><FONT SIZE=3D2>Betrieb" zerst=F6rt, wenn Du's zu lang setzt, = n=FCtzt's nix, und au=DFerdem</FONT> <BR><FONT SIZE=3D2>hast Du immer noch das Problem der gleichzeitigen = Einlogger - der</FONT> <BR><FONT SIZE=3D2>Aufwand scheint mir ungerechtfertig - soll'n dann = doch die user sich</FONT> <BR><FONT SIZE=3D2>erst einmal ausloggen - das k=F6nnte man bei einem = erneuten login ja</FONT> <BR><FONT SIZE=3D2>auch automatisch machen (allerdings w=FCrde das dann = eventuell zu</FONT> <BR><FONT SIZE=3D2>erstaunten Gesichtern f=FChren, wenn pl=F6tzlich die = session auf dem</FONT> <BR><FONT SIZE=3D2>anderen task tot ist, und man seine =C4nderungen in = die FAQ schreiben</FONT> <BR><FONT SIZE=3D2>will ...)</FONT> <BR><FONT SIZE=3D2>></FONT> <BR><FONT SIZE=3D2>>-- </FONT> <BR><FONT SIZE=3D2>>LinuxTag, Stuttgart, Germany: July 5-8 2001: <A = HREF=3D"http://www.linuxtag.de/" = TARGET=3D"_blank">http://www.linuxtag.de/</A></FONT> <BR><FONT SIZE=3D2>>All known books about PHP and related books: <A = HREF=3D"http://php.net/books.php" = TARGET=3D"_blank">http://php.net/books.php</A> </FONT> <BR><FONT SIZE=3D2>>Concert Band of the University of Hohenheim: <A = HREF=3D"http://www.concert-band.de/" = TARGET=3D"_blank">http://www.concert-band.de/</A></FONT> <BR><FONT SIZE=3D2>>First and second bestselling book in German: <A = HREF=3D"http://www.php-buch.de/" = TARGET=3D"_blank">http://www.php-buch.de/</A></FONT> </P> <BR> <P><FONT SIZE=3D2>---</FONT> <BR><FONT SIZE=3D2>Thomas Beckmann, Kiel, Germany</FONT> <BR><FONT SIZE=3D2>beckmann_(at)_gis.de</FONT> <BR><FONT SIZE=3D2>-- </FONT> <BR><FONT SIZE=3D2>** <A HREF=3D"http://www.php-center.de" = TARGET=3D"_blank">http://www.php-center.de</A> **</FONT> <BR><FONT SIZE=3D2>Die PHP-Liste: mailto: php_(at)_phpcenter.de</FONT> <BR><FONT SIZE=3D2><A = HREF=3D"http://lists.phpcenter.de/mailman/listinfo/php" = TARGET=3D"_blank">http://lists.phpcenter.de/mailman/listinfo/php</A></FO= NT> </P> </BODY> </HTML> ------ =_NextPart_001_01C0C25B.AFE05D00--
php::bar PHP Wiki - Listenarchive