0

私は次のコードを持っています:

<fieldset>
<p>                    
    <label>Password*</label>
    <input type="password" placeholder="Password" name="pswd" id="psd"/>

    <label>Confirm Password*</label>
    <input type="password" name="cpswd" placeholder=" retype Password" id="cpsd" />

    <label class="obinfo">* obligatory fields</label>
</p>
</fieldset>

<?php
    $pwd = $_POST['pswd'];

    if (preg_match("#.*^(?=.{8,20})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$#", $pwd))
    {
        echo "Your password is good.";
    } 
    else 
    {
        echo "Your password is bad.";
    }
?>

現在、コードはパスワードが有効 (強力) かどうかをチェックするだけです。Undefined index pswd というエラーが発生しています。私はこの点で初心者です。JavaScript や jQuery についてはよくわかりません。パスワードの強度を確認し、php を使用して一致しているかどうかを確認する方法はありますか? また、フォーム自体にすべてのメッセージを印刷する方法を教えてください。前もって感謝します。

4

4 に答える 4

1

使用する:

<?php
if(isset($_POST['pswd'])){//You need to check if $_POST['pswd'] is set or not as when user visits the page $_POST['pswd'] is not set.
$pwd = $_POST['pswd'];

if (preg_match("#.*^(?=.{8,20})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$#", $pwd))
    echo "Your password is good.";
 else
    echo "Your password is bad.";
}
?>
于 2013-10-16T10:54:22.830 に答える
0

まず最初に、<form>アクションが""またはその独自のページ名であることを確認してください。

次に、あなたはすべきです

if (isset($_POST['pswd']))
{
    $pwd = $_POST['pswd'];

    if (preg_match("#.*^(?=.{8,20})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$#", $pwd)){
        echo "Your password is good.";
    } else {
        echo "Your password is bad.";
    }
}
于 2013-10-16T10:56:28.780 に答える