webForumDet fria alternativet

setcookie och header problem...

3 svar · 335 visningar · startad av Deron

DeronMedlem sedan apr. 200211 inlägg
#1

Jag håller på och gör en inloggnigssida i php.
Först skriver man in användarnamn och lösen i ett formulär som sedan skickar informationen till samman sida.

Om inloggningen lyckas skall en cookie placeras ut.
Problemet är att jag får upp detta felmeddelnade:

Warning: Cannot add header information - headers already sent by (output started at c:\program\apache group\apache\htdocs\login\login.php:18) in c:\program\apache group\apache\htdocs\login\login.php on line 30

Nån som har har en lösning på detta??
Kan man ta bort den första informationen i headern efter att den har skickats och sedan sätta cookien???

PicklezzMedlem sedan jan. 2002448 inlägg
#2

du får inte skicka nån information till användaren som surfar in på din sida innan du sätter header/cookie

DeronMedlem sedan apr. 200211 inlägg
#3

Koden ser ut så här:

<html>
<head>
<title> Nått </title>
</head>
<body>
<h1>
Logga in.
</h1>
<table>
<form action="login.php" method="post" name='reg' OnSubmit="return skicka_OnClick();">
<tr><td>Login: </td><td><input type="text" name="login"></td></tr>
<tr><td>Losen: </td><td><input type="password" name="losen"></td></tr>
<tr><td></td><td><input type='submit' name='skicka' value='Logga in!'></td></tr>
</form>
</table>
</body>
</html>

<?
$open = mysql_connect("localhost", "****", "*****") or die(mysql_error());
mysql_select_db("dbforum", $open) or die(mysql_error());
$result = mysql_query("SELECT * FROM login WHERE login='$login' AND losen='$losen'");
$num_rows = mysql_num_rows($result);

if ( $num_rows != 0 ) {
echo("Du är nu inloggad ");
setcookie(Namn,$info);
}
else
{
echo("Ett fel uppstod. <br> Du ar angivit fel login eller lösen. ");
}
mysql_close ($open);

?>

Hur skall jag ändra den??

Patrik81Medlem sedan okt. 2001537 inlägg
#4

Måste du inte FÖRST ha en koll om typ det finns en variabel med loginnamn etc som existerar och har ett värde... och om den finns börjar du joxxa med verifiering, och om variablen inte finns så får du skriva ut lite html med en loginform?
Typ
If (isset($login)){
lite kod för att kolla upp at tlogin och password stämmer, och om det stämmer även skapa cookies etc...}
Else{
$login var inte definerad, alltså har den inte sänts in från login formen... skriv ut lite html med en loginform...}

Typ...

MVH Patrik

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb