2 if schleifen zu einer ?

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

  • #16
    so soweit alles gut keine Fehlermeldungen mehr aber so wie der letzte code ist kann es nicht bleiben , denn wenn Username und Passwort stimmen geht er weiter der Captcha code interessiert ihn garnicht. Das läßt darauf schließen das die IF- Schleife entweder an falscher Stelle ist oder sie falsch ist.

    kann auch sein das bei den absend "Button" was nicht stimmt

    loginscript

    <form name="login" method="post" action="index.php">

    captcha

    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">

    da habe ich jetzt einfach

    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">

    zum absenden gelassen. Ist das so richtig ?

    Kommentar


    • #17
      Original geschrieben von ArSeN
      Anweisungen --> If

      Schleifen --> While, For, etc.

      Folglich: Anweisung != Schleife

      2. Folglich: If <-- KEINE Schleife

      Bei meinem TI-Lehrer hättest du dafür den Bösen Blick verdient, und bei ihm ist der wirklich böse!
      Soviel dazu.

      Was zum Teufel soll "Captcha Code" sein? Was versuchst du denn da zu machen?
      Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

      Kommentar


      • #18
        --->

        http://de.wikipedia.org/wiki/Captcha


        Ich will ein Login Script mit dem Captcha Script verbinden

        Kommentar


        • #19
          Äh ja... stimmt, hab ich doch schonmal gehört

          Die form-tags helfen mir da aber leider reichlich wenig weiter. Was is denn jez genau dein Problem? Wo ist deine Abfrage mit dem Passwort etc?
          Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

          Kommentar


          • #20
            OffTopic:
            Original geschrieben von ArSeN
            Äh ja... stimmt, hab ich doch schonmal gehört
            pei~nlich

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #21
              ich wollte den Login Script und den Captcha Script den es hier im Board gibt verbinden. Zum schluss wollte ich halt den Login haben mit einer Captcha erweiterung.

              Also habe ich mir die stelle rausgesucht wo die Abfragen waren und wollte sie irgendwie mit IF verbinden. Da meinte TobiaZ das es mit
              "if(!$errorC && !$error && CheckUserLogin())" geht.

              Gut das habe ich dann eingebaut das Problem war nur das ich nicht wußte wie ich die alten abfragen rausmachen kann z.b.

              PHP-Code:
              if ( $zeile["UserId"] == "" )
                  {
                    
              header ("Location: index.php");
                  }
                  else
                  {
                    
              $result mysql_query("UPDATE AdminUser SET UserSession = '".$session."',UserLogin = NOW()
                                  WHERE UserId = '"
              .$zeile["UserId"]."'") or mysql_error();
                    
              header ("Location: admin.php"); 
              wenn bla bla .... dann bla bla gehe zu admin.php

              so dann hatte ich ja wie gesagt die if schleife noch miteingebaut

              PHP-Code:
              if(!$errorC && !$error && CheckUserLogin())
              {
              header ("Location: admin.php");
              }
              else
              {
              header ("Location: index.php"); 
              ganz klar das das nicht gehen kann
              weil wenn die bedingung oben erfüllt ist leitet er weiter auf admin.php also kommt er garnicht mehr bis
              "if(!$errorC && !$error && CheckUserLogin())"

              mein Problem ist das ich nicht weiß, wie ich ihm sagen kann das er nix machen soll. Damit er bis
              "if(!$errorC && !$error && CheckUserLogin())" kommt und dann die überprüfung mit captcha zustande kommt.

              Denn diese IF "Anweisung"
              ("if(!$errorC && !$error && CheckUserLogin())")

              bewirkt jetzt im code garnichts

              hier nochmal der Code

              PHP-Code:
              <?php
              $errorC 
              TRUE;
              $error TRUE;
              /***
                * Prüfen, ob der User berechtigt ist, einen Login durchzuführen.
                */

                
              function CheckUserLogin ($un$pw$session) {
                  
              $result mysql_query("SELECT UserId,Name,Vorname,UserName,UserPasswd FROM AdminUser
                                  WHERE UserName='
              $un' AND UserPasswd=MD5('$pw')") or mysql_error();
                  
              $zeile mysql_fetch_array($result);

                  if ( 
              $zeile["UserId"] == "" )
                  {
                    
              header ("Location: index.php");
                  }
                  else
                  {
                    
              $result mysql_query("UPDATE AdminUser SET UserSession = '".$session."',UserLogin = NOW()
                                  WHERE UserId = '"
              .$zeile["UserId"]."'") or mysql_error();
                    
              header ("Location: admin.php");
                  }
                }
                  if(!empty(
              $_POST))
              {
                  if(!isset(
              $_SESSION['secCheck']))
                      
              $errorC TRUE;

                  if(
              $_SESSION['secCheck'] != $_POST['secCheck'])
                      
              $errorC TRUE;
                  else
                      
              $errorC FALSE;
                  
              $error FALSE;
              }
              if(!
              $errorC && !$error && CheckUserLogin())
              {
              header ("Location: admin.php");
              }
              else
              {
              header ("Location: index.php");
              }
              /***
                * LOGOUT
                */

                
              function UserLogout ($session) {
                  
              $result mysql_query("UPDATE AdminUser SET UserSession = NULL
                                  WHERE UserSession = '"
              .$session."'") or mysql_error();
                  
              header ("Location: index.php");
                }


              /***
                * Prüfen, ob die Session in Ordnung ist.
                */

                
              function CheckUserSession ($session) {
                  
              $result mysql_query("SELECT UserId,Name,Vorname,UserName,UserLogin FROM AdminUser
                                  WHERE UserSession = '"
              .$session."'") or mysql_error();
                  if ( 
              mysql_num_rows($result) == ) {
                    
              $zeile mysql_fetch_array($result);
                    
              $sessarr[UserId]    = $zeile["UserId"];
                    
              $sessarr[Name]      = $zeile["Name"];
                    
              $sessarr[Vorname]   = $zeile["Vorname"];
                    
              $sessarr[UserLogin] = $zeile["UserLogin"];
                    return 
              $sessarr;
                  }
                  else {
                    
              header("Location: index.php");
                    return 
              false;
                  }
                }
              ?>

              Kommentar


              • #22
                Original geschrieben von Fry2k
                ...

                so dann hatte ich ja wie gesagt die if schleife noch miteingebaut
                ...

                Denn diese IF "Anweisung"
                ...

                Naja immerhin schonmal 50% richtig, 50% mehr als vorher


                Folgendes könnte ein Problem sein:

                PHP-Code:
                if(!$errorC && !$error && CheckUserLogin()) 
                Der Vergleichsoperator && wertet die zweite bzw. dritte Bedingung NUR dann aus, wenn die erste bedingung true ergibt, denn andernfalls kann aus dem ganzen Ausdruck ja eh nurnoch false werden.

                An der Stelle von CheckUserLogin() müsste er eigentlich einen ParseError schmeißen "Wrong Parameter Count" oderso, denn die Funktion CheckUserLogin() hat ja Parameter... guck dir die Funktion einfach nochmal an.

                Anosnsten ist nur zu sagen, es tritt garnatiert jedesmal $errorC oder $error auf, denn sonst würde CheckuserLogin() aufgerufen werden. Such mal Anhand dieses Fingerzeigs weiter.
                Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                Kommentar

                Lädt...
                X