Session? MySQL? oder PHP? Wo ist das PROBLEM?

Es hat nichts mit den Sessions zu tun, sondern damit dass die Uebergabewerte unbekannt sind.
Wenn vorher register_globals on war und nun aus, werden uebergebene Variablen nicht als $variable registriert, sondern muessen z.B. mittels $_POST['variable'] angesprochen werden.

Es gibt da den Befehl ini_set(), nur ob der aktiv ist ist fraglich.
 
PHP:
<?
$Host = "localhost";
$MYSQLUser = "User";
$MYSQLPassword = "pwd";
$DBName = "datenbank";
$TableName = "user";

/* hinzugefügt */
$Username = $_POST['Username'];
$Sessionuser = $_POST['Username'];
$Password = $_POST['Password'];
$siteurl = $_POST['siteurl']
/*------*/

$Nowtime = time();

$Sessionuser = $Username;

$Link = mysql_connect ($Host, $MYSQLUser, $MYSQLPassword);

$Query = "SELECT * from $TableName WHERE User=\"$Username\"";

$Result = mysql_db_query ($DBName, $Query, $Link);

$Row = mysql_fetch_array ($Result);

$Query = "UPDATE $TableName SET Lastclick=\"$Nowtime\" WHERE User=\"$Sessionuser\"";
mysql_db_query ($DBName, $Query, $Link);

mysql_close ($Link);





if($Row[Password]==$Password)
{
	session_start();
	session_register("$Sessionuser");
	header("Location: $siteurl");
	echo "Sie wurden eingelogged<br><br><br>
	<a href=$siteurl>weiter</a>";
}
else
{
	$siteurlplusmessage = "$siteurl?message=FEHLER+<br>+Benutzername+oder+Passwort+falsch+!+!+!";
	header("Location: $siteurlplusmessage");
	echo "überprüfen Sie bitte Ihre Login-Daten";
}

?>

Das steht im login file --> Problem besteht weiterhin!


Lg Admichi

P.S.: Die Variablen werden richtig übernommen da ich sonst einen Fehler erhalten würde mit "Fehler ... Überprüfen sie Ihre Login Daten"
Oder hab ich das falsch verstanden?
 
gekürzte Version:
PHP:
<? 
/* hinzugefügt */ 
$Username = $_POST['Username']; 
$Sessionuser = $_POST['Username']; 
$Password = $_POST['Password']; 
$siteurl = $_POST['siteurl'] 
/*------*/ 
print_r($_POST);

?>

Und bekomme dann folgende Ausgabe:
Array ( [siteurl] => http://www.domain.at/ordner/ [Username] => user [Password] => test [Submitok] => Absenden ) überprüfen Sie bitte Ihre Login-Daten

Es werden alle geposteten Daten korrekt angezeigt!

Melde mich heue am Abend wieder muss jetzt leider weg! :(
Vl. findet sich die Lösung

Wäre sehr froh darüber!

Lg Admichi
 
Ich hab schon heute Abend, bin also hoechstwahrscheinlich weg wenn Du wieder da bist.
Aber ich schau mal durch den Code, vielleicht findet sich ja was.
 
Vielleicht liegt es daran:
PHP:
if($Sessionuser)
{
	$Query = "UPDATE $TableName SET Lastclick=\"$Nowtime\" WHERE User=\"$Sessionuser\"";
	mysql_db_query ($DBName, $Query, $Link);
	$Loggedin = "yes";
}
Hol den SessionUser mal aus $_SESSION.
Also so:
PHP:
if($_SESSION['Sessionuser'])
{
	$Query = "UPDATE $TableName SET Lastclick=\"$Nowtime\" WHERE User=\"$Sessionuser\"";
	mysql_db_query ($DBName, $Query, $Link);
	$Loggedin = "yes";
}
 
Na.... Na..... Viel fehlt nicht mehr *gg*

Die Message wo Login gestanden ist, wurde nun auf Hauptmenu bzw. auf den Teil ausgebessert den ich angewählt habe!

Aber das Loginfenster ist immer noch vorhanden!
Werde schauen ob ich in der index.php die die header.php aufruft was verdächtiges finde!

Meld mich dann nochmal mit einem "Edit:"

Lg Admichi

Edit:
So hab jetzt noch einbissl nach dem Fehler gesucht, und wie hätte es anders sein können? Ich habe nichts an der Datei geändert funktionierts schon wieder nicht! :(

Also wenn ich das vl. mal sagen darf, solche Serverumstellungen gehen mir auf den Keks! Besonders bei Skripten die ich nicht geschrieben habe!

Außerdem hab ich eine Frage:
Was bedeutet das "!" ? Steht bei mir meistens mit Loggedin!="yes"
Danke für die Erläuterung!

Lg Admichi
 
Zuletzt bearbeitet:
Ich habe jetzt das eine Problem gelöst!

Habe $_Session bzw. session_register auf session.name geändert!

Alles funktioniert einwandfrei! Allerdings loggt es sich automatisch ein, dass bedeutet ich habe keinen Login mehr!

Wie kann ich session.name einen Wert geben bzw. wie kann ich meinen Login wieder verwenden?

Danke für die Hilfe!

Lg Admichi
 
Hallo, habe mein Problem jetzt gelöst!

Danke für die Hilfe!

Dieser Text brachte mir die Hilfe:
_SESSION ist ein globaler assoziativer Array, die Sie als solche nicht gesondert in Ihrer Funktion zu deklarieren brauchen (keine Angabe von global). Eine Variable speichern Sie in der Session durch Angabe von $_SESSION['variablenname'] = wert;, auslesen tun Sie sie logischerweise mit $auslesewert=$_SESSION['variablenname'].

Das heißt ich habe den Wert eigentlich nur in der header.php auslesen müssen!

Trozdem nochmal vielen Dank (!) (!) (!) (!)

Ganz besonders Liebe Grüße
aus Wien
Admichi
 
Zurück