theoretisch: <form> wird im generiertem Quellcode nicht angezeigt

Hallöchen, wie schon aus dem Betreff zu erkennen wird bei mir ein <form> tag nicht angezeigt. Ich lasse ihn mit php generieren.

$content = '<form class="synchro_button" method="get" >
                    <input class="synchro" type="hidden" name="sync_type" value="p"/>
                    <input class="synchro" type="hidden" name="page" value="statistik"/>
                    <input class="synchro" type="submit" value="ID"></form>';

Das ist der Code zum generieren. Aber der Code der dann generiert wird sieht so aus:

<td class='ID column-ID has-row-actions column-primary' data-colname="ID">
               <input class="synchro" type="hidden" name="sync_type" value="p">
               <input class="synchro" type="hidden" name="page" value="statistik">
               <input class="synchro" type="submit" value="ID">

Wäre das wenigstens immer so dann wäre das ja was andere... aber ich habe mehrere Formulare. Das obige Beispiel ist das erste Formular.... das zweite hat genau den gleichen Code zum generieren ABER der generierte Code hat dann plötzlich die formular tags.

<td class='ID column-ID has-row-actions column-primary' data-colname="ID">
                    <form class="synchro_button" method="get" >
                    <input class="synchro" type="hidden" name="sync_type" value="p">
                    <input class="synchro" type="hidden" name="page" value="statistik">
                    <input class="synchro" type="submit" value="ID">
                    </form>

Wieso werden aus dem selben Code zwei verschiedene Quellcodes generiert?

Hoffe hier hat vielleicht jemand eine Idee.. habe auch schon im Internet gesucht aber nichts brauchbares gefunden...

Vielen Dank theoretisch

  1. Hallo theoretisch,

    Wieso werden aus dem selben Code zwei verschiedene Quellcodes generiert?

    Sind die Formulare auf derselben Seite? Es gibt nämlich noch mehr Unterschiede: Beispiel1 enthält schließende Slashes für die input-Element, Beispiel 2 nicht. Deshalb vermute ich, dass ein anderer PHP-Schnipsel für die Generierung zuständig ist.

    Schaust du den Quelltext mit den Entwicklertools an oder direkt im Quelltext (oft STRG+U)?

    Handelt es sich um valides HTML?

    Bis demnächst
    Matthias

    --
    Signaturen sind bloed (Steel) und Markdown ist mächtig.
    1. ohh nein..das ist mein Fehler, die gehören da nicht hin.... ich entferne sie sofort... keine Ahnung wie die dahingekommen sind. Und nein die werden alle vom gleichen PHP erstellt. (bzw nicht genau vom gleichen... 2 phpcodes die aber identisch sind) Und ich schaue mir den Quelltext in den Entwicklertools an. Das html ist valide Denke ich mal, es wird zumindest alles korrekt angezeigt....bis auf die Funktionsweise der Links halt mit der form.

      Hallo theoretisch,

      Wieso werden aus dem selben Code zwei verschiedene Quellcodes generiert?

      Sind die Formulare auf derselben Seite? Es gibt nämlich noch mehr Unterschiede: Beispiel1 enthält schließende Slashes für die input-Element, Beispiel 2 nicht. Deshalb vermute ich, dass ein anderer PHP-Schnipsel für die Generierung zuständig ist.

      Schaust du den Quelltext mit den Entwicklertools an oder direkt im Quelltext (oft STRG+U)?

      Handelt es sich um valides HTML?

      Bis demnächst
      Matthias

      Signaturen sind bloed (Steel) und Markdown ist mächtig.

      1. Hallo theoretisch,

        Bitte vermeide Vollzitate.

        Und ich schaue mir den Quelltext in den Entwicklertools an.

        Der ist also dann schon „bereinigt“.

        Das html ist valide Denke ich mal, es wird zumindest alles korrekt angezeigt....bis auf die Funktionsweise der Links halt mit der form.

        Denkst du. Weißt du aber nicht. Solltest du ändern. nu-validator.

        Bis demnächst
        Matthias

        --
        Signaturen sind bloed (Steel) und Markdown ist mächtig.
      2. @@theoretisch

        (bzw nicht genau vom gleichen... 2 phpcodes die aber identisch sind)

        Das ist schonmal ein schwerwiegender Fehler. DRY: Don’t repeat yourself!

        Das html ist valide Denke ich mal, es wird zumindest alles korrekt angezeigt....

        Nicht denken, überprüfen! Korrekte Anzeige ist weder notwendige noch hinreichende Bedingung für validen Code. Und andersrum auch nicht.

        Hallo theoretisch,

        Zitiere bitte sinnvoll, nicht alles. Bitte kein TOFU!

        LLAP 🖖

        --
        Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
        1. entschuldigt das mit den Zitat, war nicht gewollt, hatte da noch nicht so durchgeblickt. der Quellcode ist valide, habe es ebend mit validator.nu getestet. Aber gehen tut es trotzdem nicht...

  2. Hallo,

    Ich lasse ihn mit php generieren.

    $content = '<form class="synchro_button" method="get" >
                        <input class="synchro" type="hidden" name="sync_type" value="p"/>
                        <input class="synchro" type="hidden" name="page" value="statistik"/>
                        <input class="synchro" type="submit" value="ID"></form>';
    

    Das ist der Code zum generieren.

    Nö, da wird noch nix generiert. Da wurde erstmal nur ein String einer Variable zugewiesen.

    Wieso werden aus dem selben Code zwei verschiedene Quellcodes generiert?

    Vielleicht gibt es zwei untschiedliche Stellen, an denen der code wirklich generiert wird.

    Gruß
    Kalk

    1. Doch da wird was generiert... das habe ich nur nicht alles gepostet da der Code mit Wordpress generiert wird und das recht viel Code wäre. Angezeigt wird alles Korrekt die Links und so... nur das das form halt fehlt und die Links nicht ganz so funktionieren wie sie sollen.

      Hallo,

      Ich lasse ihn mit php generieren.

      $content = '<form class="synchro_button" method="get" >
                          <input class="synchro" type="hidden" name="sync_type" value="p"/>
                          <input class="synchro" type="hidden" name="page" value="statistik"/>
                          <input class="synchro" type="submit" value="ID"></form>';
      

      Das ist der Code zum generieren.

      Nö, da wird noch nix generiert. Da wurde erstmal nur ein String einer Variable zugewiesen.

      Wieso werden aus dem selben Code zwei verschiedene Quellcodes generiert?

      Vielleicht gibt es zwei untschiedliche Stellen, an denen der code wirklich generiert wird.

      Gruß
      Kalk

  3. Hallöchen,

    $content = '<form class="synchro_button" method="get" >
                        <input class="synchro" type="hidden" name="sync_type" value="p"/>
                        <input class="synchro" type="hidden" name="page" value="statistik"/>
                        <input class="synchro" type="submit" value="ID"></form>';
    

    Das ist der Code zum generieren. Aber der Code der dann generiert wird sieht so aus:

    lass ich mir $content ausgeben erhalte ich genau die Ausgabe die ich erwarte. Lass ich $content zweimal ausgeben erhalte ich ebenfalls genau die gleichen Daten, die ich erwarte.

    Kann es sein, dass $content an einer anderen Stelle gefüllt wird (ohne dass du es weißt bzw. einfach vergessen hast)?

    1. Jaa das wundert mich ja auch... eigentlich müsste beides genau gleich sein... aber ist es nicht. Einmal wird form irgendwie unterschlagen oder entfernt was auch immer ... aber halt nur das eine mal... das nächste mal wird alles richtig generiert.

      Hallöchen,

      $content = '<form class="synchro_button" method="get" >
                          <input class="synchro" type="hidden" name="sync_type" value="p"/>
                          <input class="synchro" type="hidden" name="page" value="statistik"/>
                          <input class="synchro" type="submit" value="ID"></form>';
      

      Das ist der Code zum generieren. Aber der Code der dann generiert wird sieht so aus:

      lass ich mir $content ausgeben erhalte ich genau die Ausgabe die ich erwarte. Lass ich $content zweimal ausgeben erhalte ich ebenfalls genau die gleichen Daten, die ich erwarte.

      Kann es sein, dass $content an einer anderen Stelle gefüllt wird (ohne dass du es weißt bzw. einfach vergessen hast)?

  4. @@theoretisch

    wie schon aus dem Betreff zu erkennen wird bei mir ein <form> tag nicht angezeigt. Ich lasse ihn mit php generieren.

    Sind wir mal wieder an der Stelle angelangt, dass es nie™ sinnvoll ist, Markup (d.h. die HTML-Tags) mit PHP zu generieren, sondern nur die Daten.

    PHP in HTML schachteln, nicht andersrum.

    LLAP 🖖

    --
    Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
    1. das ist nicht gut ?... nur leider habe ich da kaum eine andere Möglichkeit...da der Code mit Wordpress generiert wird und ich da nur bestimmte Methoden überschreibe und der Rest von Wordpresseigenen Funktionen ausgeführt wird..

      @@theoretisch

      wie schon aus dem Betreff zu erkennen wird bei mir ein <form> tag nicht angezeigt. Ich lasse ihn mit php generieren.

      Sind wir mal wieder an der Stelle angelangt, dass es nie™ sinnvoll ist, Markup (d.h. die HTML-Tags) mit PHP zu generieren, sondern nur die Daten.

      PHP in HTML schachteln, nicht andersrum.

      LLAP 🖖

      Ist diese Antwort anstößig? Dann könnte sie nützlich sein.

    2. gudn tach!

      Sind wir mal wieder an der Stelle angelangt, dass es nie™ sinnvoll ist, Markup (d.h. die HTML-Tags) mit PHP zu generieren, sondern nur die Daten.

      wie wuerdest du dann z.b. bei automatisch generierten tabellen vorgehen?

      PHP in HTML schachteln, nicht andersrum.

      hmm, irgendwas funzt bei den links nicht. die fuehren bei mir beide auf denselben thread, naemlich https://forum.selfhtml.org/self/2014/dec/22/ich-bekomme-das-div-nicht-auf-display-none/1627962#m1627962

      prost

      seth

      1. @@seth

        Sind wir mal wieder an der Stelle angelangt, dass es nie™ sinnvoll ist, Markup (d.h. die HTML-Tags) mit PHP zu generieren, sondern nur die Daten.

        wie wuerdest du dann z.b. bei automatisch generierten tabellen vorgehen?

        <?php foreach ($result in $results): ?>
          <tr>
            <td><?= htmlspecialchars ($result->foo) ?></td>
            <td><?= htmlspecialchars ($result->bar) ?></td>
          </tr>
        <?php endforeach; ?>
        

        hmm, irgendwas funzt bei den links nicht. die fuehren bei mir beide auf denselben thread, naemlich https://forum.selfhtml.org/self/2014/dec/22/ich-bekomme-das-div-nicht-auf-display-none/1627962#m1627962

        Ja, auf zwei Postings im selben Thread.

        LLAP 🖖

        --
        Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
        1. Tach,

          @@seth

          Sind wir mal wieder an der Stelle angelangt, dass es nie™ sinnvoll ist, Markup (d.h. die HTML-Tags) mit PHP zu generieren, sondern nur die Daten.

          wie wuerdest du dann z.b. bei automatisch generierten tabellen vorgehen?

          <?php foreach ($result in $results): ?>
            <tr>
              <td><?= htmlspecialchars ($result->foo) ?></td>
              <td><?= htmlspecialchars ($result->bar) ?></td>
            </tr>
          <?php endforeach; ?>
          

          hmm, irgendwas funzt bei den links nicht. die fuehren bei mir beide auf denselben thread, naemlich https://forum.selfhtml.org/self/2014/dec/22/ich-bekomme-das-div-nicht-auf-display-none/1627962#m1627962

          Ja, auf zwei Postings im selben Thread.

          nö, du hast http://forum.de.selfhtml.org/archiv/2014/12/t219039/#m1510822 und http://forum.de.selfhtml.org/archiv/2014/12/t219039/#m1510825 verlinkt, das führt beides auf https://forum.selfhtml.org/self/2014/dec/22/ich-bekomme-das-div-nicht-auf-display-none/1627962#m1627962; die Links in der Form hätten aber auch schon im alten Forum nur in der Nested-Ansicht funktioniert.

          mfg
          Woodfighter

        2. gudn tach!

          wie wuerdest du dann z.b. bei automatisch generierten tabellen vorgehen?

          <?php foreach ($result in $results): ?>
            <tr>
              <td><?= htmlspecialchars ($result->foo) ?></td>
              <td><?= htmlspecialchars ($result->bar) ?></td>
            </tr>
          <?php endforeach; ?>
          

          ach so, ich hatte gedacht, dass sowas auch code-generierung ist, weil die tr- und td-elemente in einer php-schleife eingefuegt werden. aber ok, du trennst zwischen innerhalb von <?php ... ?> und ausserhalb, was ja ebenfalls sinn macht. dann verstehe ich's, glaube ich.

          hmm, irgendwas funzt bei den links nicht. die fuehren bei mir beide auf denselben thread, naemlich https://forum.selfhtml.org/self/2014/dec/22/ich-bekomme-das-div-nicht-auf-display-none/1627962#m1627962

          Ja, auf zwei Postings im selben Thread.

          aeh ja, zwei posts, die sogar identisch sind.

          prost

          seth

    3. Hallo Gunnar,

      PHP in HTML schachteln, nicht andersrum.

      Es wäre ziemlich gut wenn du mir bescheid gibst, wenn du solche kaputten Stellen im Archiv siehst.

      LG,
      CK

      1. Hallo Christian Kruse,

        Es wäre ziemlich gut wenn du mir bescheid gibst, wenn du solche kaputten Stellen im Archiv siehst.

        Ich bin der Meinung, genau diese Beiträge schon einmal angefasst zu haben.

        Bis demnächst
        Matthias

        --
        Signaturen sind bloed (Steel) und Markdown ist mächtig.
        1. Hallo Matthias,

          Es wäre ziemlich gut wenn du mir bescheid gibst, wenn du solche kaputten Stellen im Archiv siehst.

          Ich bin der Meinung, genau diese Beiträge schon einmal angefasst zu haben.

          Unwahrscheinlich, die sind noch im alten Format gespeichert. Der Grund, warum die kaputt waren war ein Bug im „Übersetzer.“

          LG,
          CK

          1. Hallo Christian Kruse,

            Unwahrscheinlich, die sind noch im alten Format gespeichert. Der Grund, warum die kaputt waren war ein Bug im „Übersetzer.“

            Aber nicht unmöglich https://forum.selfhtml.org/self/2015/may/01/problem-mit-str-replace/1639585#m1639585

            Bis demnächst
            Matthias

            --
            Signaturen sind bloed (Steel) und Markdown ist mächtig.