ugrás a tartalomhoz

Cannot modify header information hiba setcookie()-ra

Petrusz · 2007. Jún. 29. (P), 00.33
Sziasztok,

Tudnátok nekem abban segíteni, hogy miért nem tud a login a headerbe írni?

"Warning: Cannot modify header information - headers already sent by (output started at /disk/raid3/w/e/weberp/forum/login.php:17) in /disk/raid3/w/e/weberp/forum/login.php on line 42"

login.php
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login" class=form></td>
</tr>
</table>
</form>
<?php
if($_POST['Submit']){
$user = $_POST['user'];
$pass = $_POST['pass'];
$pass_md5 = md5($pass);
include("config.php");

if(empty($user)){
echo "Please, insert an username.<br>
<a href=?id=login>Go Back</a>.";
die();
};

if(empty($pass)){
echo "Please, insert a password.<br>
<a href=?id=login>Go Back</a>.";
die();
};

$ok = mysql_query("SELECT * FROM `forum_users` WHERE user='$user' and pass='$pass_md5'")
or die ("Wrong Password and Username combination, please, <a href=login.php>go back</a> and try again, or register <a href=register.php>here</a> for free if you dont have an account");
$worked = mysql_fetch_array($ok);
if($worked){
$r = mysql_fetch_array(mysql_query("SELECT * FROM `forum_users` WHERE user='$user'and pass='$pass_md5'"));
$signature = "$r[signature]";
setcookie ("forum",$user,time()+1957240);
A programot a http://ethereal-design.info/?id=tutorials&get=showtut&tid=3 szedtem le egy forumocska. és a weberp.fw.hu-n tesztelgetem

Köszönöm!
 
1

php tag előre

bandi · 2007. Jún. 29. (P), 07.17
Annak ellenére, hogy ilyen olvashatatlan formában küldted be a kódot, megpróbáltam bele nézni, és annyit látok, hogy a legvégén adtak ki a set cookie parancsot. Én nem ismerem nagyon ezt a parancsot, de az biztos, hogy a cookie-kat a szerver a headerben küldi (ugye ha olvasnád a manualt, mielőtt kérdezel: http://hu2.php.net/setcookie), tehát ha már van küldött szöveg, ami jelen esetben a <td> tag-ed, akkor már nem tudja cookie-kat sem elküldeni. Megoldás: vedd előre a php nyitó tag-et, és csak utána írjad a html markup-ot.

updt.
így már sokkal áttekinthetőbb a kód