-2

以下のコードがあります。フォームを検証して、フォームが送信される前に両方の電子メールが一致することを確認したいと思います。

メールは 24 行目と 26 行目にあります。よろしくお願いします。

<?php
include_once 'includes/config.php';
$pageTitle = 'Members';
include HEADER;
?>

<?php
$fname  = "";
$lname  = "";
$email1 = "";
$email2 = "";
?>

<p>To create an account with us please fill out the form below</p>

<form action="sendRegister.php" method="get">
    First Name: <input name="new[fname]" type="text"><br>
    Last Name: <input name="new[lname]" type="text"><br>
</form>

Email : <input name="new[email1]" required="" type="email" value="<?php echo $email1;?>"><br>
Re-Enter Email : <input name="new[email2]" required="" type="email" value="<?php echo $email2;?>"><br>
Password: <input name="new[password1]" type="password"><br>
Re-enter password:<input name="new[password2]" type="password"><br>
Gender: <select name="new[gender]">
    <option value="Male">
        Male
    </option>

    <option value="Female">
        Female
    </option>
</select><br>
State of Residence:<select name="new[states]">
    <option value="NY">
        New York
    </option>

    <option value="NJ">
        New Jersey
    </option>
</select><br>
<br>
<?php 
if(isset($email1) != $email2){
echo 'please correct your email';
}
?>
<input type='submit' value='submit'>
</form>
<?php 
include FOOTER;
?>
4

3 に答える 3

0

試す:

if(isset($email1, $email2)) {
  if($email1 != $email2){
    echo "Bad Email"
    ....
  }
}

javascriptを使用してこれを行うこともできます(http://www.w3schools.com/js/js_form_validation.asp

于 2013-02-23T21:39:07.317 に答える
0

これにはJavaScriptを使用するのが最善だと思います。特に、送信前に検証する場合は、(afaik)PHPが送信時にチェックを行う必要があるのに対し、JavaScriptを使用して、送信ボタンがクリックされたときにチェックすることができます。検証の結果は続行されます。

ご覧ください:W3SchoolsJSフォームの検証

于 2013-02-23T21:39:51.663 に答える
0

フォームを送信する前に確認したい場合は、javascript で行う必要があります。

2 番目の可能性は次のとおりです。送信されたフォーム値をデフォルト値として設定します。

<?php
$pass1=$_POST["pass1"];
$pass2=$_POST["pass2"];
if (isset($pass1,$pass2) && $pass1!=$pass2) echo 'Your password confirmation is not equal to your password';
echo '<form ....>';
echo '<input type="text" name="pass1" value="'.$pass1.'">';
echo '<input type="text" name="pass2" value="'.$pass2.'">';
echo '</form>';
?>
于 2013-02-23T22:18:46.573 に答える