Mailinglisten-Archive |
Hallo! > Bedarf :-) > Würde mich einfach mal interresieren, wie das gelöst hast. kein Problem..... Ich habe das gestern geschrieben (und heute verbessert). Indirekt könnte man sagen, dass Björn Schotte mitgeholfen hat, da er mich gestern in der Mailinglist fast realtime unterstützt hat.... Ich bin für jeden Kommentar/Verbesserungsvorschlag dankbar! nun das Script: <? function alteentwerten($verbindung,$zeitmarke) { $abfrage = "SELECT sessionid from session where gueltigbis<\"$zeitmarke\""; ## mysql_select_db("priv64"); if (!$res = mysql_db_query("priv64",$abfrage,$verbindung)) { print "Fehler!<br>MySQL sagte: ".mysql_error()."<br>\n"; print "Fehler in alleentwerten"; } else { while (list($sessionid) = mysql_fetch_row($res)) { $abfrage = "DELETE from session where sessionid=\"$sessionid\""; mysql_db_query("priv64",$abfrage,$verbindung); } } } function sessioniderstellen ($verbindung,$sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke) { mt_srand((double)microtime()*1000000); $sessionid=mt_rand(2,9999)*$zeitmarke; $sessionid=$sessionid.(mt_rand(100000000,999999999)); $gueltigbis=$zeitmarke+60*30; $loggedin="n"; $abfrage = "insert into session (sessionid,werber,cybertechsid,loggedin,gueltigbis, schritt) values ('$sessionid', '$werber', '$cybertechsid', '$loggedin', '$gueltigbis', '$schritt')"; ## mysql_select_db("priv64"); if (!$res = mysql_db_query("priv64",$abfrage,$verbindung)) { print "Fehler!<br>MySQL sagte: ".mysql_error()."<br>\n"; print "Fehler in Sessioniderstellen"; } else { ## weitermachen } return array($sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke); } function gueltigkeit_erneuern($verbindung,$sessionid,$zeitmarke) { $abfrage = "UPDATE session set gueltigbis=($zeitmarke+60*30) WHERE sessionid=$sessionid"; ## mysql_select_db("priv64"); if (!$res = mysql_db_query("priv64",$abfrage,$verbindung)) { print "Fehler!<br>MySQL sagte: ".mysql_error()."<br>\n"; print "Fehler in gueltigkeit erneuern"; } else { ## weitermachen } } function variablenholen($verbindung,$sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke) { $zeitmarke=time(); if ($sessionid) { $abfrage = "SELECT sessionid,werber,cybertechsid,loggedin,gueltigbis,schritt from session where sessionid=\"$sessionid\""; $erg = mysql_db_query("priv64",$abfrage,$verbindung); if (!$erg) { list($sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke)=sessioniderstellen($verbindung,$sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke); } else { list($sessionid, $werber, $cybertechsid, $loggedin, $gueltigbis, $schritt) = mysql_fetch_row($erg); if (!$sessionid) { list($sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke)=sessioniderstellen($verbindung,$sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke); } else { gueltigkeit_erneuern($verbindung,$sessionid,$zeitmarke); } } } else list($sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke)=sessioniderstellen($verbindung,$sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke); } return array($sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke); } function seite_anzeigen($verbindung,$sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke) { echo "sessionid: $sessionid <BR>\n"; echo "werber: $werber <BR>\n"; echo "cybertechsid: $cybertechsid <BR>\n"; echo "loggedin: $loggedin <BR>\n"; echo "schritt: $schritt <BR>\n"; echo "<BR><BR><BR><BR><BR><BR>"; echo "<a href=\"http://www.privatesponsor.de/sessionid.php3?sessionid=$sessionid\">Mi t ID laden</a>"; } $verbindung = _(at)_mysql_connect("localhost","trghtzuj56","6izuk68i67"); if (!$verbindung) { echo "Es ist ein Datenbankfehler aufgetreten. Bitte versuchen Sie es später wieder!\n"; } else { list($sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke)=variablenholen($verbindung,$sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke); alteentwerten($verbindung,$zeitmarke); seite_anzeigen($verbindung,$sessionid,$werber,$cybertechsid, $loggedin, $gueltigbis, $schritt, $zeitmarke); } mysql_close($verbindung); ?> na wie iss es? - Es funktioniert einwandfrei..... Die Sessions sind für 30 Minuten gültig und werden dann gelöscht. Man kann individuelle Variablen einfach einfügen. Unter seite_anzeigen kann man dann einfach die Seite einfügen, wie man es will und auf die Variablen zugreifen. CU I'm afraid for every comment! Christian Hofmann Christian.Hofmann_(at)_gmx.de
php::bar PHP Wiki - Listenarchive