login tutorial die Xte

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

  • login tutorial die Xte

    Wahrscheinlich nur eine Kleinigkeit.

    Ich möchte einen Loginbereich nach dem Tutorial von mrhappiness erstellen.

    Bei der Datei sessionhelpers.inc.php kommt der Fehler:

    Fatal error: Cannot redeclare connect() in /home/httpd/htdocs/dup/usermanagement/mh/sessionhelpers.inc.php on line 2

    Was kann das sein?

    Ich poste mal den Anfangsteil (alles Orginal)
    PHP-Code:
    <? 
    function connect() 

        $con=mysql_connect('localhost','dup','*******') or die(mysql_error()); 
        mysql_select_db('dup') or die(mysql_error()); 
    #    $con=mysql_connect('servername','benutzer','passwort') or die(mysql_error()); 
    #    mysql_select_db('datenbank, die die Benutzertabelle enthält',$con) or die(mysql_error()); 


    ....
    ?>
    Danke

  • #2
    Sieh dir mal deinen geposteten Code genau an, vor allem die zweite Kommentar-Zeile.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      *okmalschauen*
      PHP-Code:
      #    mysql_select_db('datenbank, die die Benutzertabelle enthält',$con) or die(mysql_error()); 
      Ich hatte es auch schon so probiert:
      PHP-Code:
          mysql_select_db('dup',$con) or die(mysql_error()); 
      Geht aber auch nicht, der gleiche Fehler

      Meine Datenbank, die die Benutzertabelle enhält heißt ja dup.

      Steh ich jetzt auf den Schlauch????

      Kommentar


      • #4
        wie geht die fehlermeldung denn weiter?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          moin moin,

          schreibe mal den code so...

          PHP-Code:
           mysql_select_db('datenbank, die die Benutzertabelle enthält',$con) or die(mysql_error()); 
          ich erkläre mal´kurz ...

          PHP-Code:
          mysql_select_db('Kommentar'$con// in dieser Passage wird schon die Datenbank ausgewählt 

          danach einfach wieder

          PHP-Code:
          or die (mysql_error()); 
          das sollte funktionieren...

          Kommentar


          • #6
            so, habs jetzt so geändert:
            PHP-Code:
            <? 
            function connect() 

                $con=mysql_connect('localhost','dup','******') or die(mysql_error()); 
                mysql_select_db('datenbank, die die Benutzertabelle enthält',$con) or die(mysql_error());

            ...
            ?>
            Die genaue Fehlermeldung lautet:

            Fatal error: Cannot redeclare connect() in /home/httpd/htdocs/dup/usermanagement/mh/sessionhelpers.inc.php on line 2

            Mehr Fehlermeldung gibts nicht.


            OffTopic:

            oh ne, ist heute nicht mein Tag, hätte jetzt fast mein Passwort mit gepostet

            Kommentar


            • #7
              ich wette, dass die FKT vorher schon deklariert wird.

              Kommentar


              • #8
                normalerweise steht da noch was von wegen "already declared in..."

                wie bindest du die sessionhelper.inc.php denn ein?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  ich poste mal, hier meine login.php (die rufe ich auf)

                  PHP-Code:
                  <? 
                  session_start(); 
                  include 'sessionhelpers.inc.php'; 
                  if (isset($_POST['login'])) 

                      $userid=check_user($_POST['username'], $_POST['userpass']); 
                      if ($userid!=false) 
                          login($userid); 
                      else 
                          echo 'Ihre Anmeldedaten waren nicht korrekt!'; 

                  if (!logged_in()) 
                      echo '<form method="post" action="login.php"> 
                          <label>Benutzername:</label><input name="username" type="text"><br> 
                          <label>Passwort: </label><input name="userpass" type="password" id="userpass"><br> 
                          <input name="login" type="submit" id="login" value="Einloggen"> 
                      </form>'; 
                  else 
                      echo '<a href="logout.php">Ausloggen</a>'; 
                  echo '<p /><a href="logged_in.php">Check</a>'; 
                  ?> 
                  <html>
                  <head>
                  <title>Unbenanntes Dokument</title>
                  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                  </head>

                  <body>
                  </body>
                  </html>
                  und hier die komplette ses.....
                  PHP-Code:
                  <? 
                  function connect() 

                      $con=mysql_connect('localhost','dup','*******') or die(mysql_error()); 
                      mysql_select_db('datenbank, die die Benutzertabelle enthält',$con) or die(mysql_error());


                  function check_user($name, $pass) 

                      $sql="SELECT UserId 
                      FROM users 
                      WHERE UserName='".$name."' AND UserPass=MD5('".$pass."') 
                      LIMIT 1"; 
                      $result=mysql_query($sql) or die(mysql_error()); 
                      if (mysql_num_rows($result)==1) 
                      { 
                          $user=mysql_fetch_assoc($result); 
                          return $user['UserId']; 
                      } 
                      else 
                          return false; 


                  function login($userid) 

                      $sql="UPDATE users 
                      SET UserSession='".session_id()."' 
                      WHERE UserId=".$userid; 
                      mysql_query($sql); 


                  function logged_in() 

                      $sql="SELECT UserId 
                      FROM users 
                      WHERE UserSession='".session_id()."' 
                      LIMIT 1"; 
                      $result=mysql_query($sql); 
                      return (mysql_num_rows($result)==1); 


                  function logout() 

                      $sql="UPDATE users 
                      SET UserSession=NULL 
                      WHERE UserSession='".session_id()."'"; 
                      mysql_query($sql); 


                  connect(); 
                  ?>
                  Dann kommt eben die Fehlermeldung:

                  Fatal error: Cannot redeclare connect() in /home/httpd/htdocs/dup/usermanagement/mh/sessionhelpers.inc.php on line 2

                  Kommentar


                  • #10
                    wir rufst du die login.php auf?

                    benenn die funktionmal um in ernstlqwertzu und mach unten statt conncect(); auch ernstlqwertzu();
                    Zuletzt geändert von mrhappiness; 10.10.2003, 11:10.
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Original geschrieben von mrhappiness
                      wir rufst du die login.php auf?
                      Na direkt, also durch eingabe von z.B. http://1.1.1.1/login.php

                      oder wie meinst du das?

                      Wahrscheinlich habe ich irgendetwas im Tutorial falsch verstanden, bei allen anderen hats ja funktioniert. Aber am Skript kanns ja nicht liegen, das habe ich mit Copy and Paste rübergeschubst.

                      Kommentar


                      • #12
                        hat's mit dem anderen funktionsnamen funktioniert?

                        kommentier die funktion connect() mal aus, was passiert beim aufruf?
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          So, jetzt habe ich alles mal auf einen anderen Server geschubst,

                          da gehts!

                          Ist aber schon komisch.

                          Kommentar


                          • #14
                            das kann ja nicht die Lösung sein...

                            - gleiches Script (100%ig!)?
                            - was sagt das umbenennen der FKT dazu?

                            Kommentar


                            • #15
                              Das ist schon richtig, keine Lösung ist das nicht.

                              Aber ich finde noch raus wo der Fehler liegt. Muß mir alles noch mal genau anschauen. Komme aber die nächste Woche nicht mehr dazu weil ich weg bin.

                              Kommentar

                              Lädt...
                              X