Prüfen ob Benutzername vergeben ist, AJAX/PHP/MySQL

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

  • Prüfen ob Benutzername vergeben ist, AJAX/PHP/MySQL

    Hallo, hab das mal versucht zu realisieren, aber irgendwie funktioniert das nicht, die Seite macht gar nichts wenn man etwas in das Feld einträgt. Firebug sagt auch nix dazu, wäre toll wen einer von euch helfen könnte. Wenn einer die Live demo braucht, um bei dem Problem zu helfen, bitte einfach eine PM an mich.

    checkname.js

    Quellcode

    1. checkname = { //new object
    2. checkReq: 0,
    3. checknametimer: 'x',
    4. testkey: function (e) {
    5. var myKey;
    6. if(window.event) {
    7. myKey = e.keyCode;
    8. }
    9. else if(e.which) { // Netscape/Firefox/Opera
    10. myKey = e.which;
    11. }
    12. switch ( myKey ) {
    13. case 13: {
    14. myKey = 'RET';
    15. break;
    16. }
    17. }
    18. return myKey;
    19. },
    20. usernick_keypressed: function( pEvent ) {
    21. tb.timer.abort( checkname.checknametimer );
    22. if ( checkname.testkey( pEvent ) != 'RET' ) {
    23. checkname.checknametimer=tb.timer.add( 'checkname.checkit()', 500 );
    24. }
    25. else {
    26. checkname.checkit();
    27. }
    28. },
    29. checkit: function() {
    30. if ( checkname.checkReq != 0 ) {
    31. checkname.checkReq.abort();
    32. }
    33. checkname.checkReq = tb.request.add({
    34. method: 'POST', //kann man auch weglassen ist standard - GET müßte man schreiben
    35. url: '/includes/isuser.php',
    36. parms: { // ein Objekt, daß die Parameter als name / wert paar enthält
    37. nick: document.getElementById('fUsername').value
    38. },
    39. success: checkname.checkit_cb // die callback funktion
    40. });
    41. },
    42. checkit_cb: function( pXml, pText ) {
    43. if ( pText === '1' ) {
    44. document.getElementById('Nickname').style.border='1px solid #ff0000';
    45. document.getElementById('Nickname').style.background='#ffeeee';
    46. document.getElementById('fUsernameMsg').innerHTML = 'Nein';
    47. document.getElementById('bSave').style.display = 'none';
    48. }
    49. else {
    50. document.getElementById('Nickname').style.border='1px solid grey';
    51. document.getElementById('Nickname').style.background='white';
    52. document.getElementById('fUsernameMsg').innerHTML = '<img src="pics/grueneshaekchen.jpg" />';
    53. document.getElementById('bSave').style.display = '';
    54. }
    55. checkname.checkReq = 0;
    56. }
    57. }
    Alles anzeigen


    isuser.php (liegt im /includes/isuser.php, ist mit einer .htaccess geschützt)

    Quellcode

    1. <?php
    2. $con= mysql_connect('localhost','webxxx','xxxxxxx') or die(mysql_error());
    3. mysql_select_db('usr_webxxx_xxx',$con) or die(mysql_error());
    4. $myNick = $_REQUEST['Nickname'];
    5. // suche NICK in DB...
    6. $nicknames = array();
    7. $sql = "SELECT * FROM users WHERE username='".$_REQUEST['Nickname']."'";
    8. $result = mysql_query($sql);
    9. while($row = mysql_fetch_assoc($result)){
    10. $nicknames[] = $row['Nickname'];
    11. }
    12. if(in_array(trim($myNick), $nicknames)) {
    13. echo "1";
    14. } else {
    15. echo "0";
    16. }
    17. echo $Nickname;
    18. ?>
    Alles anzeigen


    html datei

    Quellcode

    1. <script type="text/javascript" src="/scripte/checkname.js"></script>
    2. <script type="text/javascript" src="/scripte/twobirds.js"></script>
    3. ......
    4. <input type="text" class="formfield" name="newuid" id="Nickname" maxlength="16" value="<?=$newuid?>" onkeyup="checkname.usernick_keypressed( event );var myKey = checkname.testkey( event ); if ( myKey == 'RET' ) { application.registerwindow.savereg(); }" /> <span id="fUsernameMsg" ></span>



    Und warum geht das nu nicht? :heul: Wäre sehr dankbar über eine Hilfestellung.