Probleme mit Loginscript.

Zipper02

Mitglied
Also ich hab hier folgendes gecodet.

login.php


<?php
include "config.inc.php";
include "connect.inc.php";
$einbauen = "SELECT * FROM mxcrew WHERE nickname ='$nickname'";
$ergebnis = mysql_query($einbauen);
while($row = mysql_fetch_object($ergebnis)) {
if ($password == $row->password) {
setcookie("nickname",$nickname,time()+36000);
setcookie("password",$password,time()+36000);
header('Location:index.php');
}
elseif ($row->password != $password) {
echo 'Passwort falsch';
}
}
?>


logout.php

<?php
setcookie("nickname",$nickname,time()-4);
setcookie("password",$password,time()-4);
header('Location:index.php');
?>

wenn ich mich dann einlogge oder auslogge kommt immer folgender fehler.

Warning: Cannot add header information - headers already sent by (output started at /www/htdocs/v030897/page/index.php:151) in /www/htdocs/v030897/page/temp/login.php on line 8

Warning: Cannot add header information - headers already sent by (output started at /www/htdocs/v030897/page/index.php:151) in /www/htdocs/v030897/page/temp/login.php on line 9

nur ich versteh da absolut gar nix :(
 
joo du hast ja 2 sachen includet
wenn irgendwo dort was ausgeben wird
echo usw
dann kommt genau die fehlermeldung..

cookies kann man nur setzen wenn noch keine daten an den browser gesendet wurden..
 
include "config.inc.php";
include "connect.inc.php";

um die beiden ging es mir :-)
da darf nix ausgabemässig passieren ..

header('Location:index.php');

kannste ersetzen durch

?>
<script language="JavaScript">
window.location.href = "index.php";
</script>
<?

macht fast dat gleiche :-)
 
da steht aber nix ausgabemäßiges drin.
nur nen php switch.

deswegen find ich ja des voll komisch das der dann so gehler anzeigt :(
 
hmm,

hilfreich wäre es zu erfahren was denn in der index.php Zeile 151 steht !!! Da wird definitiv was ausgegeben, auch wenn du sagst es ist nicht so ! Also poste das mal.
 
<?php include("switch.php"); ?>

das steht in der index.php zeile 151.
und der inhalt der switch.php ist folgender:

<?php

switch ($goto)

{

case "news":
include("temp/news.php");
break;

case "register":
include("temp/register.php");
break;

case "login":
include("temp/login.php");
break;

case "logout":
include("temp/logout.php");
break;

case "":
include("temp/news.php");
break;

}

?>
 
der knackpunkt ist deine var $goto

in der switch.php ...(bzw in der index.php)

also wenn $goto = login dann mache login.php dort sende cookie
+ und starte index.php neu

und wenn dort (in der index.php) durch ein fehler dein $goto nicht neu gesetzt wird ruft der den gleichen weg nochmal auf ..
sowas nennt man auch rekursive schleife :-)
 
Zuletzt bearbeitet:
nee was soll den passieren wen man sich einlogt?

sagen wir mal man soll news sehen standartmässig dann muss in login.php

vor deinem header aufruf ein

$goto ="news"; rein

namen ändern bringt nix du musst immer ein auge auf den inhalt von goto haben :-)
 
Zurück