Shiuyin: PHP/HTML Fehler...

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!

  1. 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ß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. 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

      1. 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

        1. Hellihello

          Beschaeftige dich

          mehrere Stunden (;-)

          mit floating.

          und sag mal Bescheid, wie oft Du kurz vor dem Verwzeifeln warst (;-).

          Dank und Gruß,

          frankx

          --
          tryin to multitain  - Globus = Planet != Welt
      2. 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ß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. 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

  2. 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

  3. 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

    --
    As long as a single mind remembers, as long as a single heart
    beats with passion, how can a dream die?
    \//_ Live long and prosper
    sh:( fo:) ch:| rl:° br:^ n4:| ie:% mo:| va:} de:> zu:) fl:( ss:) ls:> js:|
    1. 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