ajax & registrierungsformular

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wenn ich dich richtig verstehe, muss dazu auch noch Ajax her. Was natürlich davon abhängig ist, ob die E-Mail-Adresse und sonstige Angaben wirklich genauer geprüft werden sollen, zum Beispiel durch einen Vergleich zu einem Eintrag in der Datenbank oder aber das Prüfen der Existenz einer E-Mail-Adresse.

    Was für Vorkenntnisse besitzt du bereits?
  • Hallo !

    Hab da jetzt was nur wie bekomme ich da ne mail prüfung rein?

    Quellcode

    1. var AJAXForms;
    2. var LastField = null;
    3. var isIE = (navigator.appName == 'Microsoft Internet Explorer');
    4. function CheckField(field) {
    5. try {
    6. AJAXForms = new XMLHttpRequest();
    7. }catch(e){
    8. AJAXForms = new ActiveXObject("Microsoft.XMLHTTP");
    9. }
    10. AJAXForms.onreadystatechange = processChange;
    11. AJAXForms.open("GET", "check.php?op=ajax&field="+field.name+"&value="+field.value);
    12. LastField = field.name;
    13. AJAXForms.send(null);
    14. }
    15. function processChange() {
    16. if (AJAXForms.readyState == 4) {
    17. document.getElementById(''+LastField+'_1').innerHTML = AJAXForms.responseText;
    18. document.getElementById(''+LastField+'_1').style.visibility = "visible";
    19. }
    20. }
    Alles anzeigen
    Mfg Rompers
  • E-Mail Validierung?

    Kannst du sowohl mit PHP (eben über AJAX) oder direkt in JS machen.
    http://aktuell.de.selfhtml.org/artikel/programmiertechnik/email/

    Quellcode

    1. function checkEmail(email) {
    2. var proto = "(mailto:)?";
    3. var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
    4. var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
    5. var regex = "^" + proto + "?" + usr + "\@" + domain + "$";
    6. var rgx = new RegExp(regex);
    7. return rgx.exec(email) ? true : false;
    8. }


    Quellcode

    1. function check_email($email) {
    2. // RegEx begin
    3. $nonascii = "\x80-\xff"; # Non-ASCII-Chars are not allowed
    4. $nqtext = "[^\\\\$nonascii\015\012\"]";
    5. $qchar = "\\\\[^$nonascii]";
    6. $protocol = '(?:mailto:)';
    7. $normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
    8. $quotedstring = "\"(?:$nqtext|$qchar)+\"";
    9. $user_part = "(?:$normuser|$quotedstring)";
    10. $dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
    11. $dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
    12. $dom_tldpart = '[a-zA-Z]{2,5}';
    13. $domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";
    14. $regex = "$protocol?$user_part\@$domain_part";
    15. // RegEx end
    16. return preg_match("/^$regex$/",$email);
    17. }
    Alles anzeigen
  • mh wie soll ich das nun da dann einbinden?
    hier die js

    Quellcode

    1. var AJAXForms;
    2. var LastField = null;
    3. var isIE = (navigator.appName == 'Microsoft Internet Explorer');
    4. function CheckField(field) {
    5. try {
    6. AJAXForms = new XMLHttpRequest();
    7. }
    8. catch(e) {
    9. AJAXForms = new ActiveXObject("Microsoft.XMLHTTP");
    10. }
    11. AJAXForms.onreadystatechange = processChange;
    12. AJAXForms.open("GET", "register_check.php?op=ajax&field="+field.name+"&value="+field.value);
    13. LastField = field.name;
    14. AJAXForms.send(null);
    15. }
    16. function processChange() {
    17. if(AJAXForms.readyState == 4) {
    18. document.getElementById(''+LastField+'_1').innerHTML = AJAXForms.responseText;
    19. document.getElementById(''+LastField+'_1').style.visibility = "visible";
    20. }
    21. }
    Alles anzeigen

    hier die php

    Quellcode

    1. <?php
    2. require('./global.php');
    3. if($_GET['op'] == 'ajax') {
    4. $query = "SELECT * FROM ccs_users where user_name='".mysql_escape_string($_GET['value'])."' OR email='".mysql_escape_string($_GET['value'])."'";
    5. $result = mysql_query($query);
    6. $num_rows = mysql_num_rows($result);
    7. if($num_rows == 0) {
    8. $msg = 'available';
    9. $class = "green";
    10. } else {
    11. $msg = 'Not Available';
    12. $class = "red";
    13. }
    14. }
    15. echo '<span class="'.$class.'">'.$msg.'</span>';
    16. die();
    17. ?>
    Alles anzeigen

    und hier die html

    Quellcode

    1. <html>
    2. <head>
    3. <title>Register</title>
    4. <link rel="stylesheet" type="text/css" href="style.css" />
    5. <script src="java/form.js" type="text/javascript" language="javascript"></script>
    6. </head>
    7. <body>
    8. <form action="register.php" method="post" name="ajaxform">
    9. <table class=ajform>
    10. <tr>
    11. <td class="title">Username (*)</td>
    12. <td class="field"><input type="text" name="username" value="" size="20" OnChange="CheckField(this)" tabindex="1">
    13. <div id="username_1" class="message"></div></td>
    14. </tr>
    15. <tr>
    16. <td class="title">e-Mail (*)</td>
    17. <td class="field"><input type="text" name="email" value="" size="20" OnChange="CheckField(this)" tabindex="1">
    18. <div id="email_1" class="message"></div></td>
    19. </tr>
    20. </table>
    21. </form>
    22. </body>
    23. </html>
    Alles anzeigen
    Mfg Rompers