0

ユーザーがサイトにアクセスするためにユーザー名とパスワードを入力する必要がある Web サイトを作成しています。すべてが完璧に機能します。正しいパスワードとユーザー名を入力すると、アクセスが許可されます。そうでない場合は、ユーザーを同じログイン フォーム ページにリダイレクトします。ただし、私が直面している問題は、php の次のコードにあります。

 if (!$_POST['username'] | !$_POST['pw'] ) {

        die("At least one box was left empty");

    }

このコードは、ユーザーが 2 つの入力ボックスのいずれかを空のままにしているかどうかをチェックします。サイトを強制終了し、必要な文を出力します。ただし、私がやりたいことは、ユーザーをログインフォームページにリダイレクトすることです。それについて何か助けはありますか?ありがとう

4

6 に答える 6

1

違う:

   if (!$_POST['username'] | !$_POST['pw'] ) {

例の構文が間違っています。正しくするには、記号を 1 つ追加する必要があります。

正しい:

   if (!$_POST['username'] || !$_POST['pw'] ) {
                            ^
于 2012-06-05T16:03:51.450 に答える
1

リダイレクトしようとさえしていません。

を使用header("Location: login.php");します (ログイン ページの場所が何であれ、そうでない場合login.php)、次にexit.

于 2012-06-05T16:02:35.260 に答える
0

次の 2 つの可能性があります。

  • header() 関数を使用します。header('Location: login.php');
  • java-script タグをエコー/出力します。echo "<script language="javascript">window.location.href='login.php';</script>

-header()関数は、呼び出す前にテキストを出力しない場合にのみ使用できます。

于 2012-06-05T16:04:32.693 に答える
0

emptyおよびheader関数を使用できます。

<?php
if(empty($_POST['username']) OR empty($_POST['pw']))
{
    header('Location: pathtoyourloginpage.php');
}

else
{
    echo "OK";
}
?>

$_POST['username'] と $_POST['pw'] が空かどうかをチェックしますそうであれば、TRUE を返し、それ以外の場合は FALSE を返します。

ORは論理演算子です。詳細については、http ://www.php.net/manual/en/language.operators.logical.php を参照してください。

empty(); に関する詳細情報 およびヘッダー();

http://php.net/manual/fr/function.empty.php

http://fr2.php.net/manual/fr/function.header.php

于 2012-06-05T16:05:45.020 に答える
0

まず、 double を使用|して比較する必要があります。正しい方法は次のとおりです。value || value

を使用してログインにリダイレクトしますheader('Location: login.php');

エラーとともにログインフォームに追加のメッセージを表示したい場合は、次のようにすることができます:header('Location: login.php?error=1');

次に、次のlogin.php手順で を確認できます。$_GET['error']

if($_GET['error'] == 1){
     echo "You have to fill username and password in order to continue.";
}
于 2012-06-05T16:07:26.070 に答える
0

これはあなたの問題を解決する最良の方法です:

たとえば、core.php ファイルで最初にこの変数を宣言し、すべての php ファイルで使用するか、作業中のファイルで宣言する必要があります。

$current_file = $_SERVER['SCRIPT_NAME'];

次に、 header() 関数で使用します。

header('Location: '.$current_file);

この方法の機会は、ユニバーサル変数を使用して、ヘッダー関数またはその他の関数で URL を指定することです。

于 2016-06-16T03:43:58.480 に答える