|
|||
Nach absenden des Formulars zerspringt Layout
Hi Leute,
ich poste das mal hier rein da der alte Thread in dem ich das angesprochen hatte das falsche Topic hatte und so keiner auf die frage und evtl Antwort aufmerksam wird es geht um folgendes Formular: BVV Ivkovic - Individuelle Systemlösungen 1) beim aufrufen der Seite wird alles richtig dargestellt 2) Füllt man nicht alle Felder aus und drückt auf abschicken, kommen fehlermeldungen das die Felder auszufüllen sind. Hier wird auch noch alles richtig angezeigt. 3) Versendet man das Formular (könnt ihr ruhig testen, die emails gehen noch an mich und nich an das Unternehmen) kommt eine Bestätigung des Versandts und der Inhalt wird nochmals angezeigt. HIER tritt das Problem auf. Die Seite wird zerrissen. (siehe Anhang) CSS-Code Code:
html, body { margin: 0; padding: 0; } body { font-family:Verdana, Sans-serif; font-size: 11px; color: #666666; line-height: 18px; color: #666666; background: #ffffff url(../images/background/background_right.gif); background-repeat: repeat-x; text-align: center; } body.ueber dt#wir, body.ueber dt#wir a, body.neues dt#neuheiten, body.neues dt#neuheiten a, body.portfolio dt#produkte, body.portfolio dt#produkte a, body.anfragen dt#anfragen, body.anfragen dt#anfragen a, body.imp dt#impressum, body.imp dt#impressum a { background-position: 0 -150px; } h1 { margin: 0; padding: 0; } h2 { margin: 0; padding: 0; padding-bottom: 15px; } h3 { font-size: 11px; color:#2f526d; } .farbe {color: #2f526d;} .farbe2 {color: #e2801d;} .dick {font-weight: bold;} .dick2 { font-weight: bold; margin-top: 50px; display:block } .dick3 { text-align:right; border-bottom: 1px solid #efefef; line-height:10px; font-size:9px; font-weight:normal; margin-bottom: 70px; display:block; } #page-container { margin: auto; width: 953px; text-align: left; } body #header { height: 85px; width: 909px; background: #ffffff url(../images/headers/heading.png); background-repeat: no-repeat; margin-left: 20px; border-left: 1px solid #4f4f4f; border-right: 1px solid #4f4f4f; } #main-nav { height: 150px; } /* IE5 Mac Hack \*/ /* #main-nav { padding-left: 11px; } /*/ /* #main-nav { padding-left: 11px; overflow: hidden; } /* End Hack */ #main-nav dt { float: left; } #main-nav dt a { display: block; height: 0px !important; height /**/:150px; /* IE 5/Win hack */ padding: 150px 0 0 0; overflow: hidden; background-repeat: no-repeat; } #main-nav dt a:hover { background-position: 0 -150px; } #main-nav dt#willkommen, #main-nav dt#willkommen a { width: 235px; background-image: url(../images/nav/willkommen.gif); } #main-nav dt#wir, #main-nav dt#wir a { width: 129px; background-image: url(../images/nav/uns.gif); } #main-nav dt#neuheiten, #main-nav dt#neuheiten a { width: 129px; background-image: url(../images/nav/neuheiten.gif); } #main-nav dt#produkte, #main-nav dt#produkte a { width: 129px; background-image: url(../images/nav/produkte.gif); } #main-nav dt#anfragen, #main-nav dt#anfragen a { width: 129px; background-image: url(../images/nav/anfragen.gif); } #main-nav dt#impressum, #main-nav dt#impressum a { width: 202px; background-image: url(../images/nav/impressum.gif); } #main-nav dl { margin: 0; padding: 0; } #content_border { width: 909px; min-height: 304px; margin-left: 20px; display:inline; border-left: 1px solid #4f4f4f; border-right: 1px solid #4f4f4f; float:left; background: #ffffff url(../images/background/background_sidebar.gif) repeat-y 0% 0; } *html #content_border { height: 304px; } #sidebar-a { font-family:Verdana, Sans-serif; font-size: 10px; float: left; width: 215px; line-height: 15px; background: #fcfcfc; border-top: 35px solid #2f526d; border-right: 1px solid #efefef; } #sidebar-a .padding { padding: 25px; } #sidebar-a a { color: #666666; text-decoration: none; } #sidebar-a a:hover { color: #db6d16; } #content { margin-left: 240px; padding-left: 15px; padding-top: 15px; margin-right: 22px; line-height: 18px; } #content .padding { padding: 25px; } #content p { margin: 0; padding: 0; padding-bottom: 15px; } #content a { color: #666666; text-decoration: none; } #content a:hover { color: #db6d16; } #footer { margin-left: 20px; width: 861px; height: 45px; clear: both; background: #ffffff url(../images/background/background_footer.png); background-repeat:repeat-x; font-family: Tahoma, Arial, Helvetica, Sans-serif; font-size: 10px; color: #c9c9c9; border-top: 1px solid #4f4f4f; padding: 13px 25px; line-height: 18px; } * html #footer { width: 911px; w\idth: 861px; } #footer #altnav { width: 350px; padding-top: 25px; float: right; text-align: right; } #footer a { color: #c9c9c9; text-decoration: none; } #footer a:hover { color: #db6d16; } .kontaktformular { width: 400px; margin: 10px 0; padding: 10px; font-size: 11px; font-family: Tahoma, Verdana, Arial; } .kontaktformular fieldset {margin: 10px 0;} .kontaktformular a {color: #990000; text-decoration: none;} .kontaktformular a:hover {color: #483D8A;} .kontaktformular legend { background: #2f526d; color: #fff; padding: 5px; border: 1px solid #ddd; text-transform: uppercase; line-height:9px; } .kontaktformular label { width: 100px; float: left; clear: both; padding: 0px 3px; } .kontaktformular input, .kontaktformular textarea { border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; border-left: 1px solid #666666; border-top: 1px solid #666666; background: #ddc; padding: 0px 3px; margin: 3px 0; } .kontaktformular input:active, .kontaktformular input:focus, .kontaktformular input:hover { background: #ffffff;} .kontaktformular textarea:active, .kontaktformular textarea:focus, .kontaktformular textarea:hover { background: #ffffff;} .buttons {margin-left: 120px;} .buttons input {background: #555555; color: #fff; border:0px; line-height:20px;} .buttons input:hover {background: #2f526d; color: #fff; border:0px;} Code:
<?php if(isset($_POST['ueberpruefung'])) { $allesok = true; if(empty($_POST['firma'])){ $allesok = false; $error['firma'] = "<span class='farbe'>Bitte eine Firma oder <em>Privat</em> eingeben!</span> <br>" ; } if(empty($_POST['betreff'])){ $allesok = false; $error['betreff'] = "<span class='farbe'>Bitte einen Betreff eingeben!</span> <br>"; } if(empty($_POST['ansprechpartner'])){ $allesok = false; $error['ansprechpartner'] = "<span class='farbe'>Bitte einen Ansprechpartner eingeben!</span> <br>"; } if(empty($_POST['telefon'])){ $allesok = false; $error['telefon'] = "<span class='farbe'>Bitte eine Telefonnummer eingeben!</span> <br>"; } if(empty($_POST['nachricht'])){ $allesok = false; $error['nachricht'] = "<span class='farbe'>Bitte eine Nachricht eingeben!</span> <br>"; } if(empty($_POST['email'])){ $allesok = false; $error['email'] = "<span class='farbe'>Bitte eine Email eingeben!</span> <br>"; } } if($allesok){ echo "Ihre Mitteilung wurde erfolgreich versendet.<br />"; echo "<br />"; echo "<b>Firma:</b> ".$_POST['firma'] . "<br />"; echo "<b>Ansprechpartner:</b> ".$_POST['ansprechpartner'] . "<br />"; echo "<b>Betreff:</b> ".$_POST['betreff'] . "<br />"; echo "<b>Telefon:</b> ".$_POST['telefon'] . "<br />"; echo "<b>Email:</b> ".$_POST['email'] . "<br />"; echo "<b>Nachricht:</b> ".$_POST['nachricht'] . "<br />"; $text = "Ansprechpartner: ".$_POST['ansprechpartner']. "\r\n"."Firma: ".$_POST['firma'] . "\r\n"."Telefon: ".$_POST['telefon'] ."\r\n"."eMail: ".$_POST['email'] . "\r\n" . "Nachricht: ".$_POST['nachricht']; mail('jan@img-media.de', $_POST['betreff'], $text); } else { ?> <div class="kontaktformular"> <form name="versenden" method="post" action="<?php echo $_SERVER['PHP_SELF']?>"> <?php echo $error['email'];?> <?php echo $error['telefon'];?> <?php echo $error['firma'];?> <?php echo $error['ansprechpartner'];?> <?php echo $error['betreff'];?> <?php echo $error['nachricht'];?> <fieldset class="kontaktdaten"> <legend>Kontaktdaten</legend> <label>Ansprechpartner</label><input type="text" name="ansprechpartner" maxlength="25" value="<?php echo $_POST['ansprechpartner'];?>" size="20" /> <label>Firma</label><input type="text" name="firma" maxlength="200" value="<?php echo $_POST['firma'];?>" size="20"/> <label>Telefon</label><input type="text" name="telefon" maxlength="200" value="<?php echo $_POST['telefon'];?>" size="20"/> <label>eMail</label><input type="text" name="email" maxlength="200" value="<?php echo $_POST['email'];?>" size="20"/> </fieldset> <fieldset class="anfrage"> <legend>Anfrage</legend> <label>Betreff</label><input type="text" name="betreff" maxlength="150" value="<?php echo $_POST['betreff'];?>" size="20"/><br /> <label>Nachricht</label> <textarea name="nachricht" cols="30" rows="8"><?php echo $_POST['nachricht'];?></textarea> </fieldset> <fieldset> <legend>Ihre Aktion</legend> <span class="buttons"> <input type="hidden" name="ueberpruefung" value="1" /> <input type="submit" name="Tutorial" value="Absenden" /> <input type="reset" name="delete" value="Löschen" /> </span> </fieldset> </form> <?php } ?> grüße img |
Sponsored Links |
|
|||
Zitat:
ah oder du meinst die http://www.bvv-ivkovic.de/versenden2.php da mus sich nochmal drüber schaun... aber das sind "nur" tags die mit ..../> geschlossen werden müssen, daher der rießen Sprung? Geändert von img (29.05.2008 um 17:28 Uhr) |
|
|||
Das ist nicht die fehlerhafte Seite!
Du musst nach dem Absenden validieren! Dort, wo der Fehler auftritt. Installier dir HTML Validator für Firefox. Nein, ich meine nicht die von dir verlinkten Dokumente. Ich meine genau das Dokument, das du siehst, wenn du den Fehler siehst. Dort gibt es Divs an den falschen Stellen. Deshalb liegt der Footer außerhalb von #page-container. Du brauchst unbedingt(!) Firebug und HTML-Validator als Addons. Geändert von fricca (29.05.2008 um 17:32 Uhr) |
|
|||
den HTML-Validator gibts leider nich für OS X
Firebug werd ich mir mal drauf machen... nochma zu dem Fehler: Vielleicht hab ich da ein Verständnisproblem... ich rufe anfragen.php auf... diese seite ist im prinzip bis auf das grundgerüst komplett ohne inhalt, lediglich ein include der versenden2.php ist im Inhalt zu finden. das heißt anfragen.php ist komplett identisch, ob ich jetzt das formular ausfülle, absende und fehler bekomme, oder erfolgreich versende, an der anfragen.php ändert sich nichts. Folglich ist es unlogisch für mich warum die Fehler bei den divs erst NACH dem Versenden auftauchen, obwohl die Seite wie erwähnt nicht verändert wird... es wird nur bei jeder Aktion ein anderer Part des PHP-Skriptes aufgerufen. Deswegen verstehe ich nicht, warum die Seite beim Ausfüllen und den Fehlermeldungen geht, aber nicht beim Bestätigen.. wäre für ne Aufklärung dankbar grüße img |
|
|||
ich hab das ganze nochma angeschaut mit dem firebug.
Dadurch habe ich festgestellt, dass es doch am php liegt. Und zwar wie er die "bestätigung" auf der Seite anzeigt, das php skript generiert folgenden HTML-Code: Code:
<h3>. anfragen</h3> Ihre Mitteilung wurde erfolgreich versendet.<br /><br /><b>Firma:</b> asdasdasd<br /><b>Ansprechpartner:</b> asd<br /><b>Betreff:</b> betreff<br /><b>Telefon:</b> asdasdasd<br /><b>Email:</b> asdasd<br /><b>Nachricht:</b> asd<br /> </div> Er verschiebt den page-container, der footer ist da nicht mehr enthalten... siehe Screenshot |
|
|||
noch eine Feststellung:
PHP-Code:
|
|
|||
Zitat:
Solange du diesen HTML-Fehler nicht beseitigst wird es den Darstellungsfehler geben. Du siehst die falsche Dokumentstruktur mit Firebug! |
|
|||
Es gibt ja auch immer noch den HTML-Fehler. Du schließt deine div-Elemente falsch. Ich weiß nicht, wo genau in deinem Gescripte der Fehler liegt. Du musst ihn selbst finden.
edit: Die Beschreibung der HTML-Validator-Extension führte mich zu dieser Seite. Ich habe es nicht getestet, klingt aber vielversprechend. Geändert von fricca (03.06.2008 um 13:07 Uhr) |
Sponsored Links |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Positionierung und Layout Probleme | dabidu | CSS | 9 | 22.10.2006 09:57 |
Flexibles 3-Spalten Layout | Tobbe | CSS | 4 | 18.10.2006 13:07 |
2.Spalten Layout Positionierung des Contents | MightTower | CSS | 2 | 01.08.2006 18:37 |
3 Spalten Layout! | insanic! | CSS | 4 | 14.11.2005 14:27 |
Layout Problem CSS | david.bellem | CSS | 8 | 17.09.2004 11:59 |