-5

WampServer を使用して、php と SQL で Web サイトを作成しました。そして、条件の後またはブールで、ヘッダーの場所を使用してユーザーを別のページに転送します。しかし、サーバーからエラーが発生しました。コードではなくコードの後に​​ヘッダーを使用しているためだと思います。すべての空白を削除しました。

if($passfinal['contrasena']==$_POST['password'])
{
$_SESSION['logedin']=TRUE;
$_SESSION['userid']=$passfinal['id'];
header('Location: ../index.php');
}

何か手伝えることはありますか?ありがとうございます。

4

2 に答える 2

0

警告: ヘッダー情報を変更できません - 37 行目の /home/sirobdco/public_html/login/includes/loginform/loginform.php の (/home/sirobdco/public_html/login/login.php:11 で開始された出力) によって既に送信されたヘッダー

すでにヘッダーを送信しているため、PHP でヘッダーを再度送信することはできません。
つまり、コードの前に

header('Location: ../index.php');

すでにヘッダーを送信しています-htmlの空白、PHPのエコーなど。

これを読んでください:
http://php.net/manual/en/function.header.php

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

于 2013-09-23T00:25:03.083 に答える
0

ここに問題があると思います。$_POST['password']比較を行う前に、最初に確認する必要があるためです。if(isset($_POST['password']))この場合、空白は重要ではなく、最後の 1 つです。header('location: http://example.com/index.php')これはより素晴らしく、真の方法です。

于 2013-09-23T00:16:07.893 に答える