Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Session Ausgabe in Variable

Einklappen

Neue Werbung 2019

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

  • PHP Session Ausgabe in Variable

    Hallo
    Ich versuche momentan für mein Login Script eine "Überprüfung" der
    Benutzerdatei durchzuführen. Wenn sie nicht existiert soll eine andere Fehlerseite angezeigt werden.
    Mein Frage: Wie kann man eine Session in einer Variablen ausgeben, so ist es falsch, aber zeigt vielleicht, was ich meine:

    PHP-Code:
    $loc "user.php";
    $link "views/.$_SESSION['user_name'].'_'.$loc"//Die Pfadangabe, die 
     // ich später überprüfe 
    Ich hoffe man kann mich verstehen! Danke für eure Hilfe

    PS.: Bei Google konnte ich nicht so etwas spezifisches finden
    (vielleicht kenne ich auch nur die Fachwörter nicht).


  • #2
    So:
    PHP-Code:
    $link 'views/'.$_SESSION['user_name'].'_'.$loc
    Oder - was aber nur zeigen soll, dass es so geht - bitte nicht nachmachen!
    PHP-Code:
    $link "views/$_SESSION[user_name]_$loc"
    So auf Arrays in Strings zuzugreifen halte ich für keine gute Idee.

    Kommentar


    • #3
      "In" eine Variable "aus"geben? Du kannst Inhalt des $_SESSION-Arrays in eine Variable ablegen und dann die Variable ausgeben. Oder den Inhalt von $_SESSION ausgeben.

      PHP-Code:
      $_SESSION['test'] = 'hallo';
      $var $_SESSION['test'];

      echo 
      $_SESSION['test']; // hallo
      echo $var// hallo 
      Aber wichtiger... hast du für jeden Nutzer eine eigene PHP-Datei? Bist du dir sicher, dass das notwendig ist? Könnte ja tatsächlich sein, aber normalerweise reicht ja eine Datei und über Parameter wird gesteuert welcher Nutzerdaten angezeigt werden.
      Relax, you're doing fine.
      RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

      Kommentar


      • #4
        Ich versuche nur einen Pfad in die Variable anzugeben. Diesen Pfad überprüfe ich dann auf Existenz. Es soll eine Standardseite angezeigt werden, wenn keine Userseite vorhanden ist.

        PHP-Code:
        if ($login->isUserLoggedIn() == true) {
            
        $loc "user.php";

            
        $url "views/".$_SESSION['user_name'].'_'.$loc;

            function 
        url_check($url) { 
                
        $hdrs = @get_headers($url); 
                return 
        is_array($hdrs) ? preg_match('/^HTTP\\/\\d+\\.\\d+\\s+2\\d\\d\\s+.*$/',$hdrs[0]) : false
            }; 
         
        $link "views/".$_SESSION['user_name'].'_'.$loc;

            if(
        url_check($link)){
                
        //URL gueltig
                
        include("views/".$_SESSION['user_name'].'_'.$loc);
            } else {
                
        //URL ungueltig
                
        include("views/nicht-aktiviert.php");
            };
                
        } else {
                include(
        "views/not_logged_in.php");

        Ich inkludiere Dateien, die per .htaccess geschützt sind. Wieso ist denn eine solche Vorgehensweise nicht zu empfehlen?
        Vielen Dank für eure Hilfe

        Kommentar


        • #5
          PHP-Code:
          $login->isUserLoggedIn() 
          zeigt das du klassen benutzt,

          klassen haben einen tollen vorteil, du kannst einen autoloader definieren somit brauchst du diese includes nicht

          $view = new UserView();
          $view = new 404View();

          oder View::make('404');

          Ich inkludiere Dateien, die per .htaccess geschützt sind
          1) .htaccess funktioniert nur im apache, steigstdu auf nginx oder was anderes um gehts nicht mehr
          2) deine phpscripte sollten theoretisch garnicht im document_root liegen, sollen garnicht von außen aufrubar sein, nur eine einzige datei index.php
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar


          • #6
            Kannst du das mit den Klassen an diesem Beispiel nochmal erklären?
            Und ja, Punkt 1 und 2 sind mir bewusst

            Kommentar


            • #7
              Zitat von Design950 Beitrag anzeigen
              Kannst du das mit den Klassen an diesem Beispiel nochmal erklären?
              Und ja, Punkt 1 und 2 sind mir bewusst
              was soll ich dir da erklären? du hast ne $user klasse, wieso nicht eine UserNotFound klasse? oder UserNotActivated wobei ich hier denke dass du ledeglich eine andere message ausgeben willst

              und dann

              PHP-Code:
               $url "views/".$_SESSION['user_name'].'_'.$loc
              jeder user hat eine eigene php datei??? wtf??

              ich habe mal versucht ein simples php projekt für anfänger aufzusetzen https://github.com/BlackScorp/spacegame leider denke ich schon viel zu komplex.

              aber mein login sieht dann in etwa so aus

              https://github.com/BlackScorp/spaceg...dex.php#L1-L19

              jede aktion auf der webseite ist nach dem EVA prinzip aufgebaut, Eingabe Verabeitung Ausgabe, oder in meinem fall

              Request -> Process -> Response

              $response hat dann alle notwendigen informationen und ich muss diese nur noch im html platzieren
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

              Kommentar


              • #8
                Bei den Usern des Logins handelt es sich um einen geringen Kreis. Zudem möchte ich bewusst eigene Seiten einrichten
                ich werde es ausprobieren und mich dann nochmal später melden, danke dir

                Kommentar


                • #9
                  Zitat von Design950 Beitrag anzeigen
                  Bei den Usern des Logins handelt es sich um einen geringen Kreis. Zudem möchte ich bewusst eigene Seiten einrichten
                  ich werde es ausprobieren und mich dann nochmal später melden, danke dir
                  das kannst du dennoch machen zb kannste irgendwelche einstellungen in einer DB für den User speichern etc, aber doch nicht eine eigene php datei pro user anlegen/generieren lassen
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                  Kommentar

                  Lädt...
                  X