Hallo und guten Abend,
ich bin ganz neu hier und auch neu was das Programmieren in php betrifft.
Daher bitte ich ein wenig um Nachsicht, wenn ich teilweise noch etwas blöde Fragen habe. Ich kenne auch die Suchfunktion, bin aber nicht wirklich bei meinem Problem(en) weiter gekommen:
Folgende Probleme / Fragen habe ich:
1. Wenn ich das Kontaktformular absende ohne eingaben erscheinen die Fehlermeldungen, komischerweise erscheint dann im 1. Textfeld ein "YES" welches nur aus dem formfeld "news" kommen kann. Sehe hier aber leider keinen Zusammenhang. Wer weiß woran es liegen könnte?
2. Anstelle der Textausgabe "Vielen Dank" hätte ich gerne eine Weiterleitung auf eine andere Seite. Mit Header funktioniert dieses ja nicht (Headers already send...) Gibt es da evtl. noch eine Lösung ohne den Code komplett umzustellen? Auf der Seite befindet sich noch jede Menge mehr HTML in der Datei...
Hier mein Quelltext, ich wäre sehr dankbar über Tipps und Hilfe:
Vielen Dank für die Hilfe!
Viele Grüße
Star
ich bin ganz neu hier und auch neu was das Programmieren in php betrifft.
Daher bitte ich ein wenig um Nachsicht, wenn ich teilweise noch etwas blöde Fragen habe. Ich kenne auch die Suchfunktion, bin aber nicht wirklich bei meinem Problem(en) weiter gekommen:
Folgende Probleme / Fragen habe ich:
1. Wenn ich das Kontaktformular absende ohne eingaben erscheinen die Fehlermeldungen, komischerweise erscheint dann im 1. Textfeld ein "YES" welches nur aus dem formfeld "news" kommen kann. Sehe hier aber leider keinen Zusammenhang. Wer weiß woran es liegen könnte?
2. Anstelle der Textausgabe "Vielen Dank" hätte ich gerne eine Weiterleitung auf eine andere Seite. Mit Header funktioniert dieses ja nicht (Headers already send...) Gibt es da evtl. noch eine Lösung ohne den Code komplett umzustellen? Auf der Seite befindet sich noch jede Menge mehr HTML in der Datei...
Hier mein Quelltext, ich wäre sehr dankbar über Tipps und Hilfe:
PHP-Code:
<?php
// Define your email address - where to send messages - here
define("MAIL_TARGET","mail@mail.de");
// Here you can redefine error messages
define("errorName","Fehler bei der Eingabe Ihres Namens. Bitte geben Sie Ihren vollständigen Namen ein!");
define("errorEmail","Bitte geben Sie Ihre korrekte E-Mail-Adresse ein!");
define("errorMsg","Leider ist Ihr persönliches Zugangs-Kennwort nicht gültig, bitte kontrollieren Sie Ihre Eingabe!");
function createForm($name="",$news="",$email="",$message="",$error1="",$error2="",$error3=""){
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<div class="form1"> NAME:</div><div class="form2"><input name="name" type="text" class="input" value="<?php echo $name; ?>"/></div>
<span class="error"><?php echo $error1; ?></span><br /><br /><br />
<div class="form1"> E-MAIL:</div><div class="form2"><input name="email" type="text" class="input"value="<?php echo $email; ?>"/></div>
<span class="error"><?php echo $error2; ?></span><br /><br /><br />
<div class="form1"> PASSWORT:</div><div class="form2"><input name="pass" type="text" class="input"value="<?php echo $pass; ?>" /></div>
<span class="error"><?php echo $error3; ?></span><br /><br /><br />
<div><input name="news" type="checkbox" value="yes" checked />Ja, ich möchte den exclusiven Newsletter bestellen.</div>
<div><input name="submitBtn" value="DATEN ABSCHICKEN" type="submit" class="formbutton" /></div>
</form></div></div>
<?php
}
function isValidEmail($email){
$pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";
if (eregi($pattern, $email)){
return true;
}
else {
return false;
}
}
function sendMail($name,$email,$message,$news){
$subject = "Message from CALAMAR";
$mailtext = "Ein weiterer User hat an der Verlosung teilgenommen. \n\n Newsletter bestellt? $news";
$from = "From: $name <$email>\r\nReply-To: $email\r\n";
$header = "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n";
$content = htmlspecialchars($mailtext);
$content = wordwrap($content,70);
mail(MAIL_TARGET,$subject,$mailtext,$from.$header,$news);
}
;
if (!isset($_POST['submitBtn'])) {
createForm();
} else {
$name = isset($_POST['name']) ? $_POST['name'] : "";
$email = isset($_POST['email']) ? $_POST['email'] : "";
$message = isset($_POST['pass']) ? $_POST['pass'] : "";
$news = isset($_POST['news']) ? $_POST['news'] : "";
$error = false;
if (strlen($name)<2) {
$error = true;
$error1 = errorName;
}
if (!isValidEmail($email)) {
$error = true;
$error2 = errorEmail;
}
if($pass!="100octane")
{
$error = true;
$error3 = errorMsg;
}
if ($error){
createForm($news,$name,$email,$message,$error1,$error2,$error3);
}
else {
sendMail($name,$email,$message,$news);newsMail($name,$email,$message,$news);ob_start();header("Location:www.google.com");die();
?>
Vielen Dank</br></br>
<?php
}
}
?>
Viele Grüße
Star
Kommentar