Fejl!

Tags:    php

Jeg har et login-system hvor jeg har prøvet at tjekke når jeg gerne vil logge ind. Jeg får fejlmeddelelse i denne kode:

include("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT brugernavn, password FROM users WHERE brugernavn='$bruger' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<center>
<font color="red">Forkert brugernavn og/ell. Kodeord</font><br>
Prøv igen eller opret dig som medlem.
</center>
<?
} else {
session_start();
session_register ("s_bruger");
session_register ("s_password");
session_register ("s_email");
session_register ("s_id");
}
while($r = mysql_fetch_array($query)) {
$s_bruger = $r["bruger"];
$s_password = $r["password"];
$s_id = $r["dato"];
}

?>

Søren :)
www.webster.frac.dk



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Jeg har et login-system hvor jeg har prøvet at tjekke når jeg gerne vil logge ind. Jeg får fejlmeddelelse i denne kode:

include("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT brugernavn, password FROM users WHERE brugernavn='$bruger' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<center>
<font color="red">Forkert brugernavn og/ell. Kodeord</font>
Prøv igen eller opret dig som medlem.
</center>
<?
} else {
session_start();
session_register ("s_bruger");
session_register ("s_password");
session_register ("s_email");
session_register ("s_id");
}
while($r = mysql_fetch_array($query)) {
$s_bruger = $r["bruger"];
$s_password = $r["password"];
$s_id = $r["dato"];
}

?>

Søren :)
www.webster.frac.dk

Hej,

Sæt "session_start();" som det første i din kode, så skulle det virke.
Du mangler dog at hente "dato" via din SQL sætning (som Morten tidligere nævnte).

Når du laver en "session_start();" generere php dit session id som skal sendes med i din HTTP header.

Da din HTTP header er det først som bliver overføret til browseren bliver du nød til at kalde session_start() som det første i dit script. Din header bliver overført så snart du bruger echo eller du er uden for dit php-scope "?>".

/Michael.



[Redigeret d. 29/09-03 20:04:58 af Michael Skovslund]



Den her linie virker ikke... du henter ikke "dato" ud af databasen....

$s_id = $r["dato"];

Og hvorfor skal den ind i en variabel du kalder noget med "id"



Følgende fejlmeddelelse (som jeg hele tiden har fået):

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /web/www/frac/users/webster/godkend.php:10) in /web/www/frac/users/webster/godkend.php on line 29

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /web/www/frac/users/webster/godkend.php:10) in /web/www/frac/users/webster/godkend.php on line 29


Knæk den lige for mig tak!

Søren :)
www.webster.frac.dk



du har sat noget over din php hedder
det er ikke tilladt i dit script kan jeg se
her er et eks.
<div>
<? din php ?>
tekst

div er nok til at udløse det så den side der er fejl på er der en include eller noget i toppen ?
men prøv at kikke det igemmen men prøv lige at poste den side du var på vej ind på da du fik fejlen så vi kan hjælpe dig bederer
-------------------------------------------
Husk At Besøge www.GenerationX.dk
/Jeg beklager GX er nede i øgeblikket
/Jeg arbejder på sagen :)



t