SESSION verstehen

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

  • SESSION verstehen

    Hallo Leute.
    Ich versuche die Sache mit SESSION zu verstehen. Aber irgendwie klappt es nicht. Ich habe mehrere POSTS gelesen und auch in Handbuch nachgeguckt, und trotzdem läuft es nicht. Ich will nur SESSIONVARIABLE auslesen und habe ganz einfache SCRIPT.
    Was mache ich falsch?

    Datei1: läuft
    [COLOR=red]<?php[/COLOR]
    [COLOR=blue]session_save_path[/COLOR] ([COLOR=green]"./save"[/COLOR]);
    [COLOR=blue]session_start[/COLOR] ();
    [COLOR=darkblue]if[/COLOR] ([COLOR=darkblue]isset[/COLOR] ($_POST[[COLOR=green]"user"[/COLOR] ])){
    //datenbankanfrage Zurzeit nur eine VAR
    $use = [COLOR=seagreen]"Vitalij"[/COLOR] ;
    //datenbankanfrageende
    [COLOR=blue]if[/COLOR]($_POST[[COLOR=green]"user"[/COLOR]]== $use){
    $_SESSION[[COLOR=green]"user"[/COLOR]]=$_POST[[COLOR=green]"user"[/COLOR]];
    [COLOR=blue]echo[/COLOR][COLOR=green]'<a href="weit_ses.php">Hallo '[/COLOR].$_SESSION[[COLOR=green]"user"[/COLOR]].[COLOR=green]'!</a>'[/COLOR];
    }
    [COLOR=blue]else[/COLOR]{
    [COLOR=blue]echo[/COLOR][COLOR=green]'Sie haben kein zugrif!'[/COLOR];
    }
    }
    [COLOR=blue]else[/COLOR]{
    [COLOR=blue]echo[/COLOR]{[COLOR=green]'<form action="index_ses.php" method="post"
    <table border="1">
    <tr>
    <td>
    <input type="Text" name="user">
    <input type="Submit">
    </td>
    </tr>
    </table>'[/COLOR];
    }
    [COLOR=red]?>[/COLOR]

    SESSION: user|s:3"Vitalij";

    Datei2: läuft nicht
    AUSGABE: Kein Zugriff.

    [COLOR=red]<?php[/COLOR]
    [COLOR=blue]session_start[/COLOR]();
    [COLOR=blue]if[/COLOR]([COLOR=blue]isset[/COLOR]($_SESSION[[COLOR=green]"user"][/COLOR])){
    [COLOR=blue]echo[/COLOR][COLOR=green]'Hallo es geht weiter für'[/COLOR].$_SESSION[[COLOR=green]"user"[/COLOR]].[COLOR=green]'!'[/COLOR];
    }
    [COLOR=blue]else[/COLOR]{
    [COLOR=blue]echo[/COLOR][COLOR=green]'Sie haben kein Zugrief'[/COLOR];
    }
    [COLOR=red]?>[/COLOR]

  • #2
    Du darfst die PHP Tags benutzen, wenn es verboten wird geben wir dir bescheid.. (aber lustig mit den Farben.. selber gemacht?)

    Da dürftest du einen parse_error bekommen, oder?
    Was sucht die geschweifte Klammer dort?

    PHP-Code:
    echo{'<form action="index_ses.php" method="post"
    <table border="1"> 
    Dein Code ist absolut unübersichtlich, da blickt doch kein Mensch durch.. bitte in PHP Tags und ein bisschen formatieren.

    Danke (sollte ja nicht zuviel verlangt sein..)

    mfg..

    Kommentar


    • #3
      fehler

      Ja ich habe mich vertippt, aber das ändert nichts.
      Und mit Farben ist es natürlich sch..., ich wusste nicht wie ich das anders machen soll, , jetzt aber.
      Ich habe mir wirklich Mühe gegeben um das in Farbe zu schreiben. Und außerdem, ich benutze HOMESIETE 5, die FARBEN sind ORIGINAL.
      Ich kopiere die original Dateien:
      1:
      PHP-Code:
      <?php
      session_save_path
      ("./save");
      session_start();
      if(isset(
      $_POST["user"])){
      //datenbankanfrage
      $use "Vitalij";
      //datenbankanfrageende
      if($_POST["user"]== $use){
      $_SESSION["user"]=$_POST["user"];
      echo
      '<a href="weit_ses.php">Hallo '.$_SESSION["user"].'!</a>';
      }
      else{
      echo
      'Sie haben kein Zugriff!';
      }
      }
      else{
      echo
      '<form action="index_ses.php" method="post">
          <table border="1">
              <tr>
                  <td>
                      <input type="Text" name="user">
                      <input type="Submit">
                  </td>
              </tr>
          </table>
          </form>'
      ;
      }
      ?>
      2:
      PHP-Code:
      <?php
      session_start
      ();
      if(isset(
      $_SESSION["user"])){
      echo
      'Hallo es geht weiter für'.$_SESSION["user"].'!';
      }
      else{
      echo
      'Sie haben kein Zugriff';
      }
      ?>

      Kommentar


      • #4
        Nicht schlecht das mit den Farben
        Naja, jetzt weißt du ja wie

        Zu deinem Problem:

        PHP-Code:
        echo'<form action="index_ses.php" method="post"> .. 
        ändern in

        PHP-Code:
        echo'<form action="'.$_SERVER['PHP_SELF'].'" method="post"> .. 
        So funktioniert es bei mir.. sorry hätte ich schon vorher draufkommen können.. aber 1. Uhrzeit, 2. mach ich seit 23 Uhr nix anderes als ein Forum zu coden und das schlaucht..

        mfg

        Kommentar


        • #5
          auslesen

          Ja ich habe das geendert, aber das hat mich nicht weiter gebracht, zweite Datei läuft immer noch nicht.
          So viel ich verstanden habe SESSIONVARIABLEN sind GLOBALEVAR. und ich kann die auf jeder Seite auslesen.
          Und zwar:
          PHP-Code:
          session_start();
          if(isset(
          $_SESSION["bla"])){
          echo 
          $_SESSION["bla"];

          Ich habe schon mit
          PHP-Code:
          session_register(); 
          ausprobirt.
          Und in anderen Buch stehet einfach
          PHP-Code:
          session_start();
          echo 
          $bla
          SESSIONDATEI wird angelegt und die Variable ist auch drin: user|s:7:"bla"; aber auslesen???
          Ich bin jetzt wirklich verzweifelt.

          Kommentar


          • #6
            Sorry ich verstehe dein Problem nicht..
            Entweder du sagst mal genau was du willst oder dir kann niemand helfen..
            Session Tutorials gibt es ja wohl en masse..

            Kommentar


            • #7
              mal mal n print_r($_SESSION); und guck mal was raus kommt.

              Haste mal SID ausgeben lassen? ist die überall gleich oder geht die verloren?

              Kommentar


              • #8
                weiter

                Ich habe ein Bereich auf der Seite nur für Angemeldete Benutzer.
                Im Datei 1 geht die Überprüfung von Benutzer und wenn es glat läuft wird eine SESSION gesetzt mit var USER[sein login] und auf weiteren Seiten wenn SESSIONVAR da ist kann er weiter gehen. Wenn nicht "Kein Zugriff".
                Auf Zweiter Seite Mit print_r bekomme ich leeres ARRAY Araay{}. Ich habe mehrere Beiträge mit meinem verglichen DAS MUSS LAUFEN, aber das ist nicht der Fall.
                Ich will nur auf zweiter, drieter u.s.w Seiten SESSIONVARIABLE aus SESSIONDATEI auslesen.

                Kommentar


                • #9
                  Sorry vielleicht bin ich einfach zu dämlich oder es ist schon zuspät.. aufjedenfall habe ich kein Wort verstanden.. oh Junge.. :/

                  Kommentar


                  • #10
                    hmm,

                    wei speicherst du die sid? cookie? wird das cookie gesetzt? wenn nicht, wird die sid übergeben?

                    Haste mal SID ausgeben lassen? ist die überall gleich oder geht die verloren?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      du hast session_start(); schon auf jeder seite stehen?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        weiter

                        Ja ich habe SESSION_START(); auf jeder Seite
                        Auf Seite 2 u.s.w mit SESSION_ID(); lasse ich SID ausgeben, passt mit SID auf erster Seite.

                        Kommentar


                        • #13
                          und print_r($_SESSION) gibt dir was aus?

                          Kommentar


                          • #14
                            Das gibt mir leeres Array aus ARRAY()
                            Ich habe noch ein Mal alle Tutorials durch gelesen, und ich habe keine Ahnung wieso läft bei mir nichts.

                            Kommentar


                            • #15
                              Re: fehler

                              PHP-Code:
                              <?php
                              // session_save_path("./save");
                              session_start();
                              if(isset(
                              $_POST['user']))
                              {
                                  
                              // datenbankanfrage
                                  
                              $use "Vitalij";
                                  
                              // datenbankanfrageende
                                  
                              if($_POST['user'] == $use)
                                  {
                                      
                              $_SESSION['user'] = $_POST['user'];
                                      echo 
                              '<a href="weit_ses.php">Hallo '.$_SESSION['user'].'!</a>';
                                  }
                                  else
                                  {
                                      echo 
                              'Sie haben kein Zugriff!';
                                  }
                              }
                              else
                              {
                                  echo 
                              '<form action="index_ses.php" method="post">
                                       <table border="1">
                                          <tr>
                                              <td><input type="Text" name="user">
                                              <input type="Submit"></td>
                                          </tr>
                                       </table>
                                       </form>'
                              ;
                              }
                              ?>


                              <?php
                              session_start
                              ();
                              if(isset(
                              $_SESSION['user']))
                              {
                                  echo 
                              'Hallo es geht weiter für '.$_SESSION['user'].'!';
                              }
                              else
                              {
                                  echo 
                              'Sie haben kein Zugriff';
                              }
                              ?>
                              Habe mal beide Dateien richtig Formatiert und teilweise überarbeitet, sollten jetzt gehen, aber ohne Garantie.
                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Kommentar

                              Lädt...
                              X