ERLEDIGT
NEIN
NEIN
ANTWORTEN
24
24
ZUGRIFFE
641
641
EMPFEHLEN
-
Hallo,
ich habe ein Anmeldeformular das Daten in die SQL Datenbank einträgt. Nun ist mein Problem dass, das Formular bei Senden nicht überprüft, ob der Benutzer bereits in der DB ist.
Ich habe schon im Internet gesucht (z.b. Google) aber nichts gefunden oder es funktioniert nicht. Es muss doch einen Code geben mit dem sich das überprüfen lässt?
-
02.07.09 09:24 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Das hängt erst mal davon ab welche Daten du speicherst.
Wenn bei den Benutzerdaten zum Beispiel die eMail Adresse angegeben wird, dann könntest du zuerst abfragen ob diese eMail Adresse bereits in der DB vorhanden ist.
Wenn JA gib eine Meldung aus, wenn NEIN werden die Daten gespeichert.
Genauso ist es wenn man sich wie hier mit einem bestimmten Benutzernamen anmeldet. Dann eben mach eine Abfrage auf den Benutzernamen.
Gruß ThomasSollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Also ich frage folgende Daten ab:
E-Mail
Klamm-ID
Benutzername
Passwort
Bein Absenden wird nur nicht überprüft, ob die Daten bereits vorhanden sind.
Es war schon mit dem Anmeldeformular schwer für mich, weil ich nicht so der PHP kenner bin. Kannst du mir nicht so einen Code posten oder vielleicht einen Teil, so das ich weiß wie sowas aussieht?
--------
Wie man die Formulareingaben überprüft ab alles ausgefüllt worden ist weiß ich. Das mache ich mit Java.
-
Kann dem nur zustimmen das ist eine Lösung dafür - so würde ich es machen und habe ich es auch schon mal gemacht...
Also bei meinem Beispiel ist der Benutzername gleich die Mail-AdressePHP-Code:
# Prüfen ob die EMail adresse schon in der DB ist
// Hier wird die Verbindung zu der Datenbank hergestellt
$db_user = 'pizza';
$db_pass = 'pizza';
$db_host = 'localhost';
// Verbinden
$dblink = mysqli_connect($db_host, $db_user, $db_pass);
$selected = mysqli_select_db($dblink, 'pizza');
if (!$selected) {
die ('Cannot use DB : '.mysqli_error($dblink));
}
mysqli_set_charset($dblink, 'utf8');
// Hier beginnt der Vergleich
$mail = ($_POST['mail']);
$sql = "SELECT * FROM pizza.kunde WHERE mail LIKE '".$mail."' LIMIT 1";
$result = mysqli_query($dblink,$sql);
// Hier wird eine Fehlermeldung ausgegeben wenn die Adresse bereits vorhanden ist
if ( $result ) {
while ($row = mysqli_fetch_array($result,MYSQL_ASSOC)) {
if ($row['mail'] == $mail){$error['mail2']=1;}}
}
-
Danke für den Code. Damit ich das richtig verstehe, muss ich zuerst überprüfen, ob die E-Mail Adresse gültig ist?
Aber wie überprüft man alle Felder mit der DB.
Ich hab ja gesagt dass, ich nicht viel Ahnung von PHP habe. Anleitungen gibt es ja leider keine.
-
02.07.09 10:05 #6
www.php.net
http://tut.php-q.net/
http://www.tutorials.de/forum/tutorials-elearning/
www.nettuts.com
Es gibt unglaublich viele Tutorials für PHP.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Aha.
http://lmgtfy.com/?q=mysql+felder+pr%C3%BCfen
Gleich der zweite Treffer. Und ich hab mir nichtmal mühe gegeben bei der Suche.mfg
--------------------------------------------------------------------------------
Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!
Besucht den tutorials.de-Chat | Anleitung
RTFM - PHP-Handbuch - MySql Handbuch
--------------------------------------------------------------------------------
Surftipp...Der Postillon
--------------------------------------------------------------------------------
Signatur v2.2
-
Überprüfen ob eine Mail-Adresse gültig ist, sollte man immer - generell sollte man alle Daten die ein User eingibt checken ob es einen Sinn macht.
in diesem Bsp vergleiche ich nur die Mail adresse mit der datenbank. Versuch doch einfach mal den Code umzuschreiben...
{$error['mail2']=1;}} solltest du aber in ein echo() umschreiben, da er bei dir sicher nix ausgibt
könnte so aussehn:
PHP-Code:if ($row['mail'] == $mail){echo(Die E-Mail Adresse wird bereits verwendet)}
-
Dieses Wort habe ich nicht gesucht. Trotzdem funktioniert das in dem 2. Link nicht.
Ich glaube ich werde hier mal den Code vom Anmeldeformular posten:
PHP-Code:$host = "localhost"; $user = "irgendwas"; $passwd = "pwd"; $Email = $_POST['Email']; $Klammid = $_POST['Klammid']; $Benutzername = $_POST['Benutzername']; $Kennwort = $_POST['Kennwort']; $db=mysql_connect($host, $user, $passwd) or exit ("Keine Verbindung hergestellt!"); mysql_select_db("datenbank") or exit ("Datenbank nicht geöffnet!"); $sqlbef = "insert into tabelle (Email, Klammid, Benutzername, Kennwort) values ('$Email', '$Klammid', '$Benutzername', '$Kennwort')"; $sqlerg = mysql_query($sqlbef, $db) or die(mysql_error()); if ($sqlerg == true) { echo"Anmeldung erfolgreich!"; } else { echo"Anmeldung nicht erfolgreich! Bitte melden Sie sich nochmals an. Bei mehreren erfolglosen Anmeldungen kontaktieren Sie uns bitte. Vielen Dank!"; } mysql_close($db); ?><br><br /><br /><br />
-
Ich ahbe gerade was zusammengefügt, funktioniert aber nicht. Daten werden zwar in die DB eingetragen aber nicht geprüft.
PHP-Code:<?
$host = "localhost"; $user = "irgendwas"; $passwd = "pwd";
$result_Email = mysql_query("SELECT id FROM irgendwas WHERE Email LIKE '$Email'");
$result_Klammid = mysql_query("SELECT id FROM irgendwas WHERE Klammid LIKE '$Klammid'");
$result_Benutzername = mysql_query("SELECT id FROM irgendwas WHERE benutzername LIKE '$Benutzername'");
$result_Kennwort = mysql_query("SELECT id FROM irgendwas WHERE Kennwort LIKE '$Kennwort'");
$if_Email = mysql_num_rows($result_Email);
$if_Klammid = mysql_num_rows($result_Klammid);
$if_Benutzername = mysql_num_rows($result_Benutzername);
$if_Kennwort = mysql_num_rows($result_Kennwort);
// Zur überprüfung
echo "$if_Email, $if_Klammid, $if_Benutzername, $if_Kennwort.";
// Ausgabe, wenn beides schon vergeben:
1, 0.
$host = "localhost"; $user = "irgendwas"; $passwd = "pwd"; $Email = $_POST['Email']; $Klammid = $_POST['Klammid']; $Benutzername = $_POST['Benutzername']; $Kennwort = $_POST['Kennwort']; $db=mysql_connect($host, $user, $passwd) or exit ("Keine Verbindung hergestellt!"); mysql_select_db("datenbank") or exit ("Datenbank nicht geöffnet!"); $sqlbef = "insert into tabelle (Email, Klammid, Benutzername, Kennwort) values ('$Email', '$Klammid', '$Benutzername', '$Kennwort')"; $sqlerg = mysql_query($sqlbef, $db) or die(mysql_error()); if ($sqlerg == true) { echo"Anmeldung erfolgreich!"; } else { echo"Anmeldung nicht erfolgreich! Bitte melden Sie sich nochmals an. Bei mehreren erfolglosen Anmeldungen kontaktieren Sie uns bitte. Vielen Dank!"; } mysql_close($db); ?><br><br /><br /><br />
</body>
</html>
<? $db->close() ?>Geändert von jupiter01 (02.07.09 um 13:01 Uhr)
-
02.07.09 13:27 #11
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Du benützt in der Abfrage z.b. die Variable $Email doch erst viel weiter unten wird dieser Variable der $_POST Wert übergeben.
Außerdem besteht an der Stelle wo du die Abfragen machst noch gar keine Verbindung zur Datenbank.
Nur mal den Code von dir ein bisschen verändert aber ungeprüftPHP-Code:$host = "localhost";
$user = "irgendwas";
$passwd = "pwd";
$db=mysql_connect($host, $user, $passwd) or exit ("Keine Verbindung hergestellt!");
mysql_select_db("datenbank") or exit ("Datenbank nicht geöffnet!");
$Email = $_POST["Email"];
$Klammid = $_POST['Klammid'];
$Benutzername = $_POST['Benutzername'];
$Kennwort = $_POST['Kennwort'];
$result_Email = mysql_query("SELECT id FROM irgendwas WHERE Email LIKE '$Email'");
$result_Klammid = mysql_query("SELECT id FROM irgendwas WHERE Klammid LIKE '$Klammid'");
$result_Benutzername = mysql_query("SELECT id FROM irgendwas WHERE benutzername LIKE '$Benutzername'");
$result_Kennwort = mysql_query("SELECT id FROM irgendwas WHERE Kennwort LIKE '$Kennwort'");
$if_Email = mysql_num_rows($result_Email);
$if_Klammid = mysql_num_rows($result_Klammid);
$if_Benutzername = mysql_num_rows($result_Benutzername);
$if_Kennwort = mysql_num_rows($result_Kennwort);
// Zur überprüfung
echo "$if_Email, $if_Klammid, $if_Benutzername, $if_Kennwort.";
// Ausgabe, wenn beides schon vergeben:
1, 0.
if (($if_Email + $if_Klammid + $if_Benutzername + $if_Kennwort) == 0 {
$sqlbef = "insert into tabelle (Email, Klammid, Benutzername, Kennwort) values ('$Email', '$Klammid', '$Benutzername', '$Kennwort')";
$sqlerg = mysql_query($sqlbef, $db) or die(mysql_error());
if ($sqlerg == true) echo"Anmeldung erfolgreich!";
} else {
echo"Anmeldung nicht erfolgreich! Bitte melden Sie sich nochmals an. Bei mehreren erfolglosen Anmeldungen kontaktieren Sie uns bitte. Vielen Dank!"; }
}
mysql_close($db);
Es muss auch noch geprüft werden ob alle Pflichtangaben gemacht wurden und es sollte auch noch was im Bereich Sicherheit gemacht werden.
Gruß ThomasSollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Danke für den umgeschriebenen Code. Habe diesen gerad getestet, aber nun funktioniert gar nix mehr. Wenn man das Formular abschickt, dann wird der PHP Code angezeigt.
-
02.07.09 14:02 #13
du hast aber schon den code in die PHP-Klammern gesetzt oder?
PHP-Code:<?php // hier gehts los
// hier rein der Code
?> // hier ist SchlussWer einmal leckt, der weiß wies schmeckt!
-
Nein, dass hatte ich nicht gemacht, obwohl es ja klar sein müsste, das die Zeichen sein müssen. Ist ja fast überall so.
Habe es jetzt so gemacht, aber er spucke beim Absenden folgende Fehlermeldung aus.
Code :1
Parse error: syntax error, unexpected '=' in pfad/blabla.php on line 2
Das = in Zeile 2 habe ich weggemacht, funktioniert aber denn auch nicht.Geändert von jupiter01 (02.07.09 um 18:37 Uhr)
-
Habe mich da gerade nochmal rangesetzt.
Den Code habe ich jetzt so verändert
Folgende Fehlermelkdung kommt:PHP-Code:<?php //
// $host = "localhost";
$user = "irgendwas";
$passwd = "pwd";
$db=mysql_connect($host, $user, $passwd) or exit ("Keine Verbindung hergestellt!");
mysql_select_db("datenbank") or exit ("Datenbank nicht geöffnet!");
$Email = $_POST["Email"];
$Klammid = $_POST['Klammid'];
$Benutzername = $_POST['Benutzername'];
$Kennwort = $_POST['Kennwort'];
$result_Email = mysql_query("SELECT Email FROM tabelle WHERE Email LIKE '$Email'");
$result_Klammid = mysql_query("SELECT Klammid FROM tabelle WHERE Klammid LIKE '$Klammid'");
$result_Benutzername = mysql_query("SELECT tabelle FROM benutzerdaten WHERE benutzername LIKE '$Benutzername'");
$result_Kennwort = mysql_query("SELECT Kennwort FROM tabelle WHERE Kennwort LIKE '$Kennwort'");
$if_Email = mysql_num_rows($result_Email);
$if_Klammid = mysql_num_rows($result_Klammid);
$if_Benutzername = mysql_num_rows($result_Benutzername);
$if_Kennwort = mysql_num_rows($result_Kennwort);
// Zur überprüfung
echo "$if_Email, $if_Klammid, $if_Benutzername, $if_Kennwort.";
// Ausgabe, wenn beides schon vergeben:
1, 0.
if (($if_Email + $if_Klammid + $if_Benutzername + $if_Kennwort) == 0 {
$sqlbef = "insert into tabelle (Email, Klammid, Benutzername, Kennwort) values ('$Email', '$Klammid', '$Benutzername', '$Kennwort')";
$sqlerg = mysql_query($sqlbef, $db) or die(mysql_error());
if ($sqlerg == true) echo"Anmeldung erfolgreich!";
} else {
echo"Anmeldung nicht erfolgreich! Bitte melden Sie sich nochmals an. Bei mehreren erfolglosen Anmeldungen kontaktieren Sie uns bitte. Vielen Dank!"; }
}
mysql_close($db);
?> //
Code :1
Parse error: syntax error, unexpected ',' in /usr/export/www/hosting/thormann/loseverdienst/anmeldensenden.php on line 27
Ich habe keine Ahnung was das zu bedeuten hat
Ähnliche Themen
-
Bildupload im anmeldeformular
Von heikomi im Forum PHPAntworten: 2Letzter Beitrag: 04.10.07, 01:28 -
Anmeldeformular flash & PHP
Von rumbleinthecity im Forum Flash PlattformAntworten: 2Letzter Beitrag: 01.05.07, 13:14 -
Anmeldeformular
Von bigdadyx im Forum PHPAntworten: 1Letzter Beitrag: 08.08.05, 17:40 -
Anmeldeformular
Von destroyphil im Forum PHPAntworten: 2Letzter Beitrag: 04.11.04, 14:14 -
Anmeldeformular mit PHP upload?
Von ctrPhiL im Forum PHPAntworten: 2Letzter Beitrag: 24.09.04, 10:40





Zitieren



Login






[PHP][Snippet] Array zu XML konvertieren