Member-Registration

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Member-Registration

    Ich hoffe der titel ist leicht genug zu interpretieren,
    ich habe mir aus Code schnipseln ein Login gebaut, da ich ein Anfänger in Php bin, bin ich auf das schonmal stolz^^

    Das Problem ist, das ich die member sozusagen noch einzeln via script eintragen musste

    Code:
    <?php
    // Definition der Benutzer
    $benutzer[0]["Nickname"] ="admin";
    $benutzer[0]["Kennwort"] = "admin";
    $benutzer[0]["Nachname"] = "Irgendwer";
    $benutzer[0]["Vorname"] = "Hans";
    
    $benutzer[1]["Nickname"] = "Member";
    $benutzer[1]["Kennwort"] = "unverschlüsselt :-( ";
    $benutzer[1]["Nachname"] = "Tunichtgut";
    $benutzer[1]["Vorname"] = "Kalle";
    
    
    
    // Aufbau der Datenbankverbindung
    $connectionid  = mysql_connect ("localhost", "-------", "-------");
    if (!mysql_select_db ("------", $connectionid))
    {
      die ("Keine Verbindung zur Datenbank");
    }
    
    // Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen.
    mysql_query ("DELETE FROM benutzerdaten");
    
    // Daten eintragen
    while (list ($key, $value) = each ($benutzer))
    {
      // SQL-Anweisung erstellen
      $sql = "INSERT INTO ".
        "benutzerdaten (Nickname, Kennwort, Nachname, Vorname) ".
      "VALUES ('".$value["Nickname"]."', '".
                           md5 ($value["Kennwort"])."', '".
                           $value["Nachname"]."', '".
                           $value["Vorname"]."')";
      mysql_query ($sql);
    
      if (mysql_affected_rows ($connectionid) > 0)
      {
        echo "Benutzer erfolgreich angelegt.<br>\n";
      }
      else
      {
       echo "Fehler beim Anlegen der Benutzer.<br>\n";
      }
    }
    ?>
    Damit schreibe ich die Benutzer in die Tabelle, sehr umständlich wie man sieht... habe ein Buch über Php 5, da steht zwar der austausch von Informationen zwischen Formularen und weiteren Php Seiten nicht aber wie ich die gewonnenen daten z.B. in die Mysql abfrage reinstelle, so das ich ne automatische registrierung machen kann

    Suche also eine Hilfestellung, das ich eine seite mit nem Formular erstellen kannwo sich neue user registrieren können

    Formular soll so aussehen...
    Nickname
    Passwort
    Vorname
    Nachname

    Entschuldigt, falls ich es zu umständlich gemacht habe, wäre aber über jede hilfestellung und anregung froh.
    grüße capi

  • #2
    Re: Member-Registration

    http://www.php.net/manual/de/
    http://schattenbaum.net/php/
    http://php-faq.de/
    http://tut.php-q.net/
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Na du erstellst ein HTML Formular welches auf dein schon vorhandenes Script zeigt.
      Lässt dann

      while (list ($key, $value) = each ($benutzer))

      diese Schleife weg und benutzt in der SQL Anweisung die $_POST Variable um die eingegebenen Daten zu benutzen.
      Vorher solltest du noch ein paar Prüfungen der eingegebenen Daten durchführen.

      Wenn du nichts verstanden hast oder nicht weisst wie du das alles machen sollst, siehe ein Post höher und www.selfhtml.de
      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Kommentar


      • #4
        habe einen ansatz, würde aber gerne rückmeldung haben, wie s wirklich aussehen müsste, ich hab echt kein plan im moment...

        Code:
        <form method="post" action="_self">
        <?
        echo "<p>Benutzername: <input name='Nickname' size='20'></p>\n";
        echo "<p>Kennwort:     <input name='Kennwort' size='20'></p>\n";
        echo "<p>Vorname:     <input name='Vorname' size='20'></p>\n";
        echo "<p>Nachname:     <input name='Nachname' size='20'></p>\n";
        ?>
        <br>
        <input type="submit">
        </form>
        
        <?
        $server= "localhost";
        $Benutzer = ".....";
        $Kennwort = "....";
        $verbindung = mysql_connect ($server , $Benutzer , $Kennwort);
        mysql_select_db("benutzerdaten", $verbindung);
        $sql_eintrag = "INSERT INTO benutzerdaten (Id, Nickname, Kennwort, Vorname, Nachname)
        VALUES ($_POST['Nickname'],$_POST['Kennwort'],$_POST['Vorname'],$_POST['Nachname']);
        $eintrag = mysql_query ($sql_eintrag, $verbindung);
        ?>
        So weit bin ich gekommen, bitte um hilfe..

        Kommentar


        • #5
          Sieht doch schon mal nicht schlecht aus...

          PHP-Code:
          mysql_select_db("benutzerdaten"$verbindung) [b] or die("Fehler: ".mysql_error());[/b
          und

          PHP-Code:
          $eintrag mysql_query ($sql_eintrag$verbindung) [b]or die("Fehler: ".mysql_error());[/b
          erleichtern dir die Fehlersuche.

          Bei SQL Anweisungen solltest du Stringwerte immer in Single Quotes setzen -> ' <- VALUES ('$wert', '$wert2') da musst du jetzt natürlich mit dem $_POST[' <- -> '] aufpassen....

          Funktioniert dein Formular denn oder passiert nix?
          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Kommentar


          • #6
            Fehlermeldung die für mich aussieht wien Kabelsalat -->

            Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/export/www/vhosts/funnetwork/hosting/schliwus/reg.php on line 19
            Des übersteigt dann doch mein verständnis was fehlermeldungen angeht... achso hiernochmal das jetzige script aufgeführt-->
            Code:
            <form method="post" action="_self">
            <?
            echo "<p>Benutzername: <input name='Nickname' size='20'></p>\n";
            echo "<p>Kennwort:     <input name='Kennwort' size='20'></p>\n";
            echo "<p>Vorname:     <input name='Vorname' size='20'></p>\n";
            echo "<p>Nachname:     <input name='Nachname' size='20'></p>\n";
            ?>
            <br>
            <input type="submit">
            </form>
            
            <?
            $server= "localhost";
            $Benutzer = " ";
            $Kennwort = " ";
            $verbindung = mysql_connect ($server , $Benutzer , $Kennwort);
            mysql_select_db("benutzerdaten", $verbindung) or die("Fehler: ".mysql_error());
            $sql_eintrag = "INSERT INTO benutzerdaten (Id, Nickname, Kennwort, Vorname, Nachname)
            VALUES ($_POST['Nickname'],$_POST['Kennwort'],$_POST['Vorname'],$_POST['Nachname']);
            $eintrag = mysql_query ($sql_eintrag, $verbindung) or die("Fehler: ".mysql_error());;
            ?>

            Kommentar


            • #7
              Dann denk mal nach

              $sql_eintrag = " what ever ";

              sollte es heissen und was machst du???????????????????????
              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Kommentar


              • #8
                Hab deinen Post nicht verstanden, auf jedenfall hab ichn bissl rumprobiert...

                Als erstes Das Formular so gelassen wie es ist
                --->
                Code:
                <form method="post" action="best.php">
                <?
                echo "<p>Benutzername: <input name='Nickname' size='20'></p>\n";
                echo "<p>Kennwort:     <input name='Kennwort' size='20'></p>\n";
                echo "<p>Vorname:     <input name='Vorname' size='20'></p>\n";
                echo "<p>Nachname:     <input name='Nachname' size='20'></p>\n";
                ?>
                <br>
                <input type="submit">
                </form>
                mit der änderung die weiterleitung nach best.php
                --->
                Code:
                <?
                $server= "localhost";
                $Benutzer = "benutzername";
                $Kennwort = "passwort";
                $verbindung = mysql_connect ($server , $Benutzer , $Kennwort);
                mysql_select_db("Datenbankname", $verbindung) or die("Fehler: ".mysql_error());
                $sql_eintrag = "INSERT INTO benutzerdaten (Id, Nickname, Kennwort, Vorname, Nachname)
                VALUES $_POST[Nickname],$_POST[Kennwort],$_POST[Vorname],$_POST[Nachname]";
                $eintrag = mysql_query ($sql_eintrag, $verbindung) or die("Fehler: ".mysql_error());
                
                ?>
                wenn ich reg.php die daten ausgefüllt habe, kommt folgende Meldung...
                Fehler: 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 'Nickname,Passwort,Vorname,Nachname' at line 2
                Falls es hilft: Server Php Version http://phpinfo.sc.funpic.de/

                Ich muss mich entschuldigen bei hhcm, ich habe Formulare aus meinem Buch so gelernt, das die Results noch direkt als $Nickname z.B. vorliegen und kann mit $_POST[Nickname] leider recht wenig anfangen... Wie muss best.php aussehen, bzw. wie verwerte ich nun die $_POST[BLA] variablen?

                Danke schonmal (und nochmal... )
                Zuletzt geändert von capi; 14.09.2005, 16:38.

                Kommentar


                • #9
                  -.-'

                  Kommentar


                  • #10
                    Oh mann..


                    INSERT INTO table (feld, feld2) VALUES (value,value2)

                    Was ist denn da anders als bei deinem SQL Statement?
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar

                    Lädt...
                    X