IF Abfragen

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

  • IF Abfragen

    Hi Leutz ich werde noch beklopt, endweder es liegt dran das es so spät ist oder ich bin zu dumm! also mein Problem ist, ich will 2 Abfragen haben, das heist einmal überprüfen ob alle Felder ausgfüllt sind und einmal das, dass Password mit dem zweiten übereinstimmt. Das war mein Vorschlag aber das funktioniert ja mal wieder nich :

    PHP-Code:
    $username $_POST['username'];
    $userpass $_POST['userpass'];
    $userpassre $_POST['userpassre'];

    if (
    $userpass != $userpassre):
       echo 
    "Das eigegebene Password stimmt nicht mit dem Zweiten überein!";
    elseif (!isset(
    $username$userpass$userpassre)):
       echo 
    "Bitte fülle alle Felder aus!";
    else:
       echo 
    "Danke für die Anmeldung";

    endif; 
    thx schon mal im voraus

    mfg INu
    Zuletzt geändert von inu123; 31.08.2006, 17:28.

  • #2
    Re: IF Abfragen

    Original geschrieben von inu123 aber das funktioniert ja mal wieder nich :
    tolle fehlerbeschreibung.
    den parse-error bekommst du so weg:
    PHP-Code:
    echo 'Danke für die Anmeldung <img src="images/smilies/biggrin.gif" border="0" alt="">'
    error_reporting(E_ALL); an den anfang des scriptes kann auch nicht schaden. isset müsste noch negiert werden bzw. auf empty() testen.

    Kommentar


    • #3
      das mit dem Smile ist nicht mein fehler, das hat das Forum selber erstellt weil ich ein gesicht so eins-> : D drin hatte, komisch.

      Kommentar


      • #4
        Halli hallo,
        ich hoffe das Dir das weiterhelfen kann!
        Ich mach mein Login immer so!

        PHP-Code:
        <?
        function login($fertig, $user, $password)
        {
        include("vars.php");

        if ($fertig) {

        $abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
        $reihen = mysql_num_rows($abfrage);
        if ($reihen <= 0) {
        echo "Unbekannter Benutzername!";
        }
        else {
        while ($row = mysql_fetch_object ($abfrage)) {
        if ($row->password==$password) {
        inhalt($user);
        }
        else {
        echo "Falsches Passwort!";
        }
        }
        }

        }

        else {
        echo "Zum anmelden geht es <a href=\"$PHP_SELF?anmelden=yes\">hier</a> lang!";
        echo "<p><h2>Login</h2></p>";

            echo "<form method=\"POST\" action=\"$PHP_SELF?fertig=yes\">";
            ?>
            <table cellspacing="1" cellpadding="2" border="0">
            <tr>
            <td><font size="2">Benutzername:</font></td>
            <td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
          </tr>
          <tr>
            <td><font size="2">Passwort:</font></td>
            <td><font size="2"><input type="password" name="password" value=""></font></td>
          </tr>
          <tr>
            <td colspan=2 align=center><input type=submit value=Login></td>
          </tr>
        </table>
        </form>
        <?
        MFG

        Kommentar


        • #5
          Zu Beginn definierst du 3 Variablen und fragst dann mit isset, ob diese Variablen definiert sind (abgesehen davon, dass die POST Variablen auch alle definiert sind)?!...wie erwähnt solltest du vielleicht die empty-Funktion benutzen, mit Ausnahme der Felder bei denen der Wert '0' erlaubt ist...

          Kommentar


          • #6
            also ich hab das jetzt mal so gemacht, aber klappt auch nich.

            PHP-Code:

            $username 
            $_POST['username'];
            $userpass $_POST['userpass'];
            $userpassre $_POST['userpassre'];
            $anmelden $_POST['anmelden'];


            if (isset(
            $anmelden)) {
               if (empty(
            $username) or empty($userpass) or empty($userpassre)) {
                  echo 
            "Bitte fülle alle Felder aus";´
               
            }
               elseif (
            $userpass != $userpassre) {
                  echo 
            "Das Password stimmt mit dem zweiten nicht überein";
               }
            } else {
                  echo 
            "danke für die anmeldung";

            hmm thx im voraus

            Kommentar


            • #7
              PHP-Code:
              $username $_POST['username'];
              $userpass $_POST['userpass'];
              $userpassre $_POST['userpassre'];
              $anmelden $_POST['anmelden'];


              if (isset(
              $anmelden)) {
                 if (empty(
              $username) or empty($userpass) or empty($userpassre)) {
                    echo 
              "Bitte fülle alle Felder aus";´
                 
              }
                 elseif (
              $userpass != $userpassre) {
                    echo 
              "Das Password stimmt mit dem zweiten nicht überein";
                 }
                 else {
                    echo 
              "danke für die anmeldung";
                 }

              Liebe Grüße,
              SteKoe!

              PHP Tutorials
              Peter Kropff | Quakenet | Schattenbaum.net

              Kommentar


              • #8
                ahh super danke das mit dem ganzen verschachteln hab ich noch nich so drauf

                Kommentar


                • #9
                  Original geschrieben von inu123
                  ahh super danke das mit dem ganzen verschachteln hab ich noch nich so drauf
                  Kenne ich *g* Code immer schön ausrücken ein wenig denken und flupp ...
                  Liebe Grüße,
                  SteKoe!

                  PHP Tutorials
                  Peter Kropff | Quakenet | Schattenbaum.net

                  Kommentar


                  • #10
                    So hab neues Problem, gehört bestimmt hier rein, will kein extra thema draus machen also schreib ich es hier ma rein.

                    hier einmal der Code:
                    PHP-Code:
                    session_start();

                    include(
                    "function/function.php");


                    $username $_POST['username'];
                    $userpass $_POST['userpass'];
                    $login $_POST['login'];

                    connection();

                    $prüfen "SELECT * FROM turnier_user";

                    $result mysql_query($prüfen);
                    $daten mysql_fetch_array($result,MYSQL_ASSOC);
                    $level $daten["userlevel"];


                    if (isset(
                    $login)) {
                       if (empty(
                    $username) or empty($userpass)) {
                          echo 
                    "Bitte fülle alle Felder aus";
                       }
                       elseif ((
                    $daten["username"] <> $username) or ($daten["userpass"] <> $userpass))
                       {
                          echo 
                    "Username oder Passwort sind falsch, bitte überprüfe deine Groß- und Kleinschreibung!";
                       } else {
                          
                    session_register('username');
                          
                    session_register('level');
                          
                    header("location:admin.php");
                          exit();
                              }

                    das Problem ist, obwohl ich ein richtigen Usernamen und Kennwort eingebe, verweigert er mir denoch den Zugriff!? Ich meine das die Abfragen soweit richtg sind hmm :?


                    Bitte um Hilfe Danke!

                    mfg INu

                    Kommentar


                    • #11
                      1. ich würde die finger von umlauten in variablennamen lassen.
                      2. wozu die ganze tabelle auslesen? frag die db ab:
                      Code:
                      select ... where 
                      username = 'was_der_user_eingegeben_hat' and
                      pass = 'ebenso'
                      danach reicht es, anhand von mysql_num_rows() zu entscheiden, ob die eingabe korrekt war.

                      Kommentar


                      • #12
                        Danke erstma für die schnelle Antwort doch es geht trozdem nicht. Bin verwirtt meintest du das in etwa so :

                        PHP-Code:
                        session_start();

                        include(
                        "function/function.php");


                        $username $_POST['username'];
                        $userpass $_POST['userpass'];
                        $login $_POST['login'];

                        connection();

                        $query "SELECT username, userpass FROM turnier_user WHERE username = '$username' and userpass = '$userpass'";

                        $result mysql_query($query);


                        if (isset(
                        $login)) {
                           if (empty(
                        $username) or empty($userpass)) {
                              echo 
                        "Bitte fülle alle Felder aus";
                           }
                           elseif (!
                        mysql_num_rows($result))
                           {
                              echo 
                        "Username oder Passwort sind falsch, bitte überprüfe deine Groß- und Kleinschreibung!";
                           } else {
                              
                        session_register('username');
                              
                        session_register('level');
                              
                        header("location:admin.php");
                              exit();
                                  }

                        Danke im voraus

                        Kommentar


                        • #13
                          ja, allerdings

                          1. hast du "level" vergessen auszulesen.
                          2. würd ich nicht mit if (isset($login)) anfangen, sondern if(!empty($_POST)). kannst dir als hausaufgabe überlegen, warum.

                          Kommentar


                          • #14
                            Ersteinmal Danke, hat soweit alles funktioniert. Aja zu der Hausaufgaben , eigentlich ist es ja kein kein großer Unterschied von isset() und empty() wenn ich das richtig verstanden habe. empty() gibt true wenn eine variable nich definiert ist und isset() gibt true aus wenn die varibale definiert ist. Nun in meinem Fall hab ich die Variable definiert (mehr Code) und in deinem Fall nicht (weniger Code) ja so habe ich es verstanden

                            Kommentar


                            • #15
                              nicht ganz. es ist schon ein unterschied zwischen isset und empty, aber darum geht es nicht, dann ich frage eine andere sache ab, als du. verstehs du?

                              Kommentar

                              Lädt...
                              X