Registrier Script - Was ist falsch?

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

  • Registrier Script - Was ist falsch?

    Hallo,
    ich hab mir ein Script gebastelt wo man sich registrieren kann. Nun will ich folgendes in meinem Script haben: Ich will das eine UserID mit in die Datenbank eingefügt wird, das der User nach der Registrierung auf die News-Seite weitergeleitet wird und da der Text steht "Erfolgreich registriert!" und eine Überprüfung ob der Name in der Datenbank schon existiert (Wenn ja dann Fehlermeldung). Hoffe mir können welche helfen

    Hier der Code so wie ich ihn im Moment hab vielleicht habt ihr ja schon Verbesserungsvorschläge

    PHP-Code:
    <?php
    include("include/mysql.php");
    ?>
    <form method="post" name="save" action="index.php?cid=createaccount"><table width="100%" border="0" cellspacing="0" cellpadding="2">
      <tr>
        <td width="19%">Username</td>
        <td>
          <input name="username" type="text" id="username" />
        </td>
      </tr>
      <tr>
        <td>E-Mail:</td>
        <td>
        <input name="email" type="text" id="email" />
        </td>
      </tr>
      <tr>
        <td>Password:</td>
        <td>
        <input name="password" type="password" id="password" />
        </td>
      </tr>
      <tr>
        <td>Confirm password:</td>
        <td>
        <input name="confirm" type="password" id="confirm" />
        </td>
      </tr>
      <tr>
        <td colspan="2">
          <input type="submit" name="save" value="Register" />
        </td>
      </tr>
    </table>
    </form>
    <?php

    if($_POST['save']) {

        
    $username=$_POST['username'];
        
    $email=$_POST['email'];
        
    $password=$_POST['password'];
        
    $confirm=$_POST['confirm'];
        
        if(empty(
    $username)) echo "Please enter a username!";
        if(empty(
    $email)) echo "Please enter an email adress!";
        if(empty(
    $password)) echo "You have to enter a password!";
        if(empty(
    $confirm)) echo "Please confirm you password!";
        if(
    $password != $confirm) echo "You password doesnt match with the confirmed password!";
        
        
    $pwd=md5($confirm);
        
        
    mysql_query("INSERT INTO `users` (name,email,password) VALUES ('$username','$email','$pwd')") or die(mysql_error());
        
    header('index.php?cid=frontpage''Registration successfull. You can login now.');
        
    }
    ?>

  • #2
    Hoffe mir können welche helfen
    Wobei denn genau? Oder erwartest du etwa fertigen Code?!

    btw: Bitte Code umbrechen --> Regeln
    Der Programmierer ist der Vormund des Anwenders.

    Kommentar


    • #3
      Ja ich hatte eigentlich einen fertigen Code erwartet weil ich das noch nie gemacht habe daher ich wollte eigentlich jemanden darum bitten mir den Code zu machen und Schritt für Schritt zu erklären so das ich auch weiß was der Code da macht. Naja und was ist mit umbrechen gemeint?

      Kommentar


      • #4
        dein skript schreibt immer in die datenbank, auch wenn nix eingetragen wurde, deine headerparameter sind auch suspekt (der 2. param)

        btw: Bitte Code umbrechen --> Regeln
        mfg

        Kommentar


        • #5
          ? Bitte alles noch mal auf Deutsch x_X 1. Hab ich schon vorher gefragt was mit "Umbrechen" gemeint ist und was ist mit "Headerparameter sind auch suspekt"? Ich bitte euch nicht hier mit Fachbegriffen durch die Gegend zu schmeißen nur um den anderen zu zeigen was ihr drauf habt x_X Bitte klar verständlich für nen Anfänger

          Kommentar


          • #6
            zum thema umbruch:

            welche auflösung benutzt du? 3000X3000? ich benutze 1280x1024 und muss nach rechts scrollen. das ist unschön und erschwert die lesbarkeit.

            headerparameter:

            einer funktion übergibst du parameter. header hat drei parameter, wobei eine zwingend ist. der zweite parameter erwartet ein boolean (true/false), und der 3 parameter erwartet ein integer (zahl).

            alles nachzulesen im manual:

            http://de.php.net/manual/de/function.header.php

            ausserdem prüfst du die eingaben, aber was ist wenn eine eingabe leer ist: garnix, das skript arbeitet weiter und trägt trotzdem in die datenbank ein. ist das so gewünscht?
            mfg

            Kommentar


            • #7
              Öhm zum Umbruch also bei mir ist das nicht so ich benutze 12152x867 und ich muss nicht nach rechts scrollen. Bei mieiner Freundin ist es ebenfalls nicht so obwohl ise 1024x768 hat. Und zum header. Sorry hab vergessen da "Location:" hinzuschreiben ^^ :P etc. Und zu den Überprüfungen muss ich da "die("text");" hinschreiben oder wie mache ich das das er da nen Fehler anzeigt?

              Kommentar


              • #8
                Original geschrieben von Lion.BeN
                Und zu den Überprüfungen muss ich da "die("text");" hinschreiben oder wie mache ich das das er da nen Fehler anzeigt?
                nur mal so als ansatz:
                PHP-Code:
                $error='';

                if(empty(
                $username)) $error.='Please enter a username!<br/>';
                if(empty(
                $email)) $error.="Please enter an email adress!<br/>";
                // usw.

                if($error!='')
                 echo 
                '<b>ERRORS:</b><br />'.$error;
                else
                 {
                   
                // Hier jetzt MYSQL-Query Weiterleitung
                 

                ansonsten hätte ich noch jede menge verbesserungsvorschläge, aber du da ja fertigen code möchtest, erspare ich mir die.

                Kommentar


                • #9
                  Nein ich will so kein fertigen Code Nur manche Sachen weiß ich nicht da muss ich ja nach nem fertigem Code fragen und jemanden der mir das erklärt damit ich das weiterin anwenden kann . So hab deins erstmal übernommen danke dir und ich habs auch selbst verstanden :P Kannste mir deine Verbesserungsvorschläge nennen?

                  // Edit: Btw. kann mir einer sagen wie man denn eine userID in die Datenbank einfügt? Ich weiß leider nicht wie der Befehl dafür ist.

                  // Edit2: Ok das mit der userID hat sich erledigt
                  Zuletzt geändert von Lion.BeN; 29.08.2006, 01:54.

                  Kommentar


                  • #10
                    Original geschrieben von Lion.BeN Kannste mir deine Verbesserungsvorschläge nennen?
                    * affenformular benutzen - google danach
                    * zeichenketten nicht nur auf empty prüfen, sondern explizit auf zeichenlänge und/oder suchmuster mittels regex prüfen.
                    * speziell username vorher per db-query abfragen, ob nicht schon vorhanden.
                    * neuen benutzern einen freischaltlink per e-mail senden

                    Kommentar


                    • #11
                      nur so am rande: lern Englisch
                      Die Milch bleibt ranzig!

                      Kommentar

                      Lädt...
                      X