WinFuture-Forum.de: [php} Contact Form - öffnet Kein Neues Fenster - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[php} Contact Form - öffnet Kein Neues Fenster


#1 Mitglied ist offline   Flonsen 

  • Gruppe: Mitglieder
  • Beiträge: 16
  • Beigetreten: 24. März 07
  • Reputation: 0

geschrieben 04. Dezember 2007 - 21:00

HI all,

ich bin ein relativer php neuling und stoße hier nun an meine grenzen, will sie jedoch zwingen überwinden und es einfach verstehen ;)

ich hab mir ein schönes kontaktformular gebaut und möchte nun, dass es bei einem error (required fields) und bei einem erfolgreichen abschluss (e-mail send) ein popup öffnet und nicht die nachicht in dem aktuellen fenster ausgibt...

<!-- Beginn des Formulars -->

<form METHOD=POST ACTION="contact_form.php">
 
 	Name: 
 	<INPUT TYPE="text" NAME="name"><br>
   Addresse:
   <INPUT TYPE="text" NAME="address"><br>
	 Wohnort:<INPUT TYPE="text" NAME="city"><br>
	 Tel:<INPUT TYPE="text" NAME="phone"><br>
	 E-mail:<INPUT TYPE="text" NAME="email"><br>
	   Kommentar:
	   <textarea name="comments" rows="5" cols="10"></textarea>
	   <br>
	   <input type="submit" name="submit" value="Abschicken">&nbsp;&nbsp;<input type="reset" name="reset" value="Zur&uuml;cksetzen">
</form>
<!--Ende des Formulars -->


^^ das is die maske.. noch unformatiert... doch das is nicht das problem

hier nun die contact_form.php

<? 
// Beginn des PHP-Code
$name	 = $_POST['name'];
$address  = $_POST['address'];
$state	= $_POST['state'];
$city	 = $_POST['city'];
$zip	  = $_POST['zip'];
$country  = $_POST['country'];
$phone	= $_POST['phone'];
$email	= $_POST['email'];
$comments = $_POST['comments'];
$fax	  = $_POST['fax'];
$error_msg = "";
$msg = "";

if(!$name){
	$error_msg .= "Ihr Name \n";
}
if($name){
	$msg .= "Name: \t $name \n";
}
 
if(!$address){
	$error_msg .= "Ihre Adresse \n";
}
if($address){
	$msg .= "Address: \t $address \n";
}
 
if(!$city){
	$error_msg .= "Ihr Wohnort \n";
}
if($city){
	$msg .= "City: \t $city \n";
}

if(!$phone){
	$error_msg .= "Ihre Tel-Nummer \n";
}
if($phone){
	$msg .= "Phone: \t $phone \n";
}

if(!$email){
	$error_msg .= "Ihre Mail Adresse \n";
}
if($email){
	if(!eregi("^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\._\-]+\.[a-zA-Z]{2,4}", $email)){
		echo "\n<br>Dies ist keine gültige E-Mail Adresse.  Bitte <a href=\"java script:history.back()\">zurück</a> zur vorherigen Seite und versuchen sie es erneut.\n<br>";
		exit;
	}			
	$msg .= "Email: \t $email \n";
}
 
if(!trim($comments)){
	$error_msg .= "Ihr Kommentar \n";
}
if($comments){
	$msg .= "Comments: \t $comments \n";
}
$sender_email="";

if(!isset($name)){
	if($name == ""){
		$sender_name="Web Customer";
	}
}else{
	$sender_name=$name;
}
if(!isset($email)){
	if($email == ""){
		$sender_email="[email protected]";
	}
}else{
	$sender_email=$email;
}
if($error_msg != ""){
	echo "Sie haben nicht die benötigten Felder ausgefüllt:<br>"
	.nl2br($error_msg) .'<br>Bitte gehen sie <a href="java script:history.back()">zurück</a> zur vorherigen Seite.';
	exit;
}
$mailheaders  = "MIME-Version: 1.0\r\n";
$mailheaders .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$mailheaders .= "From: $sender_name <$sender_email>\r\n";
$mailheaders .= "Reply-To: $sender_email <$sender_email>\r\n"; 
mail("[email protected]","Kontaktformular",stripslashes($msg), $mailheaders);
echo "<html>\n<head>\n<title>Danke für ihre Mitteilung</title>\n</head>\n<body>\n<h2>Danke für ihr Feedback $name</h2>\n";echo '<b>Dies sind die übermittelten Informationen</b>'."<br>\n";
echo nl2br(stripslashes($msg));
echo '<br><br></body></html>';
//This is the end of the PHP code
?>


was kann ich tun...
0

Anzeige



#2 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 04. Dezember 2007 - 23:42

Das ist so nur beschränkt möglich, da wenn du das Formular (kein valides HTML!) absendest, die Datei "contact_form.php" geladen wird. Nun müsste entweder diese ein Pop Up öffnen, für was auch immer es gut sein soll, oder das Formular wird alternativ mit Ajax (also XMLHttpRequest^^) an den Server gesendet, und ein PopUp Mit der Auswertung durch JavaScript geöffnet. Dazu sind allerdings Kenntnisse in JavaScript nötig.
0

#3 Mitglied ist offline   Flonsen 

  • Gruppe: Mitglieder
  • Beiträge: 16
  • Beigetreten: 24. März 07
  • Reputation: 0

geschrieben 05. Dezember 2007 - 16:38

mein problem ist, dass die contact_form.php ein echo ausgibt - ist auch so gewollt - mit 1. einer fehlermeldung und 2. dem erfolgreichen abschluss...

aktuell wird diese meldung auf einer blanko seite angezeigt, also nicht in meinem design... wie kann ich das ändern...

also das das echo auf meiner page eingebunden wird...

das es noch nicht valid ist weiß ich ;) wird noch gemacht... ging nur erst einmal um die funktionalität
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0