Formular für Website weiterempfehlen

wavetraxx

Erfahrenes Mitglied
Hallo zusammen,

ich möchte gerne ein Formular machen für eine Websiten-Weiterempfehlung.

Dazu habe ich ein Html-Formular mit folgenden Variablen:

Name (Name der die Site weiterempfiehlt)
email_ab (Email Absender)
Mitteilung (Textfeld zum was reinschreiben, im Sinn von: "coole Seite, sehr zu empfehlen!"

email_empf1 (Email Empfänger 1)
email_empf2 (Email Empfänger 2)
email_empf3 (Email Empfänger 3)
email_empf4 (Email Empfänger 4)


Code:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Kontakt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


<link href="../CSS/Style.css" rel="stylesheet" type="text/css">
</head>

<body class="BgContent">
<span class="normal">Seite weiterempfehlen</span>
<form action="http://www.auktions-gate.ch/PHP/empfehlen.php" name="formular" method="post" onSubmit="return check()">

<!-- Inputs (alle Type = text ) -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td><table width="600" border="0" align="left" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="2" class="Titel_Normal">Absender</td>
  </tr>
  <tr>
    <td width="109" class="normal">Name:</td>
    <td width="491"><input name="Name" type="text" id="Name" size="60"></td>
  </tr>
  
   <tr>
    <td class="normal">Email:</td>
    <td><input name="email_ab" type="text" id="email_ab" size="60"></td>
  </tr>
  
   <tr>
    <td valign="top" class="normal">Deine Mitteilung :</td>
    <td><textarea name="Mitteilung" cols="46" rows="10" id="Mitteilung"></textarea>
      <br></td>
  </tr>
  
   <tr>
    <td colspan="2" valign="top" class="normal"><br></td>
    </tr>
	<tr>
    <td colspan="2" class="Titel_Normal">Empf&auml;nger</td>
  </tr>
	 <tr>
    <td class="normal">Email:</td>
    <td><input name="email_empf1" type="text" id="email_empf1" size="60"></td>
  </tr>
   <tr>
    <td class="normal">Email:</td>
    <td><input name="email_empf2" type="text" id="email_empf2" size="60"></td>
  </tr>
   <tr>
    <td class="normal">Email:</td>
    <td><input name="email_empf3" type="text" id="email_empf3" size="60"></td>
  </tr>
   <tr>
    <td class="normal">Email:</td>
    <td><input name="email_empf4" type="text" id="email_empf4" size="60"></td>
  </tr>
  

  
  <tr>
    <td colspan="2" valign="top" class="normal"><br></td>
    </tr>
  
  
   <tr>
    <td>&nbsp;      </td>
    <td><input name="submit2" type="submit" value="Empfehlen"></td>
   </tr>
	<tr>
    <td colspan="2" valign="top" class="normal"><br></td>
    </tr>
	<tr>
    <td valign="top" class="normal">Adresse:<br></td>
            <td valign="top" class="normal">auktions-gate<br>
      Mariabergstrasse 11<br>
      CH-9400 Rorschach<br>
      Tel. 071 845 45 05 <br>
      <a href="mailto:info@auktions-gate.ch">info@auktions-gate.ch</a></td>
	</tr>
	<tr>
	  <td colspan="2" class="normal">&nbsp;</td>
	</tr>
</table></td>
  </tr>
</table>
</form>
</body>
</html>

Mein bisheriges PHP-Formular:

Code:
 <head><meta http-equiv="refresh" content="0; URL=http://www.auktions-gate.ch/Frames/KontaktOKEY.htm"></head> 

<?php 
$datum_string = date("G:i d.m.Y"); 
$time_start    = microtime(); 
function mail_senden($Name, $email_empf1, $email_empf2, $email_empf3, $email_empf4, $Mitteilung) { 
global $datum_string; 
$empfaenger = "email_empf1"; 
$empfaenger = "email_empf2"; 
$empfaenger = "email_empf3"; 
$empfaenger = "email_empf4"; 
$text .= "Folgende Seite wurde Ihnen von $email_ab empfohlen:: $datum_string"."\n"; 
$text .= ""."\n"; 
$text .= "Name: " . $Name . "\n" ; 
$text .= "Email: " . $email_empf . "\n" ; 
$text .= "Mitteilung: " . $Mitteilung . "\n" ; 

header( "Location: http://www.auktions-gate.ch/Frames/WeiterempfehlungOKEY.htm" ); 
mail($empfaenger, "Website auktions-gate", $text, "From: email_ab\r\n"
); ?> 

<?php 
} 
function fehler() { 
?> 
<h2>Fehlende Eingabe !</h2><br> 
<a href="javascript:history.back();">Zur&uuml;ck</a> 
<?php 
} 
?> 
<HTML> 
<BODY> 

<?php 
$time_end = microtime(); 
    $temp         = explode(' ', $time_start.' '.$time_end); 
    $duration    = sprintf('%.8f',($temp[2]+$temp[3])-($temp[0]+$temp[1])); 
 
mail_senden($_POST['Name'], $_POST['email_empf1'], $_POST['email_empf2'], $_POST['email_empf3'], $_POST['email_empf4'], $_POST['Mitteilung']) ; 
 
?> 
</BODY> 
</HTML>

Leider bin ich kein Super-Coder im PHP.

Evtl. könnte mir da jemand helfen? Bin um jeden Tipp Sehr dankbar.

Gibt es auch die Möglichkeit, dass wenn jemand z.B. keine Mitteilung schreibt, dass dann automatisch ein Standart-Text eingefügt wird?

Grüsse
 
Abfragen ob $Mitteilung gesetzt ist, falls nicht, anderen Text bei $Mitteilung zuweisen.
 
Das hört sich einfach und logisch an, aber als Newbie-PHP-Coder das umzusetzen?

Und wie siehts mit meinem PHP-Script aus? Was muss ich da ändern, damit das ganze auch richtig läuft?

Bin um jeden Tipp sehr dankbar.
 
PHP:
$Mitteilung = "Standart-Text";
if (isset($_POST['Mitteilung'])){
$Mitteilung = $_POST['Mitteilung'];
}
 
Ah Super, vielen Dank.

Wie sieht es mit dem Rest aus vom PHP-Script. Ich habe einfach ein altes PHP-Script von einem Kontaktformular genommen.

Könnte es so wie ich es hier gepostet habe funktionieren?


Code:
<head><meta http-equiv="refresh" content="0; URL=http://www.auktions-gate.ch/Frames/KontaktOKEY.htm"></head> 

<?php 
$datum_string = date("G:i d.m.Y"); 
$time_start    = microtime(); 
function mail_senden($Name, $email_empf1, $email_empf2, $email_empf3, $email_empf4, $Mitteilung) { 
global $datum_string; 
$empfaenger = "email_empf1"; 
$empfaenger = "email_empf2"; 
$empfaenger = "email_empf3"; 
$empfaenger = "email_empf4"; 
$text .= "Folgende Seite wurde Ihnen von $email_ab empfohlen:: $datum_string"."\n"; 
$text .= ""."\n"; 
$text .= "Name: " . $Name . "\n" ; 
$text .= "Email: " . $email_empf . "\n" ; 
$text .= "Mitteilung: " . $Mitteilung . "\n" ; 

$Mitteilung = "Ich empfehle Dir die Seite xxx";
if (isset($_POST['Mitteilung'])){
$Mitteilung = $_POST['Mitteilung'];
}  


header( "Location: http://www.auktions-gate.ch/Frames/WeiterempfehlungOKEY.htm" ); 
mail($empfaenger, "Website auktions-gate", $text, "From: email_ab\r\n"
); ?> 

<?php 
} 
function fehler() { 
?> 
<h2>Fehlende Eingabe !</h2><br> 
<a href="javascript:history.back();">Zur&uuml;ck</a> 
<?php 
} 
?> 
<HTML> 
<BODY> 

<?php 
$time_end = microtime(); 
    $temp         = explode(' ', $time_start.' '.$time_end); 
    $duration    = sprintf('%.8f',($temp[2]+$temp[3])-($temp[0]+$temp[1])); 
 
mail_senden($_POST['Name'], $_POST['email_empf1'], $_POST['email_empf2'], $_POST['email_empf3'], $_POST['email_empf4'], $_POST['Mitteilung']) ; 
 
?> 
</BODY> 
</HTML>
 
<meta http-equiv="refresh" con
tent="0; URL=http://www.auktions-gate.ch/Frames/KontaktOKEY.htm">
sowas macht man nicht.

Dann würde die Mail nur an den letzten Empfänger geschickt werden, da $empfaender immerwieder überschrieben wird
immer wieder überschrieben wird.
PHP:
$empfaenger = "email_empf1"; 
$empfaenger = "email_empf2"; 
$empfaenger = "email_empf3"; 
$empfaenger = "email_empf4";

Der Sinn von
header( "Location: http://www.auktions-gate.ch/Frames/WeiterempfehlungOKEY.htm" );
bleibt mir auch verborgen

Kann mir dasganze heute abend noch mal in Ruhe anschauen muss jetzt weg

ausserdem ist es möglich Dein Form für emial-injection zu missbrauchen
 
<meta http-equiv="refresh" con
tent="0; URL=http://www.auktions-gate.ch/Frames/KontaktOKEY.htm">
sowas macht man nicht.


Das hat man mir auf der http://www.tutorial.de vorlanger Zeit gesagt, dass ich das so machen muss. :)

Der Sinn von
header( "Location: http://www.auktions-gate.ch/Frames/WeiterempfehlungOKEY.htm" );
bleibt mir auch verborgen


Der Sinn und Zweck war der, dass bei Erfolgreichem Versand vom Mail eine Neue Seite angezeigt wird, im Sinn von: "Vielen Dank für deine Anfrage/Weiterempfehlung"
 
Zurück