Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Funktion - Die Ausgabe wird nicht in der Tabelle ausgegeben

Einklappen

Neue Werbung 2019

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

  • PHP Funktion - Die Ausgabe wird nicht in der Tabelle ausgegeben

    Ich habe eine Funktion erstellt (nicht die printUser Funktion. es geht um die Funktion die er sich aus der user.php rausholt):

    PHP-Code:
    function printUser ($user) {
    require (
    "/http/htdocs/Webseite/user.php");
       echo 
    '<table>';
       echo 
    '<tr>';
       echo 
    '<td class="menuecells"; style="width:100%">&nbsp; '.Ausgabe_Name().' </td>';
       echo 
    '<td class="menuecells";><a href="./index.html?LoginStatus=Logoff"><img border=0 src="./img/b_exit.gif" alt="Signout"></a></td>';
       echo 
    '</tr>';
       echo 
    '</table>';


    Hier wird der Ausgegebene Text nicht in der Spalte ausgegeben sondern einfach ÜBER der Spalte. Wenn ich eine normale Variable ausgeben lasse funktionierts aber.

    Möchte ungern die Funktion posten, sind aber nur if und elseif Anweisungen die je nach bedingung einen namen anzeigen

    Wie kriege ich das gelöst?

    Vielen Dank im voraus!


  • #2
    Das Semikolon hat innerhalb des <td> tags nichts zu suchen (außer in dem style-attribut zum trennen mehrerer styles).

    Ich mag es jetzt nicht testen, aber es könnte gut sein, dass dir das dein <td> "unwirksam" macht.

    Kommentar


    • #3
      PHP Funktion - Die Ausgabe wird nicht in der Tabelle ausgegeben

      Ich habe eine Funktion erstellt (die eigentliche Funktion kommt aus der user.php also nicht die Funktion printUser):

      PHP-Code:
      function printUser ($user) {
      require (
      "/http/htdocs/Webseite/user.php");
         echo 
      '<table>';
         echo 
      '<tr>';
         echo 
      '<td class="menuecells"; style="width:100%">&nbsp; '.Ausgabe_Name().' </td>';
         echo 
      '<td class="menuecells";><a href="./index.html?LoginStatus=Logoff"><img border=0 src="./img/b_exit.gif" alt="Signout"></a></td>';
         echo 
      '</tr>';
         echo 
      '</table>';


      Dort wird der Ausgegebene Text von der Funktion '.Ausgabe_Name().' nicht in der Spalte menuecells ausgegeben sondern einfach ÜBER der Spalte. Wenn ich eine normale Variable ausgeben lasse funktionierts aber und wird normal in der Spalte angezeigt.

      Die Funktion möchte ich ungern posten aber es sind nur if und elseif Anweisungen, die verschiedene Namen anzeigen je nach Bedingung.

      Wie kriege ich das gelöst?

      Vielen Dank im voraus!

      Kommentar


      • #4
        - Was gibt Ausgabe_Name() zurück?

        - Vermutlich ist dein erzeugtes HTML nicht valide... prüfe das mal: http://validator.w3.org/

        - Die Strichpunkte in deinen <td> gehören da mal weg ...

        LG
        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Zitat von mtedv Beitrag anzeigen
          Das Semikolon hat innerhalb des <td> tags nichts zu suchen (außer in dem style-attribut zum trennen mehrerer styles).

          Ich mag es jetzt nicht testen, aber es könnte gut sein, dass dir das dein <td> "unwirksam" macht.
          danke ich werd mich erstmal damit befassen, aber wenn ich statt eine funktion eine VARIABLE also statt '.Ausgabe_Name().' mal '.$hallo.' eingebe funktioniert es.

          also liegt es doch irgendwie an der funktion?!

          Kommentar


          • #6
            Eine Frage zum Thema reicht...

            http://www.php.de/php-einsteiger/111...usgegeben.html
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Zitat von lstegelitz Beitrag anzeigen
              tut mir leid, anscheinend ist das ein bug. mein browser ist hängen geblieben. bitte ein thema löschen

              Kommentar


              • #8
                danke für die antwort. bei einer variable wie '.$hallo'. funktioniet es aber. werden funktionen genau so wie variablen in einem text ausgeführt? also mit '. .' ?

                Kommentar


                • #9
                  Möchte ungern die Funktion posten,
                  Ach Gott Viel Erfolg.
                  Relax, you're doing fine.
                  RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                  Kommentar


                  • #10
                    das ist doch irgendwie quatsch was er mir als fehler ausgibt:

                    Line 1, Column 1: character "f" not allowed in prolog

                    function printUser ($user) {

                    Error Line 7, Column 4: character "e" not allowed in prolog

                    echo '</tr>';

                    Error Line 9, Column 2: end of document in prolog

                    }

                    This error may appear when the validator receives an empty document. Please make sure that the document you are uploading is not empty, and report any discrepancy.

                    Kommentar


                    • #11
                      Zitat von VPh Beitrag anzeigen
                      Ach Gott Viel Erfolg.
                      Ach Gott hab ja gesagt es sind nur if und elseif anweisungen aber wenn du damit was anfangen kannst hilf bitte:

                      PHP-Code:
                      <?php

                      function Ausgabe_Name()

                      {

                      $_SERVER[REMOTE_USER];

                      $nameblabla = (substr($_SERVER['REMOTE_USER'],07));

                      if(
                      $nameblabla == "1")
                      {
                        echo 
                      "Peter";
                      }
                      elseif(
                      $user == "2")
                      {
                        echo 
                      "Hans";
                      }
                      elseif(
                      $user == "3")
                      {
                        echo 
                      "Klaus";
                      }

                      Kommentar


                      • #12
                        Da fehlt ne Klammer.
                        Und man gibt Werte mit return zurück. (Du bist ja schon innerhalb eines echos)

                        PHP-Code:
                        $_SERVER[REMOTE_USER];  // macht nichts anderes, als eine notice zu werfen 
                        Relax, you're doing fine.
                        RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                        Kommentar


                        • #13
                          Das Problem ist das doppelte "echo".

                          function Ausgabe_Name() macht ein "echo 'Klaus';" (oder welcher Name auch immer).
                          Die Funktion wird aber in einer Stringkonkatenation verwendet, der resultierende String wird wiederum per echo ausgegeben.

                          Beispiel
                          PHP-Code:
                          function a() {
                            echo 
                          'test';
                          }

                          echo 
                          'Dies ist ein "'.a().'" ';
                          exit; 
                          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                          Kommentar


                          • #14
                            Zitat von VPh Beitrag anzeigen
                            Da fehlt ne Klammer.
                            Und man gibt Werte mit return zurück. (Du bist ja schon innerhalb eines echos)

                            PHP-Code:
                            $_SERVER[REMOTE_USER];  // macht nichts anderes, als eine notice zu werfen 
                            die klammer hab ich ausversehen nicht mitkopiert, die war schon da weil die funktion etwas länger ist (also mehrere namen)

                            aso man gibt werte mit return zurück, schau ich mir mal an, DANKE

                            Kommentar


                            • #15
                              das ist doch irgendwie quatsch was er mir als fehler ausgibt:
                              Naja.. dem HTML Validator solltest du fertigen HTML-Code deiner Seite prüfen lassen und nicht den PHP-Code

                              Zitat von 199708897 Beitrag anzeigen
                              danke für die antwort. bei einer variable wie '.$hallo'. funktioniet es aber. werden funktionen genau so wie variablen in einem text ausgeführt? also mit '. .' ?
                              Ja, wenn deine Funktion sauber mittels return ihre Werte zurückgibt, dann schon.

                              Ich sehe gerade in dem anderen Thread von dir ist deine Funktion, da gibts du alles mit echo aus, das ist dann falsch. Bau in der Funktion einen String und gib dem zum Schluss - wie es sich gerhört - mit return zurück.

                              Würde sagen wir machen dann hier weiter:

                              http://www.php.de/php-einsteiger/111...usgegeben.html

                              LG
                              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                              PHP.de Wissenssammlung | Kein Support per PN

                              Kommentar

                              Lädt...
                              X