簡単な PHP スクリプトを作成しようとしています。
- ユーザーは Web ページにアクセスし、フォームを介して電子メール アドレスとパスワードを登録します (その他の iinput は必要ありません)。
- メールとパスワードはデータベースに保存され、ランダムな一意の 6 桁の PIN が生成され、メールに対して保存されます。ピンは、データベース内の既存のピンに対してチェックされ、一意であることを確認します。
- PIN は Web ページに表示され、電子メールとパスワードの送信の確認後にユーザーに表示されます。
TL;DR ユーザーはサインアップして、固有のピンを取得します。
次の PHP コードがありますが、私の WAMP サーバーでは実行されないようです。.php ページを生のテキストとして返すだけです。明白な構文または構成が欠落していますか?
<?
if($_POST['srSubmit'] && $_POST['srEmail'] && $_POST['srPass']) {
$conn = mysql_connect('localhost','','');
mysql_select_db("db_test",$conn);
while(1) {
$pin = rand(111111,999999);
$sel = mysql_query("SELECT * FROM formusers WHERE pin = '$pin'");
if(mysql_num_rows($sel) != 0) { continue; }
mysql_query("INSERT INTO formusers(email,password,pin) VALUES('".$_POST['srEmail']."','".$_POST['srPass']."','".$pin."')");
if(mysql_affected_rows()!=-1) {
echo "Pin:" . $pin;
exit;
} else {
echo "Existing email, try again<br />";
}
break;
}
}
?>
<form method="POST" action="">
<input type="email" name="srEmail" value="" placeholder="Email" /><br />
<input type="password" name="srPass" value="" placeholder="Password" /><br />
<input type="submit" name="srSubmit" value="Register" />
</form>