PHP/HTML Fehler...
Shiuyin
- php
0 frankx0 Vinzenz Mai0 Jens Müller0 ChrisB
Hi,
wieso wird die form nicht im span eingelagert?
echo "<span style="border:thin solid black;">";
echo "<form action="test.php" method="POST">";
echo "Feld 1: <input type="text" name="eins" value="$eins"/><br/>";
echo "Feld 2: <input type="text" name="zwei" value="$zwei"/><br/>";
echo "Feld 3: <input type="text" name="drei" value="$drei"/><br/>";
echo "Feld 4: <input type="text" name="vier" value="$vier"/><br/>";
echo "Feld 5: <input type="text" name="fünf" value="$fünf"/><br/>";
echo "Feld 6: <input type="text" name="sechs" value="$sechs"/><br/>";
echo "Feld 7: <input type="text" name="sieben" value="$sieben"/><br/>";
echo "Feld 8: <input type="text" name="acht" value="$acht"/><br/>";
echo "Feld 9: <input type="text" name="neun" value="$neun"/><br/><br/>";
echo "<input type="submit" value="OK"/>";
echo "</form>";
echo "</span><span style="border:thin solid black;">";
echo "irgendwas";
echo "</span>";
erst kommt der span, dann die form, dann die zweite span mit Inhalt: irdgendwas.
Was muss ich da ändern?
Danke!
Hellihello
1. hat html nix mit php zu tun.
2. Vorschlag: nutze doch php als das was es ist, eine Template-Sprache. Also schreibe nicht HTML mit PHP, sondern schreibe HTML, und darin dann, wo es nötig ist, PHP:
<h1>Meine Überschrift:<?php echo $Seite;?></h1>
3. span ist ein inline-Element und enthält, so wie ich das sehe, keine Blockelemente. Und form ist ein Blockelement.
Dank und Gruß,
Hi,
danke für die Antworten erstmal.
Wie kann ich denn dann zwei Boxen nebeneinander haben, ohne Tabellen, in denen links die form und rechts Text ist?
Shiyuin
Hi,
Wie kann ich denn dann zwei Boxen nebeneinander haben, ohne Tabellen, in denen links die form und rechts Text ist?
Beschaeftige dich mit floating.
MfG ChrisB
Hellihello
<tr>
<td>
<input id="abc" type=text>
</td>
<td>
<label for="abc">label</label>
</td>
Ist Tabelle, ich weiß, aber je nach Datenfeldern semantisch durchaus korrekt.
Ansonsten, das erste und zweite Element auf display:block und das erste Element floaten? Dann brauchts aber irgendwo vielleicht noch ein clear:left. Ich find das immer ganz schön frickelig.
Dank und Gruß,
Hallo
Ist Tabelle, ich weiß, aber je nach Datenfeldern semantisch durchaus korrekt.
Ansonsten, das erste und zweite Element auf display:block und das erste Element floaten? Dann brauchts aber irgendwo vielleicht noch ein clear:left. Ich find das immer ganz schön frickelig.
vor allem, wenn man dazu etliche ja/nein-Radiobuttons im Formular hat - mit einerseits barriereauf- und andererseits ebenso barriereabbauenden Ja/Nein-Überschriften ...
Freundliche Grüße
Vinzenz
Hallo
echo "<span style="border:thin solid black;">";
Im ausgegebenen HTML ist hier das span-Element bereits zu Ende, weil ein form-Element folgt. Da ein form-Element nicht in einem span-Element enthalten sein kann, muss das span-Element implizit geschlossen werden.
echo "<form action="test.php" method="POST">";
[...]
echo "</form>";
Hier folgt Du das Ende eines nie geöffneten span-Elementes
echo "</span><span style="border:thin solid black;">";
Was muss ich da ändern?
Deine Arbeitsweise. Du solltest es Dir angewöhnen, den generierten HTML-Quellcode zu validieren, siehe z.B. http://de.selfhtml.org/intro/hilfsmittel/services.htm#optimierung.
Freundliche Grüße
Vinzenz
Hallo ,
Hi,
wieso wird die form nicht im span eingelagert?
> echo "<span style=\"border:thin solid black;\">";
> echo "<form action=\"test.php\" method=\"POST\">";
erst kommt der span, dann die form, dann die zweite
span mit Inhalt: irdgendwas.Was muss ich da ändern?
Span und Form duerfen nur innerhalb von Block-Elementen
vorkommen, und <span> muss hinter das <form>
gesetzt werden.
> echo "<form action=\"test.php\" method=\"POST\">";
> echo "<span style=\"border:thin solid black;\">";
gruesse aus'm ruhrpott
jens mueller
Hi,
Span und Form duerfen nur innerhalb von Block-Elementen vorkommen
Nein, auch im inline-Kontext darfst du span(n)en, was das Zeug haelt.
MfG ChrisB