include und Formular

celiadee

Mitglied
Hi Folks,

ich bin Hobby-Programmiererin mit begrenzten Kenntnissen und baue mir gerade eine Webseite.

Es geht um mein Kontaktformular, das einfach nicht richtig en will: Ich erhalte lediglich eine Leere Email von "postmaster..." mit den Formatierungen ( für Name, Email, Subject, Comment) aber die Variablen werden nicht übergeben. Außerdem bekomme ich immer gleich 3 von diesen Postmaster-Mails.

Zum Aufbau:

Ich arbeite mit includeten-PHPs, das Javascript für die Formularabfrage befindet sich in der
Index.php und funktioniert für Firefox ganz prima, Safari und IE zeigen mir das Kontaktformular nicht an... ? Das wäre schon mal die erste Frage, wo soll ich das
Javascript am besten einbinden? Das Kontaktformular wird ja included und hat nur einen Body.

http://www.christinaundwalter.com/index.php?seite=files/kontakt

Hier das php zum Kontaktformular:

PHP:
<!-- Anfang PHP Kontakt -->
<?php if ($_POST["send"] == 1) {
###############################################################################
#
#  $_POST["FormContent"] statt $FormContent
#  $_POST["MailFrom"] statt $MailFrom
# Mail an mich  ##########################################################
#
#
#
$MailTo="christina.walter@arcor.de";
#
# Formating Date   ############################################################
#
$nowDay=date("m.d.Y");
$nowClock=date("H:i:s");
#
# Formating Body content ######################################################
$Body = str_replace("\r","\n",$Body);
$FormContent="
The following details have been recieved on $nowDay at $nowClock:\n\n
----------------------------------------------------------------------------\n
Name: $Name\n
E-mail: $MailFrom\n
----------------------------------------------------------------------------\n
Subject: $Subject\n
----------------------------------------------------------------------------\n
Comment: $Body\n
----------------------------------------------------------------------------\n
";
#
# 
mail($MailTo, "$Subject (von $Name)", $FormContent, "From: $MailFrom");
}
?>
<!-- Ende PHP -->
<body>
<!-- seite -->
<div id="page_basic">
<!-- überschrift -->
<div id="headline">
<img src="../pics/headline_grafik.gif">
</div>

<!-- content_kontakt -->
  <div id="content_kontakt"> 
    <hr class="line">
		<img src="../pics/med_headlines.gif" width="200" height="24" class = "headline_med">

    <div class = "div_kontakt_1">
	  Modedesign und Grafikdesign.
	  <br><br>
      Ich freue mich auf Ihre Anfragen, Ideen und Anregungen.<br>
      Bitte f&uuml;llen Sie das Kontaktformular aus und klicken Sie auf "senden".</div>

<div class = "div_kontakt_2"> 
    <table cellpadding="0" cellspacing="0" class = "table_kontakt">
      <form method="post" name="Formular" onSubmit="return chkFormular()">
  <tr>
          <td class = "td_kontakt1">Ihr Name:</td>
  </tr>
  <tr>
    <td class = "td_kontakt2"><input name="Name" type="text" id="Name" class="feld">
	</td>
  </tr>
  <tr>
          <td class = "td_kontakt3">Ihre Email-Adresse:</td>
  </tr>
  <tr>
    <td class = "td_kontakt2"><input class="feld" name="MailFrom" type="text" id="MailFrom3"></td>
  </tr>
  <tr>
          <td class = "td_kontakt3">Ihr Thema:</td>
  </tr>
  <tr>
    <td class = "td_kontakt2"><input name="Subject" type="text" id="Subject" class="feld"></td>
  </tr>
  <tr>
          <td class = "td_kontakt3">Ihre Nachricht:</td>
  </tr>
  <tr>
    <td class = "td_kontakt4"><textarea class="area" name="Body" wrap="hard" id="Body"></textarea></td>
  </tr>
  <tr>
  
  <!-- PHP übergabe-->
                                  <?php if ($_POST["send"] == 1) {  
								  	$x = 'Thank you!'; 
								  		}else{ 
  											$x = '&nbsp;'; 
												}                           
									?>
<!-- PHP -->

    <td class = "td_kontakt5"><input class="go" name="Submit" type="submit" id="Submit2" value="senden!">
		<input class="danke" name="text" type="text" value = "<?=$x?>" ></td>
			          <input type="hidden" name="send" value="1">
  </tr>
</form>
</table>



    <br>
      <br>
    <br>
    Oder kontaktieren Sie mich &uuml;ber die folgende Adresse: 
    <p class = "p1">Christina&amp;Walter / Studio 228<br>
      <br>
      T: +49 (0) 211 16 34 47 85<br>
      F: +49 (0) 211 58 01 540<br>
      <br>
      F&uuml;rstenwall 228<br>
      D-40215 D&uuml;sseldorf</p>
  </div>
   </div>
</body>

Wer kann mir weiterhelfen...getting crazy..:-(

LG _xmouse
 
Zuletzt bearbeitet:
Hey,

mach mal aus $Body\n usw $_POST[Body]

PHP:
$FormContent="
The following details have been recieved on $nowDay at $nowClock:\n\n
----------------------------------------------------------------------------\n
Name: $_POST[Name]\n
E-mail: $_POST[MailFrom]\n
----------------------------------------------------------------------------\n
Subject: $_POST[Subject]\n
----------------------------------------------------------------------------\n
Comment: $_POST[Body]\n
----------------------------------------------------------------------------\n
";
 
Zuletzt bearbeitet:
Hi Stefan,

das bringt leider nichts,

habe den PHP-Code so geändert:

PHP:
<!-- Anfang PHP Kontakt -->
<?php if ($_POST["send"] == 1) {
###############################################################################
#
#  $_POST["FormContent"] statt $FormContent
#  $_POST["MailFrom"] statt $MailFrom
# Mail an mich  ##########################################################
#
#
#
$MailTo="christina.walter@arcor.de";
#
# Formating Date   ############################################################
#
$nowDay=date("m.d.Y");
$nowClock=date("H:i:s");
#
# Formating Body content ######################################################
$Body = str_replace("\r","\n",$Body);
$FormContent="
The following details have been recieved on $nowDay at $nowClock:\n\n
----------------------------------------------------------------------------\n
Name: $_POST[Name]\n
E-mail: $_POST[MailFrom]\n
----------------------------------------------------------------------------\n
Subject: $_POST[Subject]\n
----------------------------------------------------------------------------\n
Comment: $_POST[Body]\n
----------------------------------------------------------------------------\n
";
#
# 
mail($MailTo, "$Subject (von $Name)", $FormContent, "From: $MailFrom");
}
?>
<!-- Ende PHP Kontakt-->

Wieder nur eine leere Mail vom Webmaster :offtopic:
 
Alle Variablen, die den Inhalt deines Formulares haben sollen brauchen $_POST[variable]

Sprich auch
PHP:
mail($MailTo, "$Subject (von $Name)", $FormContent, "From: $MailFrom");

PHP:
mail($MailTo, "$_POST[Subject] (von $_POST[Name])", $_POST[FormContent], "From: $_POST[MailFrom]");
 
Danke,
das habe ich gemacht;
Jetzt werden die Variablen Name, MailFrom und Subject übergeben,
aber nur in der Vorschau im Email Programm. Die Email selbst ist leer... ?
 

Anhänge

  • test.jpg
    test.jpg
    24,6 KB · Aufrufe: 13
Zuletzt bearbeitet:
Deshalb:
PHP:
$Body = str_replace("\r","\n",$Body);

Ändern in:
PHP:
$Body = str_replace("\r","\n",$_POST['Body']);

Allerdings würde ich das ganze so schreiben... naja ist wohl geschmackssache ;)

PHP:
# Formating Body content ######################################################

$Name = $_POST['Name'];
$MailFrom = $_POST['MailFrom'];
$Subject = $_POST['Subject'];

$Body = str_replace("\r","\n",$_POST['Body']);
$FormContent="
The following details have been recieved on $nowDay at $nowClock:\n\n
----------------------------------------------------------------------------\n
Name: $Name\n
E-mail: $MailFrom\n
----------------------------------------------------------------------------\n
Subject: $Subject\n
----------------------------------------------------------------------------\n
Comment: $Body\n
----------------------------------------------------------------------------\n
";
#
# 
mail($MailTo, "$Subject (von $Name)", $FormContent, "From: $MailFrom");
}
 
Suuuper! Herzlichen Dank an Euch beide!
:) Es t jetzt!

Jetzt bleibt nur noch die Frage, wo ich meine Formular-Abfrage (Javascript) einfüge.
Normalerweise kommt die ja in den Head, da ich die kontakt.php aber include, habe
ich es in den head der Index.php gesetzt. Im Firefox t es prima.
Aber der IE und Safari machen Zicken: die zeigen die kontakt.php dann nämlih nicht an.
;-] Woran kann das liegen?
 
hello again,

man kann den Formular-Check mit Javascript ohne weiteres in den Head der Index-PHP packen.

Ich hatte da nur einen Fehler im Code und den hat der IE und der Safari nicht vertragen.
Also alles gut.

Vielen dank nochmals für die tolle Hilfe!
:-)
 
Zurück