php doppelte eintraege
mister mister
- php
so folgend der quellcode der leider nur den benutzernamen checkt ----
//Abfrage ob der username schon in der datenbank steht...
$query = "SELECT * FROM arlekino_user WHERE user='$user'";
$result = mysql_db_query($mysqldb, $query, $connection) or die ("Error in query: $query. " . mysql_error());
if(mysql_num_rows($result) >= 1) { header("Location: fehler.php"); exit; }
else
{
$query = "INSERT INTO arlekino_user SET user='$user', password='$password', email='$email', handy='$handy', base='$base'";
}
-----
nun w?ch gerne wissen wie ich auch noch die in der datenbank stehenden $email checken... wie ???danke schonmal :)
Hi,
if(mysql_num_rows($result) >= 1) { header("Location: fehler.php"); exit; }
diesen Location-Header *darfst* Du so nicht versenden, er *muss* eine absolute URL beinhalten. Siehe Archiv.
nun w?ch gerne wissen wie ich auch noch die in der datenbank stehenden $email checken... wie ???danke schonmal :)
Du könntest die WHERE-Clause erweitern, oder mit if arbeiten.
Cheatah
wenn ich ne 2te if schleife da dran hänge dann schreibt der gleich einen error.
Hallo!
wenn ich ne 2te if schleife da dran hänge dann schreibt der gleich einen error.
Wäre nicht uninteressant zu erfahren was genau Du gemacht hast (Quellcode) und was geanu Du für eine Fehlermeldung hast.
Grüße
Andreas
also, kann doch eigentlich nicht so schwer sein nur ich komme nicht drauf. Ich übersetzte mal wie es logisch sein sollte:
"Hallo datenbank ich bins dein admin", "schau mal bitte nach ob der user=user-eingabe und wo ob die email=email-eingabe doppelt sind und gib dann pro fehler eine meldung aus.
ach so wenn dann noch jemand einen link sehen will->
http://www.indict.de/arlekino/user_anmeldung.php
hi,
ach so wenn dann noch jemand einen link sehen will->
http://www.indict.de/arlekino/user_anmeldung.php
da sehen wir html-code, aber kein stück php. wie soll uns das helfen, zu suchen wo dein fehler leigen könnte?
gruss,
wahsaga
ok dann der ganze code hier->http://www.indict.de/arlekino/user_anmeldung.html
der soll einfach nur noch die email checken ob die nicht auch schon in der dB steht.
Hallo!
hier->http://www.indict.de/arlekino/user_anmeldung.html
der soll einfach nur noch die email checken ob die nicht auch schon in der dB steht.
Ja, aber das musst Du "ihm" auch sagen dass er das machen soll.
Bei Dir steht:
//Abfrage ob der username schon in der datenbank steht...
$query = "SELECT * FROM arlekino_user WHERE user='$user'";
Du sagst uns "soll checken ob email in DB steht...".
Dazu sagte Cheathah in der 1. Antwort:
"Du könntest die WHERE-Clause erweitern, oder mit if arbeiten."
So. Wo ist jetzt das Problem? Ich sehe nicht dass Du Cheathah's Tipp ausprobiert hast, und ich sehe auch keinen Fehler wegen einer If-Anweisung.
Grüße
Andreas
$query = "SELECT * FROM arlekino_user WHERE user='$user' AND email='$email'";
das funtz net
if(email=$email OR user='$user') geht auch nicht... was dann ?
Hi,
das funtz net
das wast net? Meinst Du "funktioniert nicht"? Das ist keine Fehlerbeschreibung.
if(email=$email OR user='$user') geht auch nicht...
Das ist keine gültige PHP-Syntax; und nebenbei bemerkt heißt der Operator für Stringvergleiche "==", nicht "=" - das ist eine Zuweisung.
Cheatah
$query = "SELECT * FROM arlekino_user WHERE user='$user' AND email='$email'";
das funtz net
Was heißt "funzt net"? Fehlermeldung? Führt nicht zum gewünschten Ergebnis? Inwiefern?
Überlege was Da abfragst:
"Wähle alls Spalten von der Tabelle arlekine_user dessen Benutzername gleich $user ist, und dessen Email-Adresse gleich $email ist.
Ist es das was Du willst?
Bedenke die darauf folgende Zeile:
if(mysql_num_rows($result) >= 1) { header("Location: fehler.php"); exit; }
Das heißt: wenn Du mit obiger Abfrage 1 oder mehr Datensätze gefunden hast, dann soll eine Fehlernmeldung kommen(Hierzu siehe bitte auch: http://www.dclp-faq.de/q/q-http-redirect.html, Du machst das wie gesagt wurde falsch)
Jedenfalls, wilst Du das eien Fehlermldung nur in dem Fall kommt wenn es mindestens einen Datensatz gibt der sowohl $user als auch $email enthält?
if(email=$email OR user='$user')
Das ist wiedeer was ganz anderes, wo schreibst Du das so hin? AUß0erdem verwendewts Du hier OR im Gegensatz zu vorher.
Entweder DU filterst mit Hilfe der WHERE Bedingung, oder Du filterst nach der Abfrage indem Du das erhebnis, noch in PHP auswertest, mit Hilfe von if halt.
geht auch nicht... was dann ?
Was geht nicht? Wenn Du beim Notarzt anrufst sagst Du dann auch "hallo, hier gehts jemand schlecht, tschö!"?
Grüße
Andreas
hi,
$query = "SELECT * FROM arlekino\_user
WHERE user
='{$user}' OR email
='{$email}'";
so bekommst du alle Zeilen die entwerder $user oder $email in den
entsprechenden spalten enthalten, wenn das passiert dann fehler
ausgeben: Email oder Name doppelt vorhanden!
schöne Grüße
FICHTL