2017-07-10 9 views
1

私はこのPHPコードを持っています。 passwordとpassword2が一致しなかった場合は、パスワードが一致しなかったことを示すポップアップが表示され、一致する場合はデータが直接データベースに送られます。私の唯一の問題は、ポップアップウィンドウで[OK]をクリックすると、ページが空白ページにリダイレクトされるということです。私はそれをリロードする必要はありませんまたは私はちょうど登録フォームのモーダルにとどまりたいです。パスワードとパスワードの2つが一致しなかった場合、私のモーダルはリロードし続ける

<?php 
include ("RegisteredUsers.php"); 

$tbl_name="register"; 

if(isset($_POST['RegButton'])) 
{ 
$RegUser=$_POST['RegUser']; 
$RegMail=$_POST['RegMail']; 
$RegPass=$_POST['RegPass']; 
$CRegPass=$_POST['CRegPass']; 

if($_POST['RegPass'] != $_POST['CRegPass']) 
{ 

    echo "<script type='text/javascript'>; 
    alert('Password did not match!') 
    CRegPass.focus(); 
    </script>"; 
    exit(); 

} 
else 
{ 
    $sql="INSERT INTO `register`(`Username`, `Eadd`, `pass`, `cpass`) 
VALUES ('$RegUser','$RegMail','$RegPass','$CRegPass')"; 
    $result=mysql_query($sql)or die("Insert Error: ".mysql_error()); 

    echo "<script type='text/javascript'>; 
    alert('Registration Complete!') 
    location.replace('Homepage.php') 
    </script>"; 

    $count=mysql_num_rows($result); 
    } 
    } 
    ?> 
+0

'CRegPass'はどこに定義されていますか? 'CRegPass.focus();' – Luke

+0

Java!= javascript。修正する必要があること1.パスワードをハッシュする2.ドライバ(mysqliまたはPDO)を更新し、クエリをパラメータ化する3.確認パスワードを保存しないでください(常に同じ)。 JS 'location.replace'ではなくPHPの' header'を使うこともできます。URLに 'GET'パラメータを追加してリダイレクトされたページに表示することができます。 – chris85

答えて

0

このような操作には、ajaxを試してください。あなたは伝統的なフォーム提出システムを使用している場合、あなたは欲望の出力を達成しません。 サブミットボタンをクリックすると、アクションページに移動するためです。 このため、あなたは空白のページを取得しています。

関連する問題