-1

成功したページに移動する代わりに、スクリプトページで停止し、タイトルに「警告: ヘッダー情報を変更できません - ヘッダーは既に送信されました (出力が開始されました)」というエラーが表示されます。エコーか何かの後にそれを持っていますが、それを修正する方法がわかりません。

   <div style="position:absolute;left:750px;top:0px;width:160px;height:41px;overflow:hidden;">
<?php
if(isset($_SESSION['userName'])){
echo 'You are already logged in as <a href="recent.php" <a>'.$_SESSION['userName'].'</a>. Not you? <a href ="logout.php"</a>logout';
}else{
echo ' Please login <a href ="login_form.php" <a> click here</a>'.' Register <a href="register.php"<a>here</a>';
}

?>  
</div>
<div style="position:absolute;left:400px;top:150px;width:400px;height:141px;overflow:hidden;">
<?php
//=============Configuring Server and Database=======
$host        =    'localhost';
$user        =    'root';
$password    =    'revilo';
//=============Data Base Information=================
$database    =    'dbsneaker';

$conn        =    mysql_connect($host,$user,$password) or die('Server Information is not Correct'); //Establish Connection with Server
 mysql_select_db($database,$conn) or die('Database Information is not correct');

 //===============End Server Configuration============

 //=============Starting Registration Script==========

 $userName    =    mysql_real_escape_string($_POST['txtUser']);

 $password    =    mysql_real_escape_string($_POST['txtPassword']);

 //=============To Encrypt Password===================
//$password    =    md5($password);
//============New Variable of Password is Now with an Encrypted Value========
if(!trim($userName) || !trim($password)){
echo 'Please fill in the form <br> <a href="register.php"<a>Click here</a> to return to registration';
}else{
// There's no empty field
// Check user exists
$checkQuerySql = "SELECT * FROM `bladmin` WHERE `admin_usr_name` = '$userName'";
$checkQuery = mysql_query($checkQuerySql);
if(mysql_fetch_assoc($checkQuery)){
    echo 'User already exists <br> <a href="register.php"<a>Click here</a> to return to registration';
   }else{
    if(isset($_POST['btnRegister'])) //===When I will Set the Button to 1 or Press Button to register
{
$query    =    "insert into bladmin(admin_usr_name,admin_pwd)values('$userName','$password')";
$res    =    mysql_query($query);
header('location:success_register.php');
}// User doesnt exists
}
}



?>
</div>
</div>
4

2 に答える 2

0

ヘッダ

通常のHTMLタグ、ファイル内の空白行、またはPHPのいずれかによって、実際の出力を送信する前に、header()を呼び出す必要があることに注意してください。include、require、関数、または別のファイルアクセス関数を使用してコードを読み取り、header()が呼び出される前に出力されるスペースまたは空の行があることは非常に一般的なエラーです。単一のPHP/HTMLファイルを使用する場合にも同じ問題が存在します。

したがって、何かを出力する前にヘッダーを呼び出すようにコードを再編成する必要があります。

于 2013-03-21T02:07:09.763 に答える
0

質問への答えは簡単です。ヘッダーを設定する前に出力がないはずです。これは、ヘッダーを実際に使用したことがない初心者によくある間違いです。

<?php
header ("Location: test.php");
?>

これはエラーをスローしません

<?php
 echo "blabla";
header ("Location: test.php");
?>

また

<strong> test</strong>
<?php
header ("Location: test.php");
?>

上記はエラーを引き起こします。

于 2013-03-21T02:08:05.963 に答える