<form> tag wird nicht in generiertem Code angezeigt

Hallöchen,
wie schon aus dem Betreff zu erkennen wird bei mir ein tag im generiertem Code 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…
Wenn das nicht ins PHP Forum gehört verschiebt es bitte… wusste nicht genau wo ich es erstellen sollte.

Vielen Dank
theoretisch

Aähmm, was? Ich sehe da nur eine Wertzuweisung, mehr zeigst du uns nicht.

Jaa, da der Code ein Ausschnitt aus Wordpress ist.
Der Rest wird dann Wordpressintern gemacht… aber den ganzen Code dann hier zu posten wäre etwas zu viel…
Angezeigt wird alles richtig… nur das im Code halt einmal das Form fehlt wieso auch immer… und der Link dort halt nicht funktioniert…

Mit den Infos kann dir wohl niemand helfen, da ist debuggen angesagt.

Ich glaube da musst du das script einfach mal debuggen, bzw. mal nachverfolgen was alles passiert.
Du wirst ja $content sicher einer Funktion übergeben. Du gehst denn in die Funktion und lässt dir den Parameter einfach mal ausgeben.

Also ich kenne mich nun nicht mit Wordpress aus, aber vielleicht wird es ja gefiltert oder so. Ansonsten musst du uns denke ich noch codeauschnitte geben, wo man sehen kann was mit $content passiert. Vielleicht überschreibst du es ja auch, oder das erste Formular wird noch vor deiner $content zuweisung generiert.

hmm ne eigentlich nicht… habe schon einige male gedebugt…
$content wird in einer anderen Funktion eigentlich nur mit echo zwischen ausgegeben.
nur das in der ersten Zeile das nicht mit ausgegeben wird in den nächsten Zeilen dann aber schon

echo "<td $attributes>"; echo $this->column_default( $item, $column_name ); echo $this->handle_row_actions( $item, $column_name, $primary ); echo "</td>";

Welche Fehler werden ausgeben?

keine Fehler… nur der erste Link in der Tabelle geht nicht.
da habe ich nachgeforscht wieso… und gesehen das beim ersten Link das tag fehlt.

Ich wiederhole mich ja gerne:

Ich wiederhole mich auch gerne =D

leider erfolglos… und da dachte ich vielleicht hat irgendwer schon einmal das gleiche Problem gehabt oder eine Idee… ehe ich da weitere Stunden mit verbringe.
Aber leider scheint das ja nicht der Fall zu sein…
trotzdem Danke an alle die versucht haben zu helfen.

Du wirst wohl an 'zig stellen Debug-Ausgaben einbauen müssen, bis du die Stelle gefunden hast, an der deine Variable zerschossen wird. Das kann ohne Zweifel eine zeitaufwändige Nummer werden.

jo… kann das vielleicht an den Entwicklertools liegen ? das die da irgendwas verändern wenn man sich den Code mit denen anschaut?
Weil das tag ist bei mir definitiv bis zum echo vorhanden.

Sicher? Da fällt mir dann nur noch dazu ein, dass alles über einen Output-Buffer geht und dann vor der tatsächlichen Ausgabe noch was mit dem HTML-Code angestellt wird.

jo habe mir da eine variable gesetzt und einen breakpoint… die variable ist mit form und danach kommt gleich echo var.
ein outputbuffer … na toll ok.
Danke für den tipp!.. habe zwar keine Ahnung wo der sein soll aber da mache ich mich mal auf die suche! immerhin ein neuer Ansatz woran es liegen könnte.

Einfach mal nach ob_start und ob_get_contents suchen

Danke,
ok ich schau mal, ob_start gibt es einmal, das contents mehrere male.
schau mir das mal an aber braucht ein weilchen bis ich da durchgeblickt habe …

nein daran liegt es auch nicht… es wird kein buffer verwendet…

Also ich kann nu rnochmal sagen, dass du ums debuggen nicht drum herum kommen wirst dann. Weißt du denn an welcher stelle das erste Formular generiert wird, also quelltextmäßig? Wenn ja lass dir davor $content ausgeben.

Und dann gehst du einfach schritt für schritt zurück bis du die Variable befüllst. Ist ne Menge arbeit sicher, aber da muss jeder Programmierer durch. :smiley:

Leider! Manchmal dauert das Debuggen länger als das Programmieren :wink:

Nur so ne Idee, aber wenn du dir vielleicht etwas mehr Zeit fürs Programmieren nehmen würdest und nicht alles so lieblos in den Editor knallen würdest, würdest du vielleicht weniger Fehler machen und bräuchtest weniger Zeit zum debuggen?o_O:rolleyes: