私はvalidate-emailjavascriptを作成し、それをフォームとPHPで動作させようとしています。クールの、いくつかの問題...
私のフォームでわかるように、メソッドとして「post」を定義しました。しかし、getメソッドであるかのようにデータを取得することしかできません。電子メール検証スクリプトを追加してコードを採用する前は、これは機能していました。
電子メールが正しくない場合、私はfalseを返します。test.php(実際に定義されている)へのリクエストは実行されるべきではないという点ではありませんか?現在のように、falseを返してもページにアクセスします。
上記の質問への回答に応じて、電子メールが正常に確認された場合、Javascriptからフォームを送信する必要がありますか?
javascript:
function isValidEmail() {
regExp = /^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,4})+$/;
if(document.subscribe.email1.value.search(regExp) == -1){
alert(document.subscribe.email1.value + " Incorrect email address");
return false;
}
//document.subscribeForm.submit();
return true;
}
php:
<?php
echo $_POST['email1'];
$mysqli = mysqli_connect("localhost", "root", "", "test", "3306");
$result = mysqli_query($mysqli, "SELECT email, id, subscriber, subscribed_date FROM `user` u;");
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
foreach($row as $key => $value){
echo "$key = $value<BR/>";
}
}
mysqli_free_result($result);
mysqli_close($mysqli);
?>
html:
<div id="subscribe">
<form action="test.php" name="subscribe" method=post">
<p id="formlabel">E-mail</p> <input type="text" name="email1">
<br>
<p id="formlabel">Repeat e-mail</p> <input type="text" name="email2"> <br/>
<input type="submit" value="Subscribe" onclick="isValidEmail()">
</form>