Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

jQuery मान्य रिमोट - जांचें कि क्या ईमेल पहले से मौजूद है

यदि/अन्यथा क्वेरी में शर्त है तो आपको पंक्ति गणना बदलनी होगी

स्क्रिप्ट

<script>
$(document).ready(function () {
    $('#signup').validate({ 
    errorLabelContainer: "#cs-error-note",
    wrapper: "li",
    rules: {
        email: {
            required: true,
            email: true,
                remote: {
                    url: "check-username.php",
                    type: "post"
                 }
        }
    },
    messages: {
        email: {
            required: "Please enter your email address.",
            email: "Please enter a valid email address.",
            remote: "Email already in use!"
        }
    },
    submitHandler: function(form) {
                        form.submit();
                     }
    });
});
</script>

एचटीएमएल

<form class="form-inline" role="form" id="signup">
    <div class="form-group">
    <label for="email">Email address:</label>
        <input type="email" class="form-control" name="email" id="email">
    </div>
</form>

पीएचपी

चेतावनी इस PHP कोड कारण का उपयोग न करें rowCount() काम नहीं कर सकता है इसलिए इसे छोड़ दें और उत्तर के नीचे कोड पर जाएं।

<?php
    require('../../private_html/db_connection/connection.php');
    $conn = new PDO("mysql:host=$servername; dbname=$dbname", $username, $password);    
    if(isset($_POST['email'])) {
        $email = $_POST['email'];
        $query = $conn->prepare("SELECT email FROM user_accounts WHERE email = '$email'");
        $query->execute();
        if( $query->rowCount() > 0 ){
            echo 'false';
        } else {
            echo 'true';
        }
    }
?>

संपादित करें: जैसा कि @ जे ब्लैंचर्ड बहुत सुसंगत और मृत है, यह सुनिश्चित है कि उपरोक्त कोड काम नहीं करेगा

  • rowCount() सेलेक्ट स्टेटमेंट के लिए काम नहीं करता है। .com/a/31569733/1011527

  • नहीं, यह काम नहीं करेगा क्योंकि rowCount() सेलेक्ट स्टेटमेंट के लिए काम नहीं करता है। आपको पंक्ति गणना बिल्कुल नहीं मिल रही है।

  • $query->rowCount() को प्रतिध्वनित करने का प्रयास करें और आपको समस्या दिखाई देगी

और मुझे आश्चर्य होता है कि उपरोक्त कोड मेरे लाइव सर्वर पर कैसे काम कर रहा है जब ऐसा नहीं होना चाहिए तो मैंने कुछ खुदाई की और यह पाया;

और यह

उपरोक्त कथनों का स्रोत php.net मैनुअल

उपरोक्त दोनों कथनों में, कुछ डेटाबेस और अधिकांश डेटाबेस के लिए rowCount() काम करता है लेकिन दूसरी तरफ

  • पोर्टेबल एप्लिकेशन के लिए भरोसा नहीं करना चाहिए
  • पीडीओस्टेटमेंट::fetchColumn() का उपयोग करके लौटाई जाने वाली पंक्तियों की संख्या प्राप्त करें। तब आपका आवेदन सही कार्रवाई कर सकता है।

चूंकि ओपी केवल पंक्तियों की गिनती चाहता है और सभी पंक्तियों के सभी डेटा को इस तरह भी नहीं किया जा सकता है। श्रेय @Jay Blanchard को जाता है

इस कोड उदाहरण का उपयोग करें

PHP में कुछ बदलाव किए, isset use का उपयोग करें समारोह।

<?php
    require('../../private_html/db_connection/connection.php');
    $conn = new PDO("mysql:host=$servername; dbname=$dbname", $username, $password);    
    if(isset($_POST['email'])) {
        $email = $_POST['email'];
        $query = $conn->prepare("SELECT email FROM user_accounts WHERE email = '$email'");
        $query->execute();
        $rows = $query->fetchAll();
        $total_rows = count($rows);
            if( $total_rows > 0 ){
                echo 'false';
            } else {
                echo 'true';
            }
    }
?>

कार्य में देखें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ज़ेंड फ्रेमवर्क 1.5 में डुप्लीकेट कुंजी अपडेट पर INSERT करने का कोई तरीका है?

  2. Google Apps स्क्रिप्ट mySQL में स्प्रैडशीट निर्यात करने के लिए एकाधिक फ़ाइलों पर निष्पादित करता है

  3. कोडनिर्देशक में सक्रिय रिकॉर्ड

  4. 2 अलग-अलग तालिकाओं से उपयोगकर्ता या व्यवस्थापक के रूप में लॉग इन करना

  5. कैसे एक सबक्वेरी में एक अलग तालिका से विशिष्ट पंक्तियों की संख्या प्राप्त करने के लिए?