Problem mit Formular und Session

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

  • Problem mit Formular und Session

    Hallo,
    ich bin ein absoluter php ANTI Experte und habe echt kaum Ahnung .

    ich habe Folgende Situation die mir Probleme bereitet:

    Html seite mit include php

    php ist durch session geschützt

    hier mal der php code
    PHP-Code:
    <?php
    session_start
    ();
    if(!
    session_is_registered('user') || $_SESSION['user'] == "") {
    header("location:verwaltung.html");
    die;
    }
    ?>
    <?php
    $verbindung 
    mysql_connect ("localhost",
    "julianbeckmann""datei456")
    or die (
    "keine Verbindung mglich.
     Benutzername oder Passwort sind falsch"
    );
    mysql_select_db("julianbeckmann")
    or die (
    "Die Datenbank existiert nicht.");
    ?>
    <table width="100%"   bgcolor="#000000" border="1" cellpadding="5" cellspacing="1" align="center">
    <tr></tr>
    <td bgcolor="#e7e7e7" align="center">
    <?php echo "<font size=5 color=#1F8EF2<b>Hallo und Willkommen in der Verwaltung ".$_SESSION['user']."</b></font>"?>
    <br><br>
    <b>Hier befindet sich der gesichere Inhalt!</b>
    <br><br>
    </td>
    <td bgcolor="#e7e7e7" align="center"  width="250px">
    <?php
    if($_SESSION['user'] == "Julian Beckmann") {
    echo 
    "<input type='button' value='Neuer Benutzer' style='color:green;' onClick=location.href='userneu.html'> ";
    }
    ?>
    <input type="button" value="LogOut" style="color:red;" onClick="javascript:Wechsel('logout.html')">
    <br/><hr/>
    <input type="button" value="Verwaltung" onClick="location.href='sicher.html'">
    </td>
    </table>
    <form action="benutzer.php" method="post">
    <table bgcolor="#e7e7e7" border="0" cellpadding="5" cellspacing="1" align="left">
    <td>Username:</td>
    <td>
    <select name='username'class="input">
    <?php
    $abfrage1 
    "SELECT user FROM users";
    $ergebnis1 mysql_query($abfrage1);
    while (
    $ros mysql_fetch_object($ergebnis1)) {echo "<option>$ros->user</option>";}
    ?>
    </select>
    </td>
    <tr></tr>
    <td>Passwort ändern:</td>
    <td align="right" >Neues Passwort:</td>
    <td><input name="password" type="password" class="input"  size="20"/></td>
    <td><input type="submit" name="submit" value="Passwort ändern" class="button" onclick="this.form.submit()"></td>
    </table>
    </form>
     
    <?php
    $pass 
    md5($_POST['password']);
    $user $_POST['username'];
    $insert = @mysql_query("UPDATE users Set pass = '$pass' WHERE user = '$user'")
    ?>
     
    <table  width="500px" bgcolor="#e7e7e7" border="0" cellpadding="5" cellspacing="1" align="center">
    <?php
    $abfrage 
    "SELECT id, user, pass FROM users";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis)){echo "<tr><td>$row->id.</td> <td>$row->user <td>$row->pass</tr>";}
    ?>
    </table>
    Sobald ich aber das formular absende wechselt durch die session bedingt wieder auf die log in seite.

    Wie kann ich das verhindern


    Ich hoffe ihr könnt mich verstehen und helfen

  • #2
    Zitat aus dem Handbuch
    Wenn Sie $_SESSION (oder $HTTP_SESSION_VARS) verwenden, sollten Sie nicht session_register(), session_is_registered() und session_unregister() verwenden.
    Verwende statt dessen
    PHP-Code:
    if (!isset($_SESSION['user'] || ... ) 
    Außerdem sehe ich nirgendwo, wo du einen Wert in die Session schreibst. Die sollte also immer leer sein und so greift dann halt die Bedingung.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Der Wert in der Session wird beim login auf eine andere Site geschrieben
      diese besagte Site enthält ein link zu dieser

      Kommentar


      • #4
        dann ersetz mal das hier
        PHP-Code:
        if(!session_is_registered('user') || $_SESSION['user'] == "") {
        header("location:verwaltung.html");
        die;

        durch ein
        PHP-Code:
        print_r($_SESSION); 
        und sag, was dabei herauskommt.

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Es wir angezeigt:
          PHP-Code:
          Array ( [user] => Julian Beckmann 
          nach dem absenden des Formulars:
          PHP-Code:
           Array ( [user] => ) 

          Kommentar

          Lädt...
          X