Probs mit Keks ...

Morph

Erfahrenes Mitglied
Hi Leudz,

Kurz und knapp: Mein Problem liegt darin, dass er bei folgendem Code (ein LoginFormular liegt vor) den Keks nicht setzt - woran liegt das ?
PHP:
<?php

require ('../includes/config.inc.php');

$db = mysql_connect ($dbhost,$dbuser,$dbpass);
@mysql_select_db ($dbname, $db);

$sql = "SELECT * FROM dev_members WHERE (user like '$user') AND (pw like '$pw')";
$result = mysql_query ($sql,$db);

if (mysql_num_rows ($result) > 0)
{
	$sql = "SELECT rechte FROM dev_members WHERE (user like '$user') AND (pw like '$pw')";
	$result = mysql_query ($sql,$db);

	list($rechte) = mysql_fetch_row($result);
	
	// Verschlüsseln des Usernames für weiteren Vergleich (später)
	$user_md5 = md5($user);
		
	$c = $user."@".$user_md5."@".$rechte;
	setcookie("devlab", $c, time()+172000); // Cookie *lebt* etwa 2 Tage (172000 Sekunden)
	$data = true;
}
else
{
	echo "<center>Username und/oder Passwort inkorrekt. <a href=\"../main.php?site=LogIn\">Zurück zum Login</a></center>";
}

if ($data)
{
	echo "	
		<head>
		<meta http-equiv='Refresh' content='0; url=../main.php'>
		</head>
	";
}

?>
Schonmal im vorraus danke für die Hilfe

Grüße, Morph
 
ich nehme mal an du hast keine header fehler.

1. um php3 scripts ausführen zu können, kann es sein, dass dein webserver die endung .php3 braucht (setcookie geht erst seit php3)

Die funktion heisst so:
int setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure])


wobei du name, inhalt und zeit angegeben hast, andere angaben sind offiziell optionial, bei mir hat es jedoch nie ohne die weiteren angaben geklapt.

nimm für path einfach "/" für domain deine domain und für int secure eine 1 !.
 
1.) Nein, es gibt keine Headerfehler
2.) Es handelt sich um PHP Version 4.0+ :p
3.) Das mit path, domain und secure kann ich ja mal ausprobieren, allerdings läuft fast haargenau das gleiche script bei mir als testversion auch in nem anderen Project, von daher ist es für mich mehr als unverständlich warum er den Keks net setzt. Kein Error, nix.
Trotzdem Danke für deine Hilfe :)

Grüße, Morph
 
Die php version hat damit nichts zu tun, wenn ich auf meinem webspace (php 4) files mit endung .php ausführe, funktionieren php4 funktionen nicht, mit .php4 allerdings schon, ist einstellugnssache.


Mit cookies hatte ich auch immer probs :-)
nicht vergessen browser neu zu starten wenn du was am code änderst und so... blöde tücken sind da drin ;)
 
Naja es funktionierte aber auch alles ohne .php4 oder .php3 :p
Eben bis auf diese eine mal jetzt mit dem Code, der aber in nem andern Project, in fast gleicher Form funktioniert.

Und das mit dem Browser neustarten ist zwar net gemeint, aber ich aktualisier sowieso immer und probiere alles min xx mal :p

Grüße, Thaalad
 
@ ..ooOOipOOoo..: Hab des setcookie direkt nach dem <?php geschrieben, etwa so
PHP:
//$login_button erklärt sich eigentlich von selbst
if ($login_button)
{
    setcookie("name","value",time()+3600);
}
Sind dann nurnochn paar DB abfragen dabei, aber in grobform hab ich das jetzt so, und es funktioniert wunderbar

Grüße, Morph
 
Zurück