私はphpとjavascriptを初めて使用します。新しいユーザーアカウントを作成するために、最初のphpファイルに1つのモーダルダイアログオープンスクリプトを記述しました。モーダルウィンドウで有効な入力を行った後、postメソッドで情報を2番目のphpページに送信して挿入します。データベース内のデータ。
ここで問題が発生します.2番目のphpページには、電子メールアドレスがデータベースにすでに存在するかどうかを確認してエラーを表示する方法があります。それ以外の場合は、データをデータベースに挿入して3番目のphpページにリダイレクトします。
ただし、同じロジックを記述できません.2ページ目でメールチェックメソッドがtrueを返し、3ページ目にデータリダイレクトを正常に挿入した後にエラーを表示する場合のロジックを記述するようにガイドしてください。
以下のコードスニペットを見つけてください
2番目のphpと3番目のphpは同じフォルダーにあります。head()部分が機能していないため、2番目のページの検証でもエラーを表示する必要があります。最初のphpコードのほとんどはjavascriptとhtmlフォームです。そこから私は2ページ目に投稿しています
**1st php**
<script>
$("#dialog-form").dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Create an account": function() {
var bValid = true;
allFields.removeClass("ui-state-error");
bValid = bValid && checkLength(email, "email", 6, 80);
bValid = bValid && checkLength(password, "password", 5, 16);
bValid = bValid && checkLength(confirmpassword, "confirmpassword", 3, 16);
bValid = bValid && checkRegexp(email, .....);
bValid = bValid && checkRegexp(password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9");
bValid = bValid && IsEqual(password, confirmpassword, "password & confirmpassword are not equal");
if (bValid) {
$.ajax({
type: "POST",
url: "./create_account.php?act=create",
data: "&email=" + email.val() + "&password=" + password.val() + "&confirmpassword=" + confirmpassword.val(),
success: function(data) {
}
});
$(this).dialog("close");
}
},
Cancel: function() {
$(this).dialog("close");
}
},
close: function() {
allFields.val("").removeClass("ui-state-error");
}
});
$("#create-user")
.button()
.click(function() {
$("#dialog-form").dialog("open");
});
});
</script>
<div id="dialog-form" title="Create new user">
<p class="validateTips">All form fields are required.</p>
<form>
<fieldset>
<label for="email">Email</label>
<input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
<label for="password">Password</label>
<input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
<label for="confirmpassword">confirm password</label>
<input type="password" name="confirmpassword" id="confirmpassword" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
**2nd php**
<?php
$action = $_GET['act'];
if(!empty($_POST['email'])&&($_POST['password'])&&($_POST['confirmpassword'])) {
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email']);
$password = tep_db_prepare_input($HTTP_POST_VARS['password']);
$confirmpassword = tep_db_prepare_input($HTTP_POST_VARS['confirmpassword']);
$error = false;
{
$db = new mysql("root", "", "modal_db", "localhost");
$email_query_status ="select count(*) as total from " . CUSTOMERS . " where customers_email_address = $email_address ;
$check_email = mysql($email_query_status );
if ($check_email['total'] > 0) {
$error = true;
}
}
if ($error == false) {
$db->query("INSERT INTO user_info SET customers_email_address ='$email_address', password='$pword'");
header('Location: 3rd.php');
}
}
?>
Thanks in advance,
Debasis