2011-12-30 12 views
0

ヘッダーが送信されたら誰かをリダイレクトする方法を理解できません。このスクリプトの目的は、日付が有効で編集ページにリダイレクトされる場合です。日付が有効でない場合、日付が停止し、編集できない理由が示されます。ヘッダーがphpで設定された後のページのリダイレクト

<?php 
$id = $_GET['id']; 
// Define MySQL Information. 
$mysqlhost="************************"; // Host name of MySQL server. 
$mysqlusername="**************"; // Username of MySQL database. 
$mysqlpassword="**************"; // Password of the above MySQL username. 
$mysqldatabase="**************"; // Name of database where the table resides. 
// Connect to MySQL. 
mysql_connect("$mysqlhost", "$mysqlusername", "$mysqlpassword")or die("Could not  connect to MySQL."); 
mysql_select_db("$mysqldatabase")or die("Could not connect to selected MySQL  database."); 

$infosql = "SELECT * FROM premiersounds_users WHERE customer_id = $id"; 
$inforesult = mysql_query($infosql) or die(mysql_error()); 
$info = mysql_fetch_array($inforesult); 


$l_date=$info['lockout_date']; 

//Get current date from server 
$format="%m/%d/%y"; 
$c_date=strftime($format); 
//set sessions 
$_SESSION['current_date'] = $c_date; 
$_SESSION['lockout_date'] = $l_date; 

//Check is Current date = lockout date 
if ($c_date >= $l_date) 
{ header("location:/planner_scripts/documnet_editors/edit_weddingplanner.php?id=$id");  } else {echo 'Whoops! Were sorry your account has been locked to edits because your event  is less than 48 hours from now or your event has passed. To make changes to your event  please contact your DJ.'; echo'<br/>'; echo ' Todays Date: ';echo $c_date; echo ','; echo '  Last Date for edits: '; echo $l_date;} 
?> 
+3

なぜあなたはh eadersはまだ送られていますか? – jeroen

+0

私はその質問を理解していません。 PSでは、リダイレクトヘッダの 'Location:'(大文字のLとコロンの後のスペースに注意してください)を使用する方が良いでしょう。 –

答えて

2

何のヘッダがまだ送信されていないように私は、これが最初のコードの実行であることを確認してくださいだろうが、あなたがそこにそれを置くことができない場合、あなたは2つの選択肢があります。

  1. JavaScriptを使用:window.location.url = ...
  2. あなたがあなたの前にコードを変更することはできませんと仮定し <meta http-equiv="refresh" content="0;url=...">

2の選択肢:

  • は、ページの<head>セクションにメタリフレッシュタグを入れてセクションが実行されます...

  • 2

    output bufferingを使用すると、レンダリングされるものをすべて停止できます。あるいは、ユーザーに何かをエコーする前に、リダイレクトがロジックで行われていることを確認してください。

    正しい構文はLocation: http://....

    です。注:

    • 資本L
    • :とURL
    • 絶対URLとの間の空間に働くかもしれませんが(相対URLがRFCに準拠していませんほとんどのブラウザ)
    関連する問題