2 if schleifen zu einer ?

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

  • 2 if schleifen zu einer ?

    Hallo

    mich interessiert wie die beiden sachen am besten verknüpfen kann.


    hier sieht man das wenn das erste zutrifft soll er index.php springen sonst auf admin.php

    PHP-Code:
    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");
        }
      } 
    und hier ist so das er den zugriff gewährt wenn das Gegenteil von $errorC und $error übereinstimmt denke ich mal. Oder was hat sonst das ! vor der variablen zu bewirken ?

    PHP-Code:
    if(!empty($_POST))
    {
        if(!isset($_SESSION['secCheck']))
            $errorC = TRUE;

        if($_SESSION['secCheck'] != $_POST['secCheck'])
            $errorC = TRUE;
        else
            $errorC = FALSE;

        $error = FALSE;
    }
    if(!$errorC && !$error)
    {
    ?>
         <b>Ich bin drin!</b>
    <?php
    }
    else
    {


    dieses ganze true und false irretiert mich ein wenig Die Frage ist nur wie verknüpfe ich das jetzt am besten.

    Der erste Teil ist von einen Login script das ich gerne mit den Captcha script verbinden möchte (2. teil)
    Wenn eines der 3 Sachen (username,passwort,captcha code) nicht übereinstimmt soll er auf index.php zurück springen und wenn alles 3 sachen übereinstimmen soll er auf admin.php gehen.
    Zuletzt geändert von Fry2k; 08.10.2006, 22:45.

  • #2
    if(!$errorC && !$error && CheckUserLogin())
    // drin.

    Kommentar


    • #3
      hab das jetzt so gemacht
      Fehler; Parse error: parse error, unexpected $ in /var/www/script/usermanagment.inc.php on line 75

      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;
          }
        }
      ?>
      das script hat aber nur 74 zeilen

      Kommentar


      • #4
        usermanagment.inc.php wie viel Zeilen hat das ding?

        Kommentar


        • #5
          Original geschrieben von Fry2k
          Parse error: parse error, unexpected $ in [...]
          Wirklich "unexpected $"?

          Nicht vielleicht eher "unexpected $end" ...?

          Wenn ja, überprüfe deine öffnenden und schließenden geschweiften Klammern.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            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!
            Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              usermanagment.inc.php wie viel Zeilen hat das ding?

              genau 74

              das ist die datei die ich gepostet habe

              Kommentar


              • #8
                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;
                    }
                  }
                ?>
                Falls man die Änderung nicht sieht: Füge in Zeile 42 ein } ein. Es fehlt hinter dem else-Anweisungsblock. Du kannst alernativ auch das { davor entfernen, weil ja nur eine Anweisung gegeben ist.

                Edit: Achja, der Parserror ist übrigends wirklich "unexpected $end"
                Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                Kommentar


                • #9
                  ja den fehler hatte ich inzwischen auch schon gefunden aber wenn ich die seite denn öffne sagt mir firefox

                  "Fehler: Umleitungsfehler"

                  Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.


                  und ie versucht die seite immer wieder neu zu laden

                  Kommentar


                  • #10
                    Was steht denn in deiner index.php? Wieder ne Umleitung zurück zu der Include-Datei? Bei mir funktoinierts im IE und im FF gleichermaßen perfekt.
                    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                    Kommentar


                    • #11
                      PHP-Code:
                      <?php

                          session_start
                      ();

                          include(
                      "connect2db.inc.php");
                          include(
                      "usermanagment.inc.php");

                          if (isset(
                      $_POST['action']) && $_POST['action']=='login')
                          {
                              
                      $un = (isset($_POST['un'])) ? $_POST['un'] : '';
                              
                      $pw = (isset($_POST['pw'])) ? $_POST['pw'] : '';
                              
                      CheckUserLogin ($un$pwsession_id());
                          }

                          if (isset(
                      $_GET['action']) && $_GET['action']=='logout')
                          {
                              
                      UserLogout (session_id());
                          }

                      ?>

                      Kommentar


                      • #12
                        Ehm - siehste, genau was ich gesagt hab.

                        1. Index bindet Usermanagement ein.
                        2. Usermanagement Leitet auf Index um.
                        3. Index bindet Usermanagement ein.
                        4. Usermanagement Leitet auf Index um.
                        5. Index bindet Usermanagement ein.
                        6. Usermanagement Leitet auf Index um.
                        7. Index bindet Usermanagement ein.
                        8. Usermanagement Leitet auf Index um.

                        Kannst du beliebig fortsetzen...
                        Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                        Kommentar


                        • #13
                          okay danke hätte ich auch selber drauf kommen können
                          Zuletzt geändert von Fry2k; 09.10.2006, 00:24.

                          Kommentar


                          • #14
                            Ein sehr nettes Sprachkonstrukt hat PHP auch:

                            $foo = BEDINGUNG ? (WAHR) 'WERT' : (FALSE) 'WERT';

                            Kommentar


                            • #15
                              Original geschrieben von double
                              Ein sehr nettes Sprachkonstrukt hat PHP auch:

                              $foo = BEDINGUNG ? (WAHR) 'WERT' : (FALSE) 'WERT';
                              Ehm.... ja... gut - danke! Das hatte jetzt.... keinen ... also wirklich garkeinen .... Zusammenhang. Wird doch oben schon verwendet.
                              Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                              Kommentar

                              Lädt...
                              X