2013-12-11 157 views
-4

這是我的PHP:爲什麼我的電子郵件驗證不起作用?

header('Content-type: application/json'); 

try { 
$conn = new PDO('mysql:host=localhost;dbname=grand_debrouillage', 'gd_user', 'gd_p455w0rd'); 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

if (!empty($_POST['email'])) { 
    $stmt = $conn->prepare('SELECT id FROM users WHERE courriel = :courriel'); 
    $stmt->bindParam(':courriel', $_POST['email'], PDO::PARAM_INT); // <-- Automatically sanitized by PDO 
    $stmt->execute(); 

    if ($stmt->rowCount() == 0) { 
     echo json_encode(true);  //good to register 
    } 
    else { 
        echo json_encode(false); //already registered 
    } 
} 
else { 
    echo json_encode(false); //invalid post var 
} 

} catch(PDOException $e) { 
    echo 'ERROR: ' . $e->getMessage(); 
} 

這是我的我的js

$('#form').validate({ // initialize the plugin 
    rules: { 
     prenom: {required:true}, 
     nom: {required:true}, 
     email: { 
      required:true, 
      email:true, 
      remote: { 
       type: 'POST', 
       url:"email_check.php" 
      }  
     }, 

    ... 
+4

定義:不工作 – Jamiec

+0

我想CONSOLE.LOG真或假,並沒有任何反應,不打印任何東西 – Monica

+0

這確實要求一步一步調試。什麼時候失敗?電子郵件檢查是否曾經運行? (期待中的元素檢查的「網絡」選項卡中看到的請求是由什麼),還檢查了[拿捏錯誤消息出來PDO的?](http://stackoverflow.com/q/3726505) –

回答

2

最有可能在console.log($_POST);失敗,這是幾乎沒有一個PHP代碼。

檢查Web服務器日誌的語法錯誤。

+0

我刪除了它,但仍然無效 – Monica

+1

請檢查您的Web服務器日誌是否有語法錯誤。 –

-1

所以問題是,當我設置的規則,我必須把遙控器在雙引號。

   "remote": { 
       type: 'POST', 
       url: 'email_check.php', 
       data: { 
        email: function() { 
         return $('#form :input[name="email"]').val(); 
        } 
       }     
      } 
+0

**沒有**,那_absolutely_ **不能**是問題。 **對於jQuery Validate插件所使用的任何方法/規則,用引號將方法/規則名稱包圍起來不是強制性的;而在JavaScript中,單引號或雙引號不會有任何區別。**您很可能在添加這些引號的同時更改了其他內容。比較[此演示不帶引號](http://jsfiddle.net/JTT5V/)[此功能相同的演示使用各種混合引號](http://jsfiddle.net/JTT5V/2/)。 – Sparky

+0

見[百餘接受SO答案](http://stackoverflow.com/search?q=%5Bjquery-validate%5D+is%3Aanswer+isaccepted%3Ayes+remote)其中未中指定的'remote'方法任何類型的報價。另請參閱[官方文檔中的示例代碼](http://jqueryvalidation.org/remote-method/)。 – Sparky

相關問題