2011-06-29 12 views
0

誰も私の2つのファイルが動作していない理由を知ることができますか?私はトップにクッキーのデータを置いています。だから、どうしてまだヘッダのエラーが出るのかわかりません。PHPフォームヘッダーとCookieの問題

header("Location:form_data.php"); 

<?php 
ob_start(); 
?> 

<?php 

$browser = get_browser(); 

$_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; 
echo "<b>Welcome user. You ip is: ".$_SESSION['ip']." and your using ".$browser->browser." as your browser.</b>"; 

echo "<form action=\"form_data.php\" method=\"post\">"; 
echo "Your username:<input type=\"text\" name=\"username\" size=\"20\"><br/>"; 
echo "Your password:<input type=\"codeword\" name=\"codeword\" size=\"20\"><br/>"; 
echo "<input type=\"submit\" value=\"Submit data\" />"; 
echo "<br /><input type=\"hidden\" name=\"submitted\" value=\"true\" />"; 
?> 

<?php 
ob_end_flush(); 
?> 

form_data.php

<?php 
setcookie('username',$_POST['username']); 
setcookie('password', $_POST['codeword']); 
header("Location:form_data.php"); 

echo "<b>Thanks, </b>".$_COOKIE['username']. " <br />"; 
echo "Your codeword is ".$_COOKIE['codeword']."<br />"; 
echo "Started here: ".date("g:i a").", " .date("F j, Y"); 
echo "<br/>IP Address: ".$_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; 
?> 
+0

一般に、エラーメッセージはエラーがどこで発生したかを示します。あなたのエラーメッセージは何を言いますか? – Gumbo

+0

セッションを使用していない場合、なぜ$ _SESSIONに設定していますか?また、どのファイルと行がヘッダーエラーから来ていますか? –

+0

あなたのPHPタグ<?phpは、ヘッダーにエラーが発生している理由の4または5の空白の出力後に開きます。また、ヘッダー( "location:form_data.php");代わりにheader( "location:form_data.php");場所の後のスペースを気にしてください:。それは反映されているかもしれません。 – GitsD

答えて

0

は、この行を削除(私が持っているものと仕事をしなければならないので、ところで、私はいないセッション、ここにクッキーを使用する必要があります)その行はform_data.phpにリダイレクトされます。あなたはform_dataファイル=>リダイレクトループ

にあり、私はクッキーとしてパスワードを保存しません。これらのパスワードを盗むのは本当に簡単です

1
<?php 
ob_start(); 
?> 

オープニングの前に4つのスペースがあることに注意してください。<?php。それらはPHPの開始タグの前に現れるので、出力とみなされます。出力バッファと出力ヘッダーを一貫して行いたい場合、PHPの開始タグは絶対にファイルの最初のものでなければなりません。これには、ユニコードBOM、空白などが含まれます。