Session-Management
Jessica
- php
Hallo,
ich hab' mal wieder ein Problem mit meinem php-Session-Management. In Zeile 32 //*** if (($sql_c == $usrname) and ($sql_i! = ""))
{
$abfrage = "UPDATE sessions SET userid = $sql_i WHERE sid ='$sid'";***// wird die Fehlermeldung ausgegeben : " Parse error in Zeiele 32 in (url der php-Datei)"
Mehr leider nicht. Ich vermute es liegt aber an der Variable $sql_i. Das folgende Skript ist ein Baustein zur Ermittlung der Sessions beim Userlogin. Die Daten werden aus einer SQL-Datenbank ausgelesen. Für den User aus der Tabelle "benutzer". Die Sessions-Einträge werden in der Tabelle "sessions" registiert. Leider gibt`s da immer noch ein kleines Problem beim Eintrag der User-Id, den da wird auf Grund des Fehlers kein Eintrag in der dafür vorgesehenen Spalte hinterlegt.
Hier das Skript in ganzer Länge :
(Zum Hintergrund =
setup.inc : Setup-Variablen; func_db.inc : Verbindung zur SQl-Database)
<?php
include("setup.inc");
include("func_db.inc");
// Verbindung herstellen
$sql_con = dbconnect();
$abfrage = "SELECT $id,$name,$pass FROM $user WHERE $name = '$usrname' and $pass = '$pwd';
// SQL-Abfrage
$Query_Result = mysql_query($abfrage,$sql_con);
$sql_row = @mysql_fetch_array($Query_Result);
$sql_c=$sql_row[$name];
$sql_i=$sql_row[$id];
// Auslesen aus Datenbank
if (($sql_c == $usrname) and ($sql_i! = ""))
{
$abfrage = "UPDATE sessions SET userid = $sql_i WHERE sid ='$sid'";
$Query_Result = mysql_query($abfrage,$sql_con);
}
else
{
echo"<meta http-equiv=Refresh content='0; URL=$login?sid=$sid'>";
}
?>
Danke schon mal für Eure Hilfe. Gruss Jessica
Hallo Jessica,
ich hab' mal wieder ein Problem mit meinem php-Session-Management. In Zeile 32 //*** if (($sql_c == $usrname) and ($sql_i! = ""))
Die Session-Geschichte habe ich mir jetzt gar nicht angesehen, aber den Operator nicht gleich ( != ) darf man nicht mit einem Leerzeichen zwischen Ausrufezeichen und Gleichheitszueichen schreiben. Dann wird das Gleichheitszeichen nämlich als Zuweisung geparst.
Liebe Grüße
Tom
Hallo,
Hi
ich hab' mal wieder ein Problem mit meinem php-Session-Management. In Zeile 32 //*** if (($sql_c == $usrname) and ($sql_i! = ""))
{
$abfrage = "UPDATE sessions SET userid = $sql_i WHERE sid ='$sid'";***// wird die Fehlermeldung ausgegeben : " Parse error in Zeiele 32 in (url der php-Datei)"
Mehr leider nicht. Ich vermute es liegt aber an der Variable $sql_i. Das folgende Skript ist ein Baustein zur Ermittlung der Sessions beim Userlogin. Die Daten werden aus einer SQL-Datenbank ausgelesen. Für den User aus der Tabelle "benutzer". Die Sessions-Einträge werden in der Tabelle "sessions" registiert. Leider gibt`s da immer noch ein kleines Problem beim Eintrag der User-Id, den da wird auf Grund des Fehlers kein Eintrag in der dafür vorgesehenen Spalte hinterlegt.
Hier das Skript in ganzer Länge :
(Zum Hintergrund =
setup.inc : Setup-Variablen; func_db.inc : Verbindung zur SQl-Database)
<?php
include("setup.inc");
include("func_db.inc");
// Verbindung herstellen
$sql_con = dbconnect();
$abfrage = "SELECT $id,$name,$pass FROM $user WHERE $name = '$usrname' and $pass = '$pwd';
// SQL-Abfrage
$Query_Result = mysql_query($abfrage,$sql_con);
$sql_row = @mysql_fetch_array($Query_Result);
$sql_c=$sql_row[$name];
$sql_i=$sql_row[$id];
// Auslesen aus Datenbank
if (($sql_c == $usrname) and ($sql_i! = ""))
{
$abfrage = "UPDATE sessions SET userid = $sql_i WHERE sid ='$sid'";
$Query_Result = mysql_query($abfrage,$sql_con);
}
else
{
echo"<meta http-equiv=Refresh content='0; URL=$login?sid=$sid'>";
}
?>
hast du eine Page, wo man sich mal den Error anschauen könnte?
Danke schon mal für Eure Hilfe. Gruss Jessica
Gruß,
Benne
Hallo jessica,
$abfrage = "UPDATE sessions SET userid = $sql_i WHERE sid...
^^^^^^^^
Könnte es sein, dass das in Anführungszeichen gehört? userid='$sql_i'
Grüße aus Würzburg
Julian