php/sql fehler...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfragen
aussehen
auswahl
beitrag
checken
error
exit
falsch anfrage
fehler
fehlermeldung
fragen
gleichheit
ideale sprache
insert
kontrolle
manual
right
router
session
syntax
-
Moinsen.
Ich schreibe, (wie manche vielleicht wissen ) 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 Chat</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? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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 -
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...
-
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 -
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
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 -
Ist mir auch schon passiert aber aber dann den loader eqaliert dann passt das.
-
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?? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage