Sessions -- Cache -- global ???

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

  • Sessions -- Cache -- global ???

    Bin am Ende .... habe ganz normal eine Session gestartet mit
    PHP-Code:
    session_start(); 
    .
    Auf der Website habe ich ein Formular mit action=phpself und nun sind zweimal exakt die gleiche if-Schleife

    PHP-Code:
    if(isset($_SESSION['user']))  { 
      
    mach das 

    else { 
    mach das

    Nun habe ich folgendes Phänomen. Bei der ersten if-Schleife funktioniert alles und bei der zweiten ERST nachdem ich mit F5 einen Browser Refresh durchgeführt habe. Hat jemand schon mal sowas erlebt ? An was kann das liegen ?

  • #2
    kommt drauf an in welcher Abhängigkeit die zweite Bedingung steht bzw. Code ausführt, zeig mal den ganzen Code.

    Scheint sich ein Bug eingeschlichen zu haben.
    [color=blue]MfG Payne_of_Death[/color]

    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
    [color=red]Merke:[/color]
    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

    Murphy`s Importanst LAWS
    Jede Lösung bringt nur neue Probleme
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

    Kommentar


    • #3
      code

      Zuerst mal der Part der funktioniert:

      PHP-Code:
      <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#CC9933">
        <tr>
        <?php 
          
      if(isset($_SESSION['user']))  {
            echo 
      '<td align=center><br><a href=http://www.pulsmag.de/html/logout.php class="hl2">Abmelden!</a><br><br></p><td>';
          }
          else  {
            if(!isset(
      $_POST['submit']) )  { ?>
              <form action="<?php $PHP_SELF ?>" method="post">
              <td rowspan="8"><img src="http://www.pulsmag.de/images/spacer.gif" width="9" height="1"></td>
              <td><img src="http://www.pulsmag.de/images/spacer.gif" width="1" height="1"></td>
              <td rowspan="8" bgcolor="#990000"><img src="http://www.pulsmag.de/images/spacer.gif" width="9" height="8"></td>
              </tr>
              <tr>
              <td><img src="http://www.pulsmag.de/images/spacer.gif" width="3" height="6"></td>
              </tr>
              <tr>
              <td class="font"><strong>Benutzer</strong><br>
              <input type="text" name="user" size="15" class="input" <?php if($_POST['user'] != "" ) { echo ' value="'.$_POST['user'].'"'; } ?>></td>
              </tr>
              <tr>
              <td><img src="http://www.pulsmag.de/images/spacer.gif" width="1" height="1"></td>
              </tr>
              <tr>
              <td class="font"><strong>Passwort</strong><br>
              <input type="password" name="password" size="15" class="input"></td>
              </tr>
              <tr>
              <td><img src="http://www.pulsmag.de/images/spacer.gif" width="1" height="1"></td>
              </tr>
              <tr>
              <td><input type="submit" name="submit" value="Anmelden" class="button"></td>
              </tr></form>
              <tr>
              <td>&nbsp;</td>
            <?php
            
      }
            elseif(!isset (
      $_POST['user']) || $_POST['user'] == "") {
              echo 
      '<p align="center" class="font">Einen Benutzernamen brauchen wir schon.<br><br><a href="index.php">Zurück</a></p>';
            }
            elseif(!isset (
      $_POST['password']) || $_POST['password'] == "") {
              echo 
      '<form action="index.php" method="post">';
              echo 
      '<p align="center" class="font">Ein Passwort brauchen wir schon.<br><br>';
              echo 
      '<input type="hidden" name="user" value="'.$_POST['user'].'">';
              echo 
      '<input type="submit" name="zurueck" value="Zurück">';
              echo 
      '</p>';
              echo 
      '</form>';
            }
            else  {
              
      $query = @mysql_query("SELECT username, password FROM pt_users WHERE username = '".$_POST['user']."'") or die('Select ist fehlgeschlagen!');
              
      $result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index.php">Zurück</a></p>');
              if(
      $password != $result['password']){
                echo 
      '<form action="index.php" method="post">';
                echo 
      '<p align="center" class="font">Sorry, aber dieses Passwort ist falsch!<br><br>';
                echo 
      '<input type="hidden" name="user" value="'.$_POST['user'].'">';
                echo 
      '<input type="submit" name="zurueck" value="Zurück"></p>';
                echo 
      '</form>';
                die;
              }
              else  {
                
      $user $result['username'];
                
      session_register('user');
                echo 
      '<td align=center><br><a href=http://www.pulsmag.de/html/logout.php class="hl2">Abmelden!</a><br><br></p><tr>';
              }
            }
          }
        
      ?>
        </tr>
      </table>
      und der Part funktioniert nicht:

      PHP-Code:
      <?php
      if(isset($_SESSION['user']))  {
        echo 
      "Hallo ".$_SESSION['user']."<br><br>";
        
      $mitglieder mysql_query("SELECT * from pt_users WHERE username = '".$_SESSION['user']."'");
          if (!
      $mitglieder) die("Die Anfrage der Mitglieder konnte nicht durchgeführt werden !");
        while (
      $zeile mysql_fetch_array($mitglieder)) {
          echo 
      "Hier können Sie Ihr Unternehmen eintragen: <a href='firma.php?user_id=$zeile[user_id]'>Eintragen</a>";
        }
      }
      else {
        echo 
      "Als registriertes Mitglied können sie hier Ihr Unternehmen eintragen.<br> Noch kein Mitglied ? Hier gehts zur <a href='../register.php'>Registrierung</a>";
      }
      ?>

      Kommentar


      • #4
        probier mal statt session_register('user') $_SESSION['user']= zu verwenden

        und mach direkt hinter dem session_start mal ein print_r($_SESSION) und vor dem teil der nicht mehr geht auch

        und nimm mal den gesamten html-code raus und mach testweise nur
        PHP-Code:
        <?php
        session_start
        ();
        echo 
        '1. Test<br />';
        if (isset(
        $_SESSION['user']))
          echo 
        'User da';
        else
          echo 
        'User nicht da';
        echo 
        '<p />2. Test<br />';
        if (isset(
        $_SESSION['user']))
          echo 
        'User da';
        else
          echo 
        'User nicht da';
        echo 
        '<p />Inhalt von $_SESSION:<pre>';
        print_r($_SESSION);
        echo 
        '</pre>';
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          hm auf den ersten blick fällt mir nichts auf aber du könntest mal ein

          PHP-Code:
          print_r($_SESSION); 
          machen um zu überprüfen was mit der Session geht an dem Teil der nicht geht.
          [color=blue]MfG Payne_of_Death[/color]

          [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
          [color=red]Merke:[/color]
          [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

          Murphy`s Importanst LAWS
          Jede Lösung bringt nur neue Probleme
          Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
          In jedem kleinen Problem steckt ein großes, das gern raus moechte.

          Kommentar


          • #6
            ????

            hab jetzt alles mal durchprobiert. Leider hat nichts zum Erfolg verholfen.
            Auch die print_r($_SESSION); Anzeige erfolgt erst nach einem erneuten aufrufen der Seite mit F5 (refresh). Falls es weiterhilft kann ich auch gerne mal die gesamten files bereit stellen ...

            Kommentar


            • #7
              du hast die beiden ifs (keine schleifen) ja in der selben datei oder?

              wenn es da einmal klappt und beim zweitenmal nicht, muss irgendwo zwischendrin was mit $_SESSION['user'] passieren

              wenn meine varinate ohne die ganzen echos auch nich geht, weiß ich allerdings auch nich weiter momentan
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar

              Lädt...
              X