Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: session fehler?

  1. #1
    lippl...
    Gast

    Standard session fehler?

    Hi Leute,
    Habe ein komischen Session fehler. Nähmlich wenn ich ein formular abschicke dann kommt immer ich soll mich einlogen obwohl ich eingeloggt bin!
    Code:
    <?php
    session_start&#40;&#41;;
    ?>
      <?php
    if&#40;!isset&#40;$_SESSION&#91;"username"&#93;&#41;&#41;
       &#123;
       echo "Bitte erst <a href=\"login.html\">einloggen";
       exit;
       &#125;
    ?>
    <?php
     $link = mysql_connect&#40;"localhost","user","pw"&#41; or die &#40;"Keine Verbindung moeglich"&#41;;
     mysql_select_db&#40;"db"&#41; or die &#40;"Die Datenbank existiert nicht"&#41;;
     ?>
      <?php
     $beid = $_GET&#91;"beid"&#93;
    ?>
    <?php
    $abfrage = "SELECT * FROM login WHERE id = '$beid'";
    $ergebnis = mysql_query&#40;$abfrage&#41;;
    while&#40;$row = mysql_fetch_object&#40;$ergebnis&#41;&#41; 
        &#123;
        echo "<form method=\"post\" action=\"admin/userbe.php\">
          
    
    Username&#58;
    
              <input name=\"username\" size=\"40\" type=\"text\" value=\"$row->username\" />
          </p>
          
    
    Passwort&#58;
    
            <input name=\"pw\" type=\"text\" value=\"$row->passwort\" size=\"40\" />
            
    
            
    
            Rechte&#58;
    
            <textarea name=\"admin\" size=\"40\" type=\"text\">$row->admin</textarea>
            
    
            <input name=\"submit\" type=\"submit\" value=\"Absenden\" />
          </p>
          </form>";
        &#125;
    ?>
    <?php
    $username = $_POST&#91;"username"&#93;;
    $passwort = $_POST&#91;"pw"&#93;;
    $admin = $_POST&#91;"admin"&#93;;
    $passwort_md5 = md5&#40;$passwort&#41;;
    ?>
    <?php
    $aendern = "UPDATE login SET username = '$username', passwort = '$passwort_md5', admin = '$admin' WHERE id = '$beid'";
    $update = mysql_query&#40;$aendern&#41; or die&#40;mysql_error&#40;&#41;&#41;;
    ?>
    <?php
    if&#40;$update == true&#41;
       &#123;
       echo "Die Daten wurden erfolgreich geändert.";
       &#125;
    else
       &#123;
       echo "Fehler bei der Änderung.";
       &#125;   
     ?>
    </p>
    
    
    Zurück</p>
    danke schonma im vorraus
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard

    Nähmlich wenn ich ein formular abschicke dann kommt immer ich soll mich einlogen obwohl ich eingeloggt bin!
    Das sieht PHP aber anders. Wo wird denn die session-Variable gesetzt. Außerdem ist dein script grausam. Was sollen die ganzen <?php und ?>? Einmal am anfang und einmal am ende reicht. Außerdem rennt dein script immer in die Update-Funktion, das soll doch bestimmt nicht so sein.

    Ähm, kennst du den spruch: wer nämlich mit h schreibt....

  3. #3
    lippl...
    Gast

    Standard

    ja kenn ich ..had n kumpl von mi ageschriebn^^
    da wird die session gesetzt:
    Code:
    <?php
    $username = $_POST&#91;"username"&#93;;
    $passwort = md5&#40;$_POST&#91;"password"&#93;&#41;;
    
    $abfrage = "SELECT username, passwort FROM user WHERE username LIKE '$username' LIMIT 1";
    $ergebnis = mysql_query&#40;$abfrage&#41;;
    $row = mysql_fetch_object&#40;$ergebnis&#41;;
    
    if&#40;$row->passwort == $passwort&#41;
        &#123;
        $_SESSION&#91;"username"&#93; = $username;
    print '<meta http-equiv="refresh" content="0;index.php?site=admin/index">';
        &#125;
    else
        &#123;
        echo "Benutzername und/oder Passwort waren falsch. <a href=\"index.php?site=login\">Login</a>";
        &#125;
    
    ?>
    und wie meinsde dass mid dem ins update rennen..oder wie kann ich das abstellen??=)

  4. #4
    gelöschter User
    Gast

    Standard

    Hab den Code mal ein bisschen übersichtlicher gemacht:
    Code:
    <?php
    session_start&#40;&#41;;
    
    if&#40;!isset&#40;$_SESSION&#91;"username"&#93;&#41;&#41;
    &#123;
      die&#40;"Bitte erst <a href=\"login.html\">einloggen"&#41;;
    &#125;
    
    $link = mysql_connect&#40;"localhost","user","pw"&#41; or die &#40;"Keine Verbindung moeglich"&#41;;
    mysql_select_db&#40;"db"&#41; or die &#40;"Die Datenbank existiert nicht"&#41;;
    
    if&#40;$_SERVER&#91;'REQUEST_METHOD'&#93; == 'POST'&#41;
    &#123;
      extract&#40;$_POST&#41;;
      $passwort_md5 = md5&#40;$passwort&#41;;
      $aendern = "UPDATE login SET username = '".mysql_escape_string&#40;$username&#41;."', passwort = '$passwort_md5', admin = '".mysql_escape_string&#40;$admin&#41;."' WHERE id = '".mysql_escape_string&#40;$beid&#41;."'";
      $update = mysql_query&#40;$aendern&#41; or die&#40;mysql_error&#40;&#41;&#41;;
      echo "Die Daten wurden erfolgreich geändert.";
    &#125;
    else
    &#123;
      $beid = $_REQUEST&#91;"beid"&#93;; 
      $abfrage = "SELECT * FROM login WHERE id = '".mysql_escape_string&#40;$beid&#41;."'";
      $ergebnis = mysql_query&#40;$abfrage&#41;;
      while&#40;$row = mysql_fetch_object&#40;$ergebnis&#41;&#41;
      &#123;
        echo "<form method=\"post\" action=\"admin/userbe.php\">
        
    
    Username&#58;
    
            <input name=\"username\" size=\"40\" type=\"text\" value=\"$row->username\" />
        </p>
        
    
    Passwort&#58;
    
          <input name=\"pw\" type=\"text\" value=\"$row->passwort\" size=\"40\" />
          
    
          
    
          Rechte&#58;
    
          <textarea name=\"admin\" size=\"40\" type=\"text\">$row->admin</textarea>
          
    
          <input name=\"submit\" type=\"submit\" value=\"Absenden\" />
        </p>
        <input type=\"hidden\" name=\"beid\" value=\"$beid\" />
        </form>";
      &#125;
    &#125;
    ?>
    
    
    Zurück</p>
    Abgesehen davon das der Code immernoch total unsicher ist liegt es wohl an einer anderen Seite^^


    EDIT :

    Zitat Zitat von lippl...
    ja kenn ich ..had n kumpl von mi ageschriebn^^
    da wird die session gesetzt:
    Code:
    <?php
    $username = $_POST&#91;"username"&#93;;
    $passwort = md5&#40;$_POST&#91;"password"&#93;&#41;;
    
    $abfrage = "SELECT username, passwort FROM user WHERE username LIKE '$username' LIMIT 1";
    $ergebnis = mysql_query&#40;$abfrage&#41;;
    $row = mysql_fetch_object&#40;$ergebnis&#41;;
    
    if&#40;$row->passwort == $passwort&#41;
        &#123;
        $_SESSION&#91;"username"&#93; = $username;
    print '<meta http-equiv="refresh" content="0;index.php?site=admin/index">';
        &#125;
    else
        &#123;
        echo "Benutzername und/oder Passwort waren falsch. <a href=\"index.php?site=login\">Login</a>";
        &#125;
    
    ?>
    und wie meinsde dass mid dem ins update rennen..oder wie kann ich das abstellen??=)
    und wenn du dich einloggt kommst du auch weiter zum admin index?

  5. #5
    Bandit
    Gast

    Standard

    Du haust hier unterschiedliche quellcodes raus, da ist es schwer, den überblick zu bekommen. Ist in allen relavanten quellcodes session_start am anfang? Lasse dir $_SESSION mal anzeigen:
    Code:
    print_r&#40;$SESSION&#41;;

  6. #6
    gelöschter User
    Gast

    Standard

    Zitat Zitat von bandit600
    Du haust hier unterschiedliche quellcodes raus, da ist es schwer, den überblick zu bekommen. Ist in allen relavanten quellcodes session_start am anfang? Lasse dir $_SESSION mal anzeigen:
    Code:
    print_r&#40;$SESSION&#41;;
    er hat sich glaub ich verschrieben er meint:
    Code:
    print_r&#40;$_SESSION&#41;;
    Damit wird der Array $_SESSION im Aufbau angezeigt

  7. #7
    Bandit
    Gast

    Standard

    Zitat Zitat von crAzywuLf
    er hat sich glaub ich verschrieben er meint:
    Rischtisch.

  8. #8
    lippl...
    Gast

    Standard

    j aalso der gibt mir das aus:

    Array ( [username] => )

    aber auch nur wenn ich davor schreibe:
    session_start();

  9. #9
    Bandit
    Gast

    Standard

    Dann fehlt wohl session_start. Aber warum die session-variable keinen wert hat, verstehe ich im Moment nicht. Schließe mal deinen Browser und versuche es noch einmal. Wird die Session-Variable vielleicht noch an derer Stelle gesetzt? Schreibe mal an den anfang deiner scripte diese zeilen:
    Code:
    error_reporting&#40;E_ALL&#41;;
    ini_set&#40;"display_errors", true&#41;;

  10. #10
    gelöschter User
    Gast

    Standard

    Liegt doch auf der Hand:
    Code:
    <?php
    $username = $_POST&#91;"username"&#93;;
    $passwort = md5&#40;$_POST&#91;"password"&#93;&#41;;
    
    $abfrage = "SELECT username, passwort FROM user WHERE username LIKE '$username' LIMIT 1";
    $ergebnis = mysql_query&#40;$abfrage&#41;;
    $row = mysql_fetch_object&#40;$ergebnis&#41;;
    
    if&#40;$row->passwort == $passwort&#41;
        &#123;
        $_SESSION&#91;"username"&#93; = $username;
    print '<meta http-equiv="refresh" content="0;index.php?site=admin/index">';
        &#125;
    else
        &#123;
        echo "Benutzername und/oder Passwort waren falsch. <a href=\"index.php?site=login\">Login</a>";
        &#125;
    
    ?>
    Ich nehme an dies ist eine komplette datei?
    Du musst in jeder jeder datei in die erste zeile das
    Code:
    <?php
    session_start&#40;&#41;;
    ?>
    Also bei der z.B.
    Code:
    <?php
    session_start&#40;&#41;;
    
    $username = $_POST&#91;"username"&#93;;
    $passwort = md5&#40;$_POST&#91;"password"&#93;&#41;;
    
    $abfrage = "SELECT username, passwort FROM user WHERE username LIKE '$username' LIMIT 1";
    $ergebnis = mysql_query&#40;$abfrage&#41;;
    $row = mysql_fetch_object&#40;$ergebnis&#41;;
    
    if&#40;$row->passwort == $passwort&#41;
        &#123;
        $_SESSION&#91;"username"&#93; = $username;
    print '<meta http-equiv="refresh" content="0;index.php?site=admin/index">';
        &#125;
    else
        &#123;
        echo "Benutzername und/oder Passwort waren falsch. <a href=\"index.php?site=login\">Login</a>";
        &#125;
    
    ?>
    einbauen und dann werden die session variablen auch gespeichert!

    Gruß crAzywuLf

Ähnliche Themen

  1. Fehler im Login Script (Wer klaut mir meine Session-Daten?)
    Von Cpt. Rick im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 06.09.2007, 20:57
  2. Fehler mit Session
    Von marquies im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 07.07.2007, 23:55
  3. PHP Login mit Session ID.
    Von koki12 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 29.06.2007, 20:30
  4. Session Fehler bei AOL Usern
    Von admin im Forum Forum-Hilfe.de intern
    Antworten: 7
    Letzter Beitrag: 02.05.2007, 21:09

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •