Problem mit Cookies (Headers sent ?)

Trash

Erfahrenes Mitglied
Hallo,
wenn ich bei mir ein Script aufrufe das ein Cookie erstellen soll kommt diese Fehlermeldung:
PHP:
Warning: Cannot add header information - headers already sent by (output started at /raid/domains/de/r/***/htdocs/www/***/index.php:15) in /raid/domains/de/r/***/htdocs/www/***/secure.php on line 2

Line 2 in der Secure.php ist:

PHP:
<?php
setcookie("login"$name,time8)+6000);
$zeit = time();
include("config.inc.php");
if($Submit)
{
etc...

index.php linie 15 ist nur html code mit include(); nen paar sachen aber mehr nicht...

das komische ist der fehler kommt bei cookies und bei sessions also irgendwas muss ich flasch machen, hat jemand eine idee...

es ist so das man sich einloggt und dir form action="..." ist die secure.php in der dann der cookie erstellt werden soll mit dem namen "login" und mit dem namen des users...

danke
 
Jo die fehlermeldung sagt es ja, header wurden schon gesendet.
Du musst den ganzen php code VOR anderen html tags haben.
also am anfang der seite

es darf nicht mal ein leerzeichen vor deinem <? sein !

auch keine print oder echo anweisung darf davor sein.
 
arghs, ich include den shit ja in die index.php, also index.php?site=blabla

dann kann das ja nie funtzen oder ?
 
klar kanns gehn :D
probiers so
PHP:
<?php
ob_start();
setcookie("login"$name,time8)+6000);
$zeit = time();
include("config.inc.php");
if($Submit)
{

so gehts ^^
 
hiho, nope geht net:

PHP:
<?php
ob_start();
setcookie("login",$name,time()+6000);
$zeit = time();
include("config.inc.php");
if($Submit)
{
$query=("SELECT * FROM $users WHERE user_name = '$name' AND PASSWORD = '$pass'");
$result = mysql_query($query);
$num = mysql_num_rows($result);
if ($num != 0){
$verified_user = $name;
$auth = true;
echo "<font face=\"$font\" size=\"$size\" color=\"$color\"><a href=\"index.php?site=admin&name=$name\">zum Adminbereich</a></font>";

}
if ($num == 0)
{
echo "<font face=\"$font\" size=\"$size\" color=\"$color\">Ihr Login wurde nicht akzeptiert !</font>";
}
}

?>

das ist meine ganze secure.php die wird aufgerufen wenn sich jemand per login auf der page in den adminbereich einloggen möchte...es kommt trotzdem noch der headers fehler...

thx
 
ich werd aus deinem script net ganz schlau sek ich geb dir mal meins zum einloggn vieleicht hilfts meins funzt n1

is aber auch session

PHP:
    echo "<form action=intern.php>";
echo "<table border=0>";
echo "<tr>";
echo "<td>Name</td><td>:</td>";
echo "<td>";
echo "<select name=nick style=\" width: 100\">";

$abfrage = "SELECT * FROM member WHERE status != 'trial'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
    echo "<option>$row->name</option>";
}
echo "</select></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Pass</td><td>:</td>";
echo "<td><input type=password name=pw style=\" width: 100\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td></td><td></td>";
echo "<td><br><input type=submit name=submit value=submit style=\" width: 100\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=3>";
if(isset($submit))
{
$select = mysql_query("SELECT * FROM member WHERE name = '$nick'") or die ("Nick exestiert nicht");
$arr = mysql_fetch_array($select);
if ($pw == "$arr[pw]" and $arr[status] != "trial")
{
      $user = $nick;
      $status = $arr[status];
      session_register("user","status");
      echo "erfolgreicht angemeldet | $nick <br> Eine Session wuerd erstellt fuer deinen aufenthalt";
      echo "<meta http-equiv=\"refresh\" content=\"3; URL=news.php\">";
}
else
{
echo "falsches pw oder status trial";
}
}
echo "</td>
      </tr>";
echo "</table>";

ahso dazu gibts noch was zusagen das ist fuer einen clan mit mysql db siehste ja , session die machste einfach weg und setzt den cookie ein
und
die zeile
PHP:
$select = mysql_query("SELECT * FROM member WHERE name = '$nick'") or die ("Nick exestiert nicht");

editierste wie de willst hf damit :D
 
Bitte keine vollen PHP Quells coden.

Folgendes wenn du das file includierst passiert nichts anderes als das du den ganzen quellcode in die index.php einbaust.
Das heisst der includierte code ist ebenfalls der index.php angehörig.
Das wiederrum bedeutet die index.php darf nichts ausgeben vor dem cookie setzen.
Ebenso andere davon includierten Scripts dürfen das nicht.
Am sichersten gehst du wenn du ein inc file codest das nennt sich dann headers.inc.php z.B.
Dieses ganz zum Anfang in die index.php einbinden !!! ganz oben
Sprich
<?
require("header.inc.php");

und dann kannst du dein cookie setzen.
Ich geh davon aus das du anhand einer variable wie $nav includierst. !
Dann setze in die header.inc
Code:
if(isset($nav))
      if($nav=="beispiel")
                   setcookie("login",$name,time()+6000);
dann klappt das
 
Zurück