tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
24
ZUGRIFFE
641
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jupiter01 jupiter01 ist offline Mitglied
    Registriert seit
    Dec 2008
    Beiträge
    21
    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?
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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ß Thomas
     
    Sollte 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.

  3. #3
    jupiter01 jupiter01 ist offline Mitglied
    Registriert seit
    Dec 2008
    Beiträge
    21
    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.
     

  4. #4
    drabbit drabbit ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    85
    Zitat Zitat von tombe Beitrag anzeigen
    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ß Thomas
    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...

    PHP-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;}}

    Also bei meinem Beispiel ist der Benutzername gleich die Mail-Adresse
     

  5. #5
    jupiter01 jupiter01 ist offline Mitglied
    Registriert seit
    Dec 2008
    Beiträge
    21
    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.
     

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Zitat Zitat von jupiter01 Beitrag anzeigen
    Anleitungen gibt es ja leider keine.
    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"

  7. #7
    Avatar von Loomis
    Loomis Loomis ist offline Mitglied Bunt
    Registriert seit
    Jul 2002
    Ort
    Aschaffenburg
    Beiträge
    1.538
    Zitat Zitat von jupiter01 Beitrag anzeigen
    Ich habe schon im Internet gesucht (z.b. Google) aber nichts gefunden
    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

  8. #8
    drabbit drabbit ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    85
    Zitat Zitat von jupiter01 Beitrag anzeigen
    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.
    Ü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)} 
     

  9. #9
    jupiter01 jupiter01 ist offline Mitglied
    Registriert seit
    Dec 2008
    Beiträge
    21
    Zitat Zitat von Loomes Beitrag anzeigen
    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.
    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 /> 
     

  10. #10
    jupiter01 jupiter01 ist offline Mitglied
    Registriert seit
    Dec 2008
    Beiträge
    21
    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:
    10.  

    $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)
     

  11. #11
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.


    PHP-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: 
    10.

    if (($if_Email $if_Klammid $if_Benutzername $if_Kennwort) == {
    $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); 
    Nur mal den Code von dir ein bisschen verändert aber ungeprüft
    Es muss auch noch geprüft werden ob alle Pflichtangaben gemacht wurden und es sollte auch noch was im Bereich Sicherheit gemacht werden.

    Gruß Thomas
     
    Sollte 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.

  12. #12
    jupiter01 jupiter01 ist offline Mitglied
    Registriert seit
    Dec 2008
    Beiträge
    21
    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.
     

  13. #13
    Avatar von just-click
    just-click just-click ist offline Mitglied Gold
    Registriert seit
    Aug 2008
    Ort
    Karlstadt (Bayern)
    Beiträge
    166
    du hast aber schon den code in die PHP-Klammern gesetzt oder?
    PHP-Code:
    <?php // hier gehts los
    // hier rein der Code
    ?> // hier ist Schluss
     
    Wer einmal leckt, der weiß wies schmeckt!

  14. #14
    jupiter01 jupiter01 ist offline Mitglied
    Registriert seit
    Dec 2008
    Beiträge
    21
    Zitat Zitat von just-click Beitrag anzeigen
    du hast aber schon den code in die PHP-Klammern gesetzt oder?
    PHP-Code:
    <?php // hier gehts los
    // hier rein der Code
    ?> // hier ist Schluss
    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)
     

  15. #15
    jupiter01 jupiter01 ist offline Mitglied
    Registriert seit
    Dec 2008
    Beiträge
    21
    Habe mich da gerade nochmal rangesetzt.

    Den Code habe ich jetzt so verändert

    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: 
    10. 

    if (($if_Email $if_Klammid $if_Benutzername $if_Kennwort) == {
    $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);
    ?> //
    Folgende Fehlermelkdung kommt:

    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

  1. Bildupload im anmeldeformular
    Von heikomi im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.10.07, 01:28
  2. Anmeldeformular flash & PHP
    Von rumbleinthecity im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 01.05.07, 13:14
  3. Anmeldeformular
    Von bigdadyx im Forum PHP
    Antworten: 1
    Letzter Beitrag: 08.08.05, 17:40
  4. Anmeldeformular
    Von destroyphil im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.11.04, 14:14
  5. Anmeldeformular mit PHP upload?
    Von ctrPhiL im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.09.04, 10:40