kostenloser Webspace werbefrei: lima-city


php/sql fehler...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    a******9

    Moinsen.
    Ich schreibe, (wie manche vielleicht wissen :confused: ) an einem Chat System.
    Ich versuche gearde mit einer IP ?berpr?fung zu Verhindern, dass man sich mehrmals einloggt.
    Aber wenn ich das ganze dann teste dann kommt ne Fehlermeldung...
    Hier erstmal der relevante code:
    // IP KONTROLLE -->
    $auswahl="SELECT ip FROM chat_sessions_valid";
    $auswahlerg=db_query($auswahl);
    
      while($row = mysql_fetch_object($auswahlerg)) // auslesen
        {
    $ip = $row->ip;
    if ($ip = $_SERVER['REMOTE_ADDR']) { // Wenn die ip bereits als eingeloggt besteht, 
    
    $loeschen = "DELETE * FROM chat_sessions_valid WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
    $loscherg=db_query($loeschen);
       $text="<font color=\'red\'><b>".$nick."</b> verl?sst den &#67;&#104;&#97;&#116;</font>";
       $anfrage="INSERT INTO chat_texte VALUES(0,'".$text."',now())";
       $ergebnis=db_query($anfrage);
    print('Deine IP ist bereits als Online markiert.<br>
    Du kannst dich nicht mehrfach einloggen!');
    exit();
    }
        }
    
    
    // IP KONTROLLE <--


    Aber zur?ck kommt dann nur:

    Fehler bei der SQL-Anfrage
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM chat_sessions_valid WHERE ip = '127.0.0.1'' at line 1



    wei? wer, wo der fehler liegt?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. a*********r

    ok, nehm vielleicht das als ip:

    anstatt
    $_SERVER['REMOTE_ADDR']
    das
    getenv('REMOTE_ADDR')


    und nicht db_query sondern mysql_query

    Beitrag ge?ndert am 27.08.2005 15:49 von actiongamer

    Beitrag ge?ndert am 27.08.2005 15:50 von actiongamer
  4. d******8

    Mal eine Frage:
    Warum pr?fst du nicht einfach, ob schon eine Session vorhanden ist?
    Vorallem wenn du die IP kontrollierst, k?nnen Leute die einen Router benutzen und mit der gleich IP unterwgs sind nicht gleichzeitig in den chat.
    Au?erdem halte ich PHP nicht f?r die ideale Sprache, um einen Chat zu programmieren.

    MfG Dagar

    Beitrag ge?ndert am 27.08.2005 15:52 von dagar888
  5. Autor dieses Themas

    a******9



    actiongamer schrieb:
    ok, nehm vielleicht das als ip:

    anstatt
    $_SERVER['REMOTE_ADDR']
    das
    getenv('REMOTE_ADDR')


    und nicht db_query sondern mysql_query

    Beitrag ge?ndert am 27.08.2005 15:49 von actiongamer

    Beitrag ge?ndert am 27.08.2005 15:50 von actiongamer

    Das ist wegen einer funktion :P
    da wird einfach per db_connect(); die verbindung aufgebaut.
    n query ?ber db_query($query); und
    geschlossen mit db_close();



    dagar888 schrieb:
    Mal eine Frage:
    Warum pr?fst du nicht einfach, ob schon eine Session vorhanden ist?
    Vorallem wenn du die IP kontrollierst, k?nnen Leute die einen Router benutzen und mit der gleich IP unterwgs sind nicht gleichzeitig in den chat.
    Au?erdem halte ich PHP nicht f?r die ideale Sprache, um einen Chat zu programmieren.

    MfG Dagar

    Beitrag ge?ndert am 27.08.2005 15:52 von dagar888

    joa...
    mit der session w?re es wohl einfacher mal gucken...
  6. c*********c

    if ($ip = $_SERVER['REMOTE_ADDR']) {


    Das m?sste so heissen, damit es die Gleichheit der Variablen ?berpr?ft:

    if ($ip == $_SERVER['REMOTE_ADDR']) {


    Des weiteren ist dieses Query falsch:

    $anfrage="INSERT INTO chat_texte VALUES(0,'".$text."',now())";

    M?sste etwa so aussehen:

    $anfrage="INSERT INTO chat_texte (spalte1, spalte2, spalte3) VALUES (0,'".$text."',now())";

    Beitrag ge?ndert am 27.08.2005 16:03 von compactdisc
  7. Autor dieses Themas

    a******9


    compactdisc schrieb:
    if ($ip = $_SERVER['REMOTE_ADDR']) {


    Das m?sste so heissen, damit es die Gleichheit der Variablen ?berpr?ft:

    if ($ip == $_SERVER['REMOTE_ADDR']) {


    Des weiteren ist dieses Query falsch:

    $anfrage='INSERT INTO chat_texte VALUES(0,''.$text.'',now())';

    M?sste etwa so aussehen:

    $anfrage='INSERT INTO chat_texte (spalte1, spalte2, spalte3) VALUES (0,''.$text.'',now())';

    Beitrag ge?ndert am 27.08.2005 16:03 von compactdisc

    das zeug macht alles kein Problem :wink:

    Aber hier ist eingfach mal ein neues TADA:
    wo liegt in diesem query der fehler?

    $loeschen = "DELETE * FROM chat_sessions_valid WHERE id_registered = ".$uid;

    Als R?ckmeldung kommt:
    Fehler bei der SQL-Anfrage
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM chat_sessions_valid WHERE id_registered = 1' at line 1


    EDIT:
    Hab dne Fehler...
    Ich hatte ein * drinne^^

    Beitrag ge?ndert am 27.08.2005 16:30 von andy2309
  8. f***k

    Ist mir auch schon passiert aber aber dann den loader eqaliert dann passt das.
  9. Autor dieses Themas

    a******9



    fronk schrieb:
    Ist mir auch schon passiert aber aber dann den loader eqaliert dann passt das.

    Den WAS gewasst??
    ich versteh nur bahnhof...
    was ist der loader und was heisst eqaliert??
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!