簡體   English   中英

在javascript onsubmit事件中將變量與php一起使用

[英]Using variable with php from javascript onsubmit event

我正在嘗試使用php中onsubmit()的值。

更具體:客戶端正在提交HTML表單。 onSubmit將其傳遞給兩個javascript函數。 這些功能之一應該從數據庫中獲取已注冊電子郵件的列表,以檢查其是否已被使用。

<?php
$email='?> frm.add_fd2.value <?php ';
// execute query
$num_rows = mysql_num_rows($result); ?>
var num_rows = <?php echo (is_int($num_rows)) ? $num_rows : 0; ?>;
if (num_rows > 0) {
    // JAVASCRIPT ERROR
}

JavaScript是一種客戶端語言。 看來您正在嘗試通過PHP從中檢索值,但這種情況永遠不會發生。 PHP將在JavaScript發揮作用之前長期執行。

您需要通過表單將值提交給PHP,或者使用類似AJAX的調用並將其發送給PHP,以便在頁面加載后對其進行處理。

就您而言,AJAX似乎是一個更好的選擇。 在這種情況下,應執行以下操作:

$.getJSON('verify_email.php',{email:frm.add_fd2.value},function(data){
  if (data.matches>0){
    // matches were found
  }else{
    // no matches found
  }
});

然后在verify_email.php中:

<?php
  // ... establish connection ...
  $email = mysql_real_escape_string($_GET['email']); // note, this should be checked for existance
  $result = mysql_query("SELECT * FROM table WHERE email='{$email}'");
  header('Content-Type: application/json');
  echo '{matches:'.mysql_num_rows($result).'}';
?>

或類似的東西。 (請注意,我正在使用jQuery來簡化語法)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM