Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
mail() Problem in kontaktformular [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
mail() Problem in kontaktformular


 
|V|emphis
24-04-2005, 18:39 
 
ein teil meines kontakt formulares sieht folgerndermaßen aus:

<?php
if(isset($send))
{
//Eingaben überprüfen
echo "Hier können sie noch einmal ihre Eingaben überprüfen:<br>";
echo "<br><b>Name:</b> $name";
echo "<br><b>Vorname:</b> $vorname";
echo "<br><b>E-Mail:</b> $email: <br>";

if(isset($info)) {
$ja = "JA, Ich möchte Informationsmaterial erhalten!";
echo "<b>$ja</b>";
}
else {
$nein = "NEIN, Ich möchte kein Informationsmaterial erhalten!";
echo "<b>$nein</b>";
}

echo "<p><b>Nachricht:</b> <br>".nl2br($nachricht)."<p>";

echo "<p>";
?>
<form name="form2" method="post" action="index2.php?section=Form">
<input name="send2" type="submit" id="send2" value="Abschicken">
</form>
<?php
}
else
{
$to = "meine e-mail addy";
$subject = "TecSolution Kontaktforumal";
$message = "
<html>
<body>
<br><b>Name:</b> $name
<br><b>Vorname:</b> $vorname
<br><b>E-Mail:</b> $email <br>
";
if(isset($ja))
{
$message .= $ja;
}
else
{
$message .= $nein;
}

$message .= "
<p><b>Nachricht:</b> <br>".nl2br($nachricht)."<p>
</body>
</html>
";

//Um eine HTML-Mail zu senden, können Sie den den "Content-type"-Header setzen
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

mail($to, $subject, $message, $headers);

echo "Das Formular wurde an uns geschickt.<br> Wir werden ihnen in Kürze antworten.";
}
?>



Die email wird mir zwar geschick, jedoch mit folgernder ausgabe:


Name:
Vorname:
E-Mail:

Nachricht:

<>

 
C8H10N4O2
24-04-2005, 18:59 
 
Wird der Wert von $name, $vorname usw denn bei der Überprüfung der Eingaben angezeigt? ... die Variablen scheinen ganz einfach leer anzukommen.

(BTW: Typo: "... hier können Sie ... " und "Wir werden Ihnen in Kürze antworten")

 
derHund
24-04-2005, 19:03 
 
register globals?

 
|V|emphis
25-04-2005, 20:13 
 
also register globals sind ON

und bei der überprügufung wird alles ganz normal angezeigt. wenn man dann den button Abschicken drückt, wird das formular abgeschickt, welches auch bei meiner email ankommt, jedoch ohne die werte eben.

 
penizillin
25-04-2005, 20:43 
 
und? debugge doch weiter - oder meinst du, die forumbesucher können es auf entfernung? lass dir $message vorm aufruf von mail() ausgeben, etc.

 
|V|emphis
25-04-2005, 21:03 
 
also nach dem ich den button gedrückt hab wird ja die seite erneut aufgerufen und ab da sind die variablen nicht mehr vorhanden!

wie kann ich sie jedoch übergeben, weil als anhang an die domain sieht ja nicht gerde toll aus, und ich kan ja schlecht einen ganzen text anhängen.

 
penizillin
25-04-2005, 21:06 
 
die variablen müssten in die versteckten felder einer form, die du mit dem button abschickst, damit sie nochmal übernommen werden.

 
PhilW
25-04-2005, 21:16 
 
Noch elegante wäre es aber in einer Session, da kann man nichts verändern (der User ;) )

 
|V|emphis
25-04-2005, 21:28 
 
also jetzt hab ichs umgeändert, die variablen stehen aber immer noch nicht zur verfügung, hab ich irgendwo nen denkfehler?

hab hiddenFelder dazugemaht:
<form name="form2" method="post" action="index2.php?section=Form">
<input name="send2" type="submit" id="send2" value="Abschicken">
<input type="hidden" name="hiddenName" value="<?php $Name; ?>">
<input type="hidden" name="hiddenVorname" value="<?php echo $Vorname; ?>">
<input type="hidden" name="hiddenEmail" value="<?php echo "$email"; ?>">
<input type="hidden" name="hiddenNachricht" value="<?php $nachricht; ?>">
<input type="hidden" name="hiddenInfo" value="<?php $info; ?>">
<input name="hiddenField" type="hidden" value="abc">
</form>

und diese dann

unten aufgerufen, wird aber nichts angezeigt :confused:

 
penizillin
25-04-2005, 21:37 
 
hint: $hiddenVorname...

 
|V|emphis
25-04-2005, 21:41 
 
also ich habe es jetzt mit sessions gelöst, so funktionierts auch:

<?php
session_start();
if(isset($send))
{

$_SESSION["name"] = $name;
$_SESSION["vorname"] = $vorname;
$_SESSION["email"] = $email;
$_SESSION["nachricht"] = $nachricht;
$_SESSION["info"] = $info;

//.......


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:44 Uhr.