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