• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Verschoben, Fehler?

Status
Für weitere Antworten geschlossen.

M_P

Neues Mitglied
Hi,

ich mache mir gerade eine Homepage.
(Die Site ist also noch längst nicht fertig!)
Jetzt hab ich ein Problem.
Wenn man in der Navigation auf Kontakt geht,
ist die Navigation nach links etwas verschoben.
Ich weiß nicht voran es liegen kann.
Vom Code stimmt meiner Meinung nach auch alles. =(
Schaut's euch bitte einmal an:
http://www.marcpisch.de/
... und geht dann auf Kontakt.
Hier mal der Code von der kontak.html:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>The Magic of Marc Pisch</title>
<style type="text/css">
<!--
body {
    background-color: #02021e;
}
-->
</style>
<link href="marc_pisch.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Stil1 {
    color: #99CCFF;
    background-color: #02021e;
}
.Stil2 {font-size: 18px}
-->
</style>
</head>

<body>
<div align="center">
  <table width="800" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="400" rowspan="2"><a href="index.html"><img src="images/index_pic.jpg" width="400" height="140" border="0" /></a></td>
      <td width="400" height="70" class="bold"><p class="bold">The Magic of ... </p>      </td>
    </tr>
    <tr>
      <td align="center" valign="top" class="bold Stil2">Marc Pisch </td>
    </tr>
  </table>
  <table width="800" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td><img src="" alt="" name="Rote_Linie" width="800" height="32" id="Rote_Linie" /></td>
    </tr>
  </table>
  <table width="800" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="200" valign="top"><p> <a href="news.html" class="navigation">News </a><a href="videos.html" class="navigation">Videos</a> <a href="uebermich.html" class="navigation">&Uuml;ber mich</a> <a href="kontakt.html" class="navigation">Kontakt</a> <a href="links.html" class="navigation">Links</a> </p></td>
      <td width="600" valign="top"><p class="bold">Kontakt</p>
        <p class="Stil1">F&uuml;llen Sie bitte die leeren Felder aus um mich zu kontaktieren.</p>
        <p class="Stil1"><strong>Marc Pisch <br />
          07021 / 73 87 16
          <br />
          <a href="mailto:[email protected]">[email protected]</a><br />
          Kirchheim unter Teck</strong></p>
        <p class="Stil6">&nbsp;</p>
        <table width="600" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="75" class="Stil1"> Ihr Name: </td>
            <td width="525" height="30" align="left"><input name="textfield" type="text" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">Wohnort:</td>
            <td width="525" height="30" align="left"><input name="textfield2" type="text" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">eMail:</td>
            <td width="525" height="30" align="left"><input name="textfield3" type="text" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">Text:</td>
            <td width="525" height="80" align="left"><textarea name="textarea" cols="50" rows="10" class="Stil1"></textarea></td>
          </tr>
        </table>        
      <p class="Stil1">&nbsp;</p></td>
    </tr>
  </table>
</div>
</body>
</html>
Ich hoffe jemand kann mir sagen,
wo der (sicherlich simple) Fehler liegt! =)

Greetz
 
Also ich habe im Quelltext keine Fehler gefunden, aber meine Vermutung wäre, dass dein Kontaktformular so groß ist, das es mehr Platz haben will, folglich also alles "abdrängt".

Gruß Corvulus
 
Ich würde bei jeder Seite alle Tabellen gleichbreit machen.
Wie Corvulus es schon sagte..

Es wäre viel einfacher alles mit PHP zu includen, als für jeden Link eine neue Seite zu machen.
 
Hi,

@ matibaski:
Ich weiß, dass es mit php besser wäre.
Allerdings habe ich davon keinen Schimmer.
Um noch mal auf das Kontaktformular zurückzukommen:

Ich habe es jetzt soweit fertig.
Was muss ich jetzt noch machen,
dass auch etwas passiert,
wenn man auf Abschicken oder Löschen drückt?
--> http://www.marcpisch.de/kontakt.html

Achso.
Ich habe schon im Inet gesucht,
wie man sowas machen kann,
aber da wurde immer alles nur mit php beschrieben.

Greetz
 
Also für Abschicken musst du folgendes machen
(Musst icht, ich gebe dir einfach Tip)

Wenn du ein Formular haben möchtest, dann müssen die <form></form>-Tags drin sein. Bei dir waren sie nicht.

Erklärung
method="post" : Es wird per post übermittelt. es gibt noch "get"
action="datei_verschicken.php" : Diese Datei muss vershcicken.

Nun musst du so machen:
HTML:
      <form method="post" action="datei_verschicken.php">
        <table width="600" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="75" class="Stil1"> Ihr Name: </td>
            <td width="525" height="30" align="left"><input type="text" name="Name" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">Wohnort:</td>
            <td width="525" height="30" align="left"><input type="text" name="Wohnort" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">eMail:</td>
            <td width="525" height="30" align="left"><inputtype="text" name="Email" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">Betreff:</td>
            <td width="525" height="30" align="left"><inputtype="text" name="Betreff" p class="Stil1" /></td>
          </tr> 
          <tr>
            <td width="75" class="Stil1">Text:</td>
            <td width="525" height="80" align="left"><textarea cols="50" rows="10" name="Text" class="Stil1"></textarea></td>
          </tr>
          <tr>
            <td height="40" class="Stil1">&nbsp;</td>
            <td height="40" align="center" colspan="2"> <input name="Send" type="submit" value="Abschicken">&nbsp;   
            <input name="Reset" type="reset" value="Löschen"></td>
          </tr>
        </table>
      </form>

Und nun erstell dir eine datei_verschicken.php..

Ich habe dir mal so aus dem Kopf den Code gemacht..
PHP:
<?php
// Wenn ein Feld leer gelassen wurde,
if(empty($_POST['Name']) || empty($_POST['Wohnort']) || empty($_POST['Email']) || empty($_POST['Text']) || empty($_POST['Betreff']))
{
// Meldung geben
echo'Bitte gehen Sie <a href="javascript:history.back">zurück</a>, und füllen Sie alle Felder aus';
}

$Empfaenger = "[email protected]"; // Empänger E-Mail
$Sender = $_POST['Name']; // Absender
$Wohnort = $_POST['Wohnort']; // Wohnort
$Email = $_POST['Email']; // E-Mail
$Betreff = $_POST['Betreff']; // Betreff
$Inhalt = $_POST['Text']; // Inhalt

$nachricht = "Sie haben eine E-Mail von <b>$Sender</b> erhalten.<br /><br />Name: $Sender<br />Wohnort: $Wohnort<br />E-Mail: $Email<hr><b>Übermittelte Nachricht:</b><br />$Inhalt";

if(mail($Empfaenger,$Betreff, $nachricht, "From:$Email"))
{
echo'Ihre Nachricht wurde erfolgreich übermittelt!';
}
else
{
echo'ERROR!<br />Die gewünschte Nachricht wurde nicht übermittelt!';
echo'Um Ihren Text nicht zu verlieren, klicken Sie <a href="javascript:history.back()">hier</a>!
}
?>
Etwa so sollte es gehen.
Ich habe bei deinem Formular noch Betreff eingefügt, da man dies Braucht für eine E-Mail Absendung.

Und hier noch wegen dem Resetbutton:
HTML:
<input type="reset" value="Reset" name="resetbutton">
Ich garantiere dir nicht, dass es funktioniert, denn:
1. Ich habe heute einige Probleme mit dem lesen,
2. Ich habe alles aus dem Kopf gemacht.

Also: Keine Garantie auf Fehler!!

MfG, matibaski
 
Erklärung
method="post" : Es wird per post übermittelt. es gibt noch "get"
action="datei_verschicken.php" : Diese Datei muss vershcicken.

schon richtig, aber vielleicht etwas unglücklich ausgedrückt.

method="post" : Es wird per post übermittelt. es gibt noch "get"

Dazu muss man sagen das per POST die daten "versteckt" übermittelt werden und bei GET ist alles in der adresszeile des browsers zu sehen. bei kontaktformularen nicht so wild, bei übermittlung von passwörtern ist GET absolutes NONO

action="datei_verschicken.php" : Diese Datei muss vershcicken.

formulieren wir es anders. an die datei die in action="" steht werden die daten des formulares übermittelt. was die zieldatei letztendlich damit macht interessiert action="" nicht. die zieldatei kann die daten auch in eine DB speichern.

wollt ich nurmal so loswerden, war keine kritik :mrgreen:

gruß jan
 
Nimm ich auch nicht als Kritik an, aber ich versuchte es, so kurz wie möglich.
Und wie schon gesagt, mein heutiger Tag ist ein wenig komisch. :mrgreen:


MfG, matibaski
 
Hi,

vielen lieben Dank für eure Hilfe! :-)
Ich werde den Code gleich mal morgen ausprobieren.

Greetz
 
Hi,

ich habe gerade eben den Code eingeben.
(Habe ihn auch ein wenig abgeändert!)

Jetzt gibt es noch einige sagen wir mal "unrunde Dinge".

Füllt z.B. mal alle Felder aus,
außer das eMail-Feld und dann auf Abschicken.
Folgendes kommt dann:
Bitte gehen Sie zurück und füllen Sie alle Felder ausIhre Nachricht wurde erfolgreich übermittelt!

1.)
Ich bekomme trotzdem eine eMail,
mit allen Informationen außer eben die eMail-Adresse. :wink:

2.)
Da steht "Ihre Nachricht wurde erfolgreich übermittelt!"

3.)
Wenn man auf zurück klickt,
kommt:
function back() { [native code] }

Ich zeige euch mal zur Sicherheit beide betreffenden Dateien,
wo der Fehler liegen könnte:

kontakt.html:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>The Magic of Marc Pisch</title>
<style type="text/css">
<!--
body {
    background-color: #02021e;
}
-->
</style>
<link href="marc_pisch.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Stil1 {
    color: #99CCFF;
    background-color: #02021e;
}
.Stil2 {font-size: 18px}
-->
</style>
</head>

<body>
<div align="center">
  <table width="800" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="400" rowspan="2"><a href="index.html"><img src="images/index_pic.jpg" width="400" height="140" border="0" /></a></td>
      <td width="400" height="70" class="bold"><p class="bold">The Magic of ... </p>      </td>
    </tr>
    <tr>
      <td align="center" valign="top" class="bold Stil2">Marc Pisch </td>
    </tr>
  </table>
  <table width="800" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td><img src="" alt="" name="Rote_Linie" width="800" height="32" id="Rote_Linie" /></td>
    </tr>
  </table>
  <table width="800" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="200" valign="top"><p> <a href="news.html" class="navigation">News </a><a href="videos.html" class="navigation">Videos</a> <a href="uebermich.html" class="navigation">&Uuml;ber mich</a> <a href="kontakt.html" class="navigation">Kontakt</a> <a href="links.html" class="navigation">Links</a> </p></td>
      <td width="600" valign="top"><p class="bold">Kontakt</p>
        <p class="Stil1">F&uuml;llen Sie bitte die leeren Felder aus um mich zu kontaktieren.</p>
        <p class="Stil1"><strong>Marc Pisch <br />
          07021 / 73 87 16
          <br />
          <a href="mailto:[email protected]">[email protected]</a><br />
          Kirchheim unter Teck</strong></p>
        <p class="Stil6">&nbsp;</p>
        <form method="post" action="send.php">
        <table width="600" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="75" class="Stil1"> Ihr Name: </td>
            <td width="525" height="30" align="left"><input type="text" name="Name" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">Wohnort:</td>
            <td width="525" height="30" align="left"><input type="text" name="Wohnort" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">eMail:</td>
            <td width="525" height="30" align="left"><input type="text" name="Email" p class="Stil1" /></td>
          </tr>
          <tr>
            <td width="75" class="Stil1">Betreff:</td>
            <td width="525" height="30" align="left"><input type="text" name="Betreff" p class="Stil1" /></td>
          </tr> 
          <tr>
            <td width="75" class="Stil1">Text:</td>
            <td width="525" height="80" align="left"><textarea cols="50" rows="10" name="Text" class="Stil1"></textarea></td>
          </tr>
          <tr>
            <td height="40" class="Stil1">&nbsp;</td>
            <td height="40" align="center" colspan="2"> <input name="Send" type="submit" value="Abschicken">&nbsp;   
                                                        <input name="Reset" type="reset" value="Löschen"></td>
          </tr>
       </table>
       </form>
      <p class="Stil1"></p></td>
    </tr>
  </table>
</div>
</body>
</html>
send.php:
PHP:
<?php
// Wenn ein Feld leer gelassen wurde,
if(empty($_POST['Name']) || empty($_POST['Wohnort']) || empty($_POST['Email']) || empty($_POST['Betreff']) || empty($_POST['Text']))
{
// Meldung geben
echo'Bitte gehen Sie <a href="javascript:history.back">zurück</a>, und füllen Sie alle Felder aus';
}

$Empfaenger = "[email protected]"; // Empänger E-Mail
$Sender = $_POST['Name']; // Absender
$Wohnort = $_POST['Wohnort']; // Wohnort
$Email = $_POST['Email']; // E-Mail
$Betreff = $_POST['Betreff']; // Betreff
$Inhalt = $_POST['Text']; // Inhalt

$Nachricht = "Sie haben eine E-Mail von $Sender erhalten.
Name: $Sender
Wohnort: $Wohnort
E-Mail: $Email
Übermittelte Nachricht:
$Inhalt";

if(mail($Empfaenger, $Betreff, $Nachricht, "From:$Email"))
{
echo'Ihre Nachricht wurde erfolgreich übermittelt!';
}
else
{
echo'ERROR!<br />Die gewünschte Nachricht wurde nicht übermittelt!';
echo'Um Ihren Text nicht zu verlieren, klicken Sie <a href="javascript:history.back()">hier</a>!';
}
?>
Ich hoffe ihr könnt wieder so gut helfen! :smile:

Greetz

P.S.:
Zur php-Datei:
Ich habe einfach eine Text-Datei erstellt,
den Code eingegebn und dann als .php umbenannt.
Das geht doch, oder?
 
hab zwar nur kurz reingeblickt, aber fehlt da nicht nen else?

btw: erkundige dich mal über die funktion preg_match ;)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben