Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem bei Ausgabe

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Problem bei Ausgabe

    Hallo zusammen

    Ich habe ein Problem bei der Ausgabe einer Variable.
    Ich möchte die Variable $error_msg ausgeben der in ein einer anderen php Datei einen Wert hinzugefügt wurde.

    Mein Ausgabecode sieht wie folgt aus...
    [php]if (isset($_GET['errormsg'])) {
    echo '<p class="error">Error'.$error_msg,'</p>';[php]
    Jedoch wird dann immer der Variablenname ausgegeben und nicht der Inhalt.

    Wo ist mein Fehler?


  • #2
    Sorry war mein erster Beitrag

    PHP-Code:
    if (isset($_GET['errormsg'])) {
            echo 
    '<p class="error">Error'.$error_msg,'</p>'

    Kommentar


    • #3
      Du hast ein Komma, statt eines Punktes als Verknüpfungsoperator geschreiben.
      PHP-Code:
      echo '<p class="error">Error' $error_msg '</p>'

      Kommentar


      • #4
        Funktioniert nicht.
        dann wird nur Error ausgegeben
        Ich habs mal mit
        PHP-Code:
        echo $error_msg
        versucht.

        Dort wird dann auch nichts ausgegeben obwohl in einer anderen Datei, die "included" ist, der Variable ein Wert zugewiesen wird.
        PHP-Code:
        $error_msg '<p class="error">Database error</p>'

        Kommentar


        • #5
          sorry Beer - das kann es nicht sein, dem Echo ist es weitgehend egal, was du zwischen Variable und String-Literal schreibst- das Komma ist hier sogar ein wenig schneller, weil nicht erst ein "Gesamtstring" erstellt wird, sondern alles nacheinander ausgegeben wird.

          Stoef - dein Code sieht etwas merkwürdig aus - einerseits testest du die GET-Variable - gibst dann aber etwas anderes aus - sollte nicht zufällig register_globals auf "on" sein, wird es wohl nicht richtig klappen - und wie soll der Inhalt der Variablen in das andere PHP Script gelangen ? nutzt du Include oder wie ?



          Ich vermute ja, dass du in Wahrheit den Inhalt von $_GET['errmsg'] ausgeben willst
          PHP-Code:
          if (isset($_GET['errormsg'])) {
                  echo 
          '<p class="error">Error ',$_GET['errormsg'],'</p>';

          im Zweifel lass dir zum Test die beteiligten Variablen mal nicht per echo ausgeben, sondern benutze var_dump, um ihren Inhalt zu testen

          PHP-Code:
          var_dump($_GET);
          var_dump($error_msg); 
          setze auch das Error-Reporting auf die höchste Stufe und erzwinge die Ausgabe sämtlicher Fehler
          PHP-Code:
          error_reporting(-1);
          ini_set("display_errors",true); 
          <-- das bitte so nah wie möglich am ersten <?php unterbringen...

          falls du die Fehlermeldung anderweitig übergeben willst, wäre evtl PHP Sessions was für dich - da kannst du auftretende Fehlermeldungen in einer Session-Variablen ablegen und aus anderen Scripten daraufzugreifen - solang sie in der gleichen Session laufen
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

          Kommentar


          • #6
            Zitat von eagle275 Beitrag anzeigen
            sorry Beer - das kann es nicht sein, dem Echo ist es weitgehend egal, was du zwischen Variable und String-Literal schreibst- das Komma ist hier sogar ein wenig schneller, weil nicht erst ein "Gesamtstring" erstellt wird, sondern alles nacheinander ausgegeben wird.
            "…"
            Aha, wieder was dazu gelernt.
            Danke

            Kommentar


            • #7
              Danke eagle275

              Die if Abfrage ist dazu da um zu überprüfen welcher Fehler in der "header location" angezeigt wird die von einer anderen datei bestummen wird.

              Eigentlich ist die Aufgabe einfach geschildert so:
              Check ob Fehler passiert ist
              Wenn ja dann soll die $error_msg ausgegeben werden in der dann steht welcher Fehler (gibt mehrer möglichkeiten)




              Ich hab jetzt mal etwas versucht
              PHP-Code:
              $error_msg 'test';
                      
              header('Location: index.php?errormsg'); 
              Jedoch wird auch hier bei
              (andere Datei)
              PHP-Code:
              if (isset($_GET['errormsg'])) {
                          
              var_dump($_GET);
                          
              var_dump($error_msg) ;
                          echo 
              $error_msg;
                      } 
              angezeigt das $error_msg nichts enthält.

              Kommentar


              • #8
                $_GET['errormsg'] ungleich $error_msg !
                Du musst der Variable $error_msg erst den Wert aus dem $_GET-Array zuweisen.
                Relax, you're doing fine.
                RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                Kommentar


                • #9
                  Das ist mir klar das $_GET['errormsg'] ungleich $error_msg nich daselbe ist

                  ich habs jetzt mal ohne die if abfrage versucht sondern einfach ganz simpel
                  PHP-Code:
                  echo $error_msg
                  Jedoch wird dabei immernoch nichts dabei ausgegeben

                  Kommentar


                  • #10
                    Vielleicht wurde $error_msg immer noch nichts zugewiesen.
                    Wird wohl nicht so einfach zu klären sein
                    Relax, you're doing fine.
                    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                    Kommentar


                    • #11
                      Zitat von stoef28 Beitrag anzeigen
                      angezeigt das $error_msg nichts enthält.
                      $error_msg enthält auch nichts - du hast zwar in der anderen Datei der Variablen einen Wert zugewiesen aber der existiert nicht mehr wenn das Script abgearbeitet wurde. Wenn du Werte zu einer anderen Datei "retten" willst brauchst du eine Session.

                      Kommentar


                      • #12
                        Ich hab testweise in der anderen datei mal dis gemacht...
                        PHP-Code:
                        $error_msg 'test';
                                
                        header('Location: index.php'); 
                        das mit header('Location..... funktioniert
                        aber warum wird dem $error_msg nichts übergeben?

                        Was gibt es da für möglichkeiten?
                        kann es sein das durch das header... die werte verloren gehen?

                        Kommentar


                        • #13
                          Zitat von stoef28 Beitrag anzeigen
                          Was gibt es da für möglichkeiten?
                          kann es sein das durch das header... die werte verloren gehen?
                          Ja, natürlich. Sessions sind dein Freund.

                          Kommentar


                          • #14
                            Habs jetzt mit der Session hingekriegt

                            Hatte schon ne Session aber die Datei war nicht darin.

                            Vielen Dank allen

                            Kommentar


                            • #15
                              Oder du kannst auch mit:
                              PHP-Code:
                              header('Location: index.php?errormsg=wert'); 
                              die Variable errormsg mit einem Wert belegen.


                              ...zu spät

                              Kommentar

                              Lädt...
                              X