online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Bugg vom 04.05.2022, 01:22 Options

PHP Kontaktformular

Servus Miteinander,

bin grad ziemlich am verzweifeln, als php neuling habe ich mich daran gemacht ein php kontaktformular für eine Homepage zu entwerfen. Habe auch schon ein paar tutorials und skriptvorschläge gefunden und mich dann für einen entschieden, den ich auch schon etwas angepasst habe, nur leider funktioniert die If-Abfrage nicht richtig: Es werden immer alles an Texten und Tabellen gezeigt obwohl die Seite eben erst geladen wurde und der abschicken Button (über den 'submit' gesetzt wird) noch gar nicht genutzt wurde.
Hier ist der Code, hoffe es findet sich jemand der mit weiterhelfen kann:
<div id="Layer30">
<?php
include "config.php"
// wurde auf ABSCHICKEN geklickt?
if(isset($_POST["submit"])!=0)
{

// es wurde kein Name eingetragen
if(!$_POST["name"] || empty($_POST["name"]))
{
?>
<div align="left"><span class="mail"><p>Sie haben folgende Angabe vergessen einzutragen: Name.</span></p></div>
<?php
}

// es wurde keine E-Mail Adresse eingetragen
elseif(!$_POST["email"] || empty($_POST["email"]))
{
?>
<div align="left"><span class="mail"><p>Sie haben folgende Angabe vergessen einzutragen: eMail-Adresse.</span></p></div>
<?php
}
// es wurde keine Nachricht eingetragen
elseif(!$_POST["nachricht"] || empty($_POST["nachricht"]))
{
?>
<div align="left"><span class="mail"><p>Sie haben folgende Angabe vergessen einzutragen: Nachricht.</span> </p></div>
<?php
}

// ist alles Eingetragen dann
else
{
// Erzeuge den E-Mail Header

// E-Mail Absender
$header.="From: \"".$_POST["name"]."\" <".$_POST["email"]."\n";

// Domain also was in der Mailadresse hinter dem ‘@’ steht
$header.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n";

// Format der Mail
$header.="Content-Type: text/plain;\n";

// Name des Mailprogramms, hier die PHP-Version
$header.="X-Mailer: PHP/".phpversion();


// Die Nachricht
$nachricht1 = "".$_POST["nachricht"]."\n\n";

// Mail wird nun verschickt
mail($deinemailadresse,$betreff,$nachricht1,$header);

// Betreff der Dankesmail
$betreff_danke = "Vielen Dank";

// Text der Dankesmail
$body_danke = "Hallo ".$_POST["name"].",\n\nDanke für deine Nachricht!\n\nSie erhalten in Kürze Antwort von mir.\n\n\nMit freundlichen Gruessen\n\n".$deinname."\n\n--\n\nIhre Nachricht:\n\n".$nachricht1."";

// Header für die Dankesmail, analog zu oben
$header_danke.="From: \"".$deinname."\" <".$deinemailadresse.."\n";
$header_danke.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n";
$header_danke.="Content-Type: text/plain;\n";
$header_danke.="X-Mailer: PHP/".phpversion();

// Senden von der Dankmail
mail($_POST["email"],$betreff_danke,$body_danke,$header_danke);
?>
<table border="0"><tr><td colspan="2" align="left">
<span class="mail"><p>Vielen Dank für folgende Nachricht</p></span></td></tr>
<tr><td colspan="2" align="center"> </td></tr>
<tr><td><span class="mail"><p>Dein Name:</p></span></td><td><?php echo $_POST["name"]; ?></td></tr>
<tr><td><span class="mail"><p>Deine eMail-Adresse:</p></span></td><td><?php echo $_POST["email"]; ?></td></tr>
<?php } ?>
<tr><td valign="top"><span class="mail"><p>Deine Nachricht:</p></b></td><td><?php echo nl2br($_POST["nachricht"]); ?></td></tr><tr>
<tr><td colspan="2" align="center"> </td></tr>
<td colspan="2" align="center"><span class="mail"><p>Sie erhalten in Kürze eine Bestätigungsmail von uns.</p></span></td></tr></table>
<?php
} // end alles eingetragen

// wenn nicht gesendet, Mailformular ausgeben
else
{
?>
<form action= "<?php echo $_SERVER["PHP_SELF"] ?>" method="post"

<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td><p>Ihr Name:</p></span></td>
<td><input type="text" name="name" class="formular"></td>
</tr>
<tr>
<td><p>Betreff:</p></td>
<td><input type="text" name="betreff" class="formular"></td>
</tr>
<tr>
<td><p>Ihre eMail-Adresse</p></td>
<td><input type="text" name="email" class="formular"></td>
</tr>

<tr>
<td valign="top"><p>Ihre Nachricht:</p></td>
<td><textarea name="nachricht" cols="50" rows="5" class="feld"></textarea></td>
</tr>
<tr>
<td> </td>
<td align="left"><input type="reset" value="zurücksetzen" class="formular"> <input type="submit" value="abschicken" name="submit" class="formular"></td>
</tr>
</table>
</form>
<!-- end-nicht-gesendet -->
<?php } ?>
</div>


Antwort schreiben

Antwort 1 von supporter2010 vom 04.05.2022, 07:31 Options

Hallo,

also wenn ich Deinen Code ausprobiere und 2 kleine Fehler korrigiere, dann wird mir nur das Formular angezeigt...(auch wenn ich vor dem Testen des Codes von mehreren andere Fehlern ausgegangen bin)

1. hinter
Zitat:
include "config.php"
fehlt ein Semikolon...also include "config.php";

2. einen Punkt weniger bei
Zitat:
// Header für die Dankesmail, analog zu oben
$header_danke.="From: \"".$deinname."\" <".$deinemailadresse.."\n";
also ".$deinemailadresse."\n";

aber ich weiss nicht, was in der config.php drinsteht (und evt. Fehler verursacht).

Dein Code steht in einer Datei, die auf .php endet?

mfg, sup2010

Antwort 2 von Bugg vom 04.05.2022, 11:02 Options

Hi sup2010,

vielen Dank, für die schnelle Antwort! Hab natürlich vergessen die html Datei in eine php umzubenennen...jetzt scheint alles zu funzen...vielen Dank!

Schöne Grüße
Bugg

Ähnliche Themen

php Kontaktformular
nafasi3  29.06.2009 - 508 Hits - 14 Antworten

PHP Kontaktformular Fehlermeldung
nafasi3  06.07.2009 - 354 Hits - 12 Antworten

(PHP) einen PHP-Parser mit PHP programmieren
skribbtkiddie  17.07.2009 - 354 Hits - 1 Antwort

Fehler im Kontaktformular
Petra65  13.01.2010 - 433 Hits - 11 Antworten

bestehendes php kontaktformular mit smtp erweitern
traveller  17.02.2010 - 286 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026