2

ここに簡単な質問があります:

PHPでのエラー処理のためにウィンドウをポップアップさせるにはどうすればよいですか?これを行う唯一の方法はjavascriptですか、それともPHPでこれを行う方法はありますか?

PHPファイルがあり、コード行の1つは次のとおりです。

 echo implode('<br />', $errors);

このコード行は、次のように、フォームから発生するすべてのエラーをキャッチします。

 if (strlen($_POST['name'])<3) $errors[] = 'De naam van uw bedrijf moet minstens 3 letters bevatten';
  if (strlen($_POST['number'])<9) $errors[] = 'Uw nummer moet minstens 9 nummers bevatten';
  if (!preg_match($regexp_mail, $_POST['email'])) $errors[] = 'Onjuist E-mailadres';

誰かが私のフォームで送信を押すと、エラーは別のページに表示されます。これはポップアップウィンドウに表示されます。前もって感謝します

4

4 に答える 4

5

ポップアップを開くにはJSを使用する必要がありますが、PHPを使用して条件付きでページに配置することはできますが、JavaScript関数を使用する必要があるのは当然です。

于 2013-03-27T13:05:25.207 に答える
5

ポップアップの場合、JavaScriptが必要です。これをヘッダーに入れてください:

<script>
function myFunction()
{
alert("I am an alert box!"); // this is the message in ""
}
</script>

そしてこれはあなたの体にあります:

<input type="button" onclick="myFunction()" value="Show alert box">

ボタンを押すと、ヘッダーに設定されたメッセージを含むボックスがポップアップ表示されます。

これは、phpタグなしで任意のhtmlまたはphpファイルに入れることができます。

- - -編集 - - -

phpを使用して表示するには、次のことを試してください。

<?php echo '<script>myfunction()</script>'; ?>

100%正確ではないかもしれませんが、原則は同じです。

さまざまなメッセージを表示するには、多くの関数を作成するか、関数を呼び出すときに変数を関数に渡すことができます。

于 2013-03-27T13:08:27.347 に答える
1

PHPはサーバー側で実行されるため、ポップアップウィンドウを表示できるクライアント側のテクノロジであるJavaScriptを使用する必要があります。

したがって、フォームにエラーが含まれていて、そのポップアップを表示したい場合は、PHPを介して特定のJSブロックを出力する必要があります。

于 2013-03-27T13:05:42.167 に答える
1
if (isset($_POST['Register']))
    {
        $ErrorArrays = array (); //Empty array for input errors 

        $Input_Username = $_POST['Username'];
        $Input_Password = $_POST['Password'];
        $Input_Confirm = $_POST['ConfirmPass'];
        $Input_Email = $_POST['Email'];

        if (empty($Input_Username))
        {
            $ErrorArrays[] = "Username Is Empty";
        }
        if (empty($Input_Password))
        {
            $ErrorArrays[] = "Password Is Empty";
        }
        if ($Input_Password !== $Input_Confirm)
        {
            $ErrorArrays[] = "Passwords Do Not Match!";
        }
        if (!filter_var($Input_Email, FILTER_VALIDATE_EMAIL))
        {
            $ErrorArrays[] = "Incorrect Email Formatting";
        }

        if (count($ErrorArrays) == 0)
        {
            // No Errors
        }
        else
        {
            foreach ($ErrorArrays AS $Errors)
            {
                echo "<font color='red'><b>".$Errors."</font></b><br>";
            }
        }
    }

?>

    <form method="POST"> 
        Username: <input type='text' name='Username'> <br>
        Password: <input type='password' name='Password'><br>
        Confirm Password: <input type='password' name='ConfirmPass'><br>
        Email: <input type='text' name='Email'> <br><br>

        <input type='submit' name='Register' value='Register'>


    </form> 

これは非常に基本的なPHPフォームの検証です。これはブロックに入れることができますtryが、基本的な参考のために、コメントボックスでの会話の後にこれが当てはまると思います。

このスクリプトが実行するのは、各post要素を処理し、それに応じて動作することです。次に例を示します。

    if (!filter_var($Input_Email, FILTER_VALIDATE_EMAIL))
        {
            $ErrorArrays[] = "Incorrect Email Formatting";
        }

これはチェックします:

$Input_Emailが有効な電子メールではない場合。これが有効な電子メールでない場合、メッセージは空の配列に追加されます。

スクリプトのさらに下に、次のように表示されます。

    if (count($ErrorArrays) == 0)
    {
        // No Errors
    }
    else
    {
        foreach ($ErrorArrays AS $Errors)
        {
            echo "<font color='red'><b>".$Errors."</font></b><br>";
        }
    }

基本的に。配列数が0でない場合、エラーが見つかりました。次に、スクリプトはエラーを出力します。

これはコメントボックスでの会話に基づく参照であり、そのように使用する必要があることを忘れないでください。

于 2013-03-27T13:29:30.030 に答える