php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.03.2009, 13:13  
Neuer Benutzer
 
Registriert seit: 10.03.2009
Beiträge: 2
StudiB befindet sich auf einem aufstrebenden Ast
Standard Kontaktformular - Versand?!

Hallo zusammen,

ich habe gerade ein Kontaktformular erstellt, doch leider funktioniert der Versand hierbei nicht bzw auch alle weiteren Error-Befehle. Der Sendungs-Button ist glaube ich einfach unaktiv.

Ich habe folgendes programmiert:

<?php


$enterMail =<<<EOT
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input class="size1" name="sender" type="text" value="--- E-Mail Adresse eingeben ---" title="E-Mail Adresse eingeben" onfocus="this.value=''"></td>
</tr>
<tr>
<td height="5"></td>
</tr>
<tr>
<td><input class="size1" name="subject" type="text" value="--- Betreff ---" title="Betreff" onfocus="this.value=''"></td>
</tr>
<tr>
<td height="10"></td>
</tr>
<tr>
<td><textarea class="mailText" name="message" id="textarea" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td height="10"></td>
</tr>
<tr align="right">
<td><a href="javascript:document.newsletterForm.submit(); "><input type="submit" value="E-Mail senden" title="E-Mail senden" alt="E-Mail senden" border="0" class="button"></a></td>
</tr>
</table>
EOT;

$confirm =<<<EOT

<div class="contact">
<p style="height:286px;">
Der Versand war erfolgreich<br><br>
Vielen Dank für ihre E-Mail
</p>
</div>
EOT;

// Diese Funktion überprüft, ob eine syntaktische korrekte E-Mail Adresse eingetragen wurde
function checkEmail($email) {
return eregi("^([a-zA-Z0-9]){1}([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$",$email);
}

// Abfrage, ob das Formular schon abgeschickt worden ist
if (isset($_POST["formSend"]) && ($_POST["formSend"]==1)){
$error = "";

// Auslesen der Forumlarfelder
$sender = $_POST["sender"];
$subject = $_POST["subject"];
$message = $_POST["message"];
//$recipient = "SB@gmx.de";
$recipient = "SB@gmx.de";

// Überprüfen mit Hilfe der Funktion 'checkEmail' ob die E-Mail Adresse korrekt ist
if (empty($sender) || !checkEmail($sender)){
$error = "Bitte geben Sie eine gültige E-Mail Adresse ein!<br>";
}
if (empty($subject) || $subject == "--- Betreff ---"){
$error .= "Bitte geben Sie einen Betreff ein!<br>";
}
if (empty($message)){
$error .= "Bitte geben Sie eine Nachricht ein!<br>";
}

// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// zusätzliche Header
$header .= 'To: <' . $recipient . '>' . "\r\n";
$header .= 'From: <' . $sender . '>' . "\r\n";

// verschicke die E-Mail
if (empty($error)){
if (!mail($recipient, $subject, $message, $header)){
// Falls der Versand nicht erfolgreich war, Anzeige der Fehlermeldung
$error = "Es ist ein Fehler beim Mailversand aufgetreten";
}
}
}

//
if (! empty($error)){
$errorMsg =<<<EOT
<div class='errorMsg'>
$error
</div>
EOT;
} else {
$errorMsg = "";
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>studibusiness.de</title>

<link rel="stylesheet" type="text/css" href="css/styles.css" media="screen, projection">

</head>

<body>

<div id="container">

<div id="logo">
<div class="image">
<a href="index.html" title="Home"><img src="img/logo.gif" border="0" width="180" height="32" alt="Logo" /></a>
</div>
</div>

<div id="box">
<div class="border">
<div class="kontakt">
<div class="balken">
<div class="text">
Kontakt
</div>
</div>
<div class="inhalt">
Telefon-Nr<br />
<a href="kontakt.php" title="Kontaktformular">Kontaktformular</a><br />
</div>
</div>

<ul class="navi">
<li><a href="vermittlung.html" title="Vermittlung">&raquo; &nbsp;Vermittlung</a></li>
<li><a href="impressum.html" title="Impressum">&raquo; &nbsp;Impressum</a></li>
</ul>

</div>
<div id="boxunten">
<span style="display:block"><img src="img/box_unten.gif" /> </span>
</div>
</div>

<div id="content">
<div class="header">
<span style="display:block"><img src="img/header.jpg" width="622" height="93" alt="studibusiness header" title="Studibusiness" /></span>
<span style="display:block"><img src="img/header_start.jpg" width="622" height="40" alt="studibusiness headline" title="Studibusiness" /></span>
</div>
<div class="contentstart">
<div class="text">
texteingabe<br /><br />
<?php
if (!isset($_POST["formSend"])){
echo $enterMail;
} else if (isset($_POST["formSend"]) && ($_POST["formSend"]==1) && !empty($errorMsg)){
echo $enterMail;
echo $errorMsg;
} else {
echo $confirm;
}
?>
</div><br />
</div>
<div id="footer">
<div class="balken"><div class="copy">&copy; 2008 StudiBusiness</div></div>
</div>

</div>

</div>

</body>
</html>


Kann mir jemand verraten,wo der Fehler liegt?

Lieben Dank im Voraus
StudiB ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.03.2009, 13:16  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Hallo StudiB,

benutz doch bitte hier im Forum die php Tags die du im Editor findest um code anzuzeigen.
Eine genaue Fehlerbeschreibung wäre auch hilfreich. Benutze auch

PHP-Code:
error_reporting(E_ALL);
// und für sql Anweisungen
mysql_error(); 
und hat es einen speziellen Grund, dass du Heredoc benutzt?
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.

Geändert von JEGO (10.03.2009 um 13:37 Uhr).
JEGO ist offline  
Alt 10.03.2009, 13:27  
Neuer Benutzer
 
Registriert seit: 10.03.2009
Beiträge: 2
StudiB befindet sich auf einem aufstrebenden Ast
Standard

Hi Jego,

bitte entschuldige, ich bin neu in dem Forum und auch neu im Umgang mit php...
Mein Problem ist,dass das Kontaktformular nicht funktioniert. Wenn ich auf den Button Email versenden gehe, passiert einfach nichts.
Man kann es hier sehen:
studibusiness.de

Lg
StudiB ist offline  
Alt 10.03.2009, 13:32  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

PHP-Code:
// Ãœberprüfen mit Hilfe der Funktion 'checkEmail' ob die E-Mail Adresse korrekt ist
if (empty($sender) || !checkEmail($sender)){
$error "Bitte geben Sie eine gültige E-Mail Adresse ein!<br>";
}
if (empty(
$subject) || $subject == "--- Betreff ---"){
$error .= "Bitte geben Sie einen Betreff ein!<br>";
}
if (empty(
$message)){
$error .= "Bitte geben Sie eine Nachricht ein!<br>";

Wenn alle Fehler festgestellt werden, dann wird $error überschrieben - eine schon vorhandene Fehlermeldung geht verloren


PHP-Code:
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden 
Die mail, die du da zusammenbaust, entspricht nicht den Anforderungen (RFC). Benutz eine fertige Klasse, z.B. PHP-Mailer. In deiner Aufgabenstellung ist es m.E. eh unnütz, eine HTML-Mail zu senden, da du nur reinen Text transportierst.

Zum Debuggen setz mal ein print_r($_POST) pasend ein. Dies gibt dir aus, was an Daten übertragen wird und hilft in den meisten Fällen, das Problem zu erkennen.
Wolla ist offline  
Alt 10.03.2009, 13:34  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Dein Formular hat keine <form> tags
Wolla ist offline  
Alt 10.03.2009, 13:35  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Du versuchst über Javascript dein Formular newsletterForm abzuschicken, jedoch existiert dieses nicht.

Ich würde auch nicht JavaScript verwenden, sondern PHP. Wahlweise beides, aber Prüfung der Felder etc würde ich mit Javascript nicht machen.

Setzte um deine Formular-Elemente ein <form action="?" method="post">...</form> und entferne dein <a href="javascript:document...."> ...
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kontaktformular über SMTP? flashman3 PHP Tipps 2009 3 12.02.2009 18:38
Kontaktformular an 2. Postfächer Senden PayAttention PHP Tipps 2009 20 28.01.2009 21:39
Kontaktformular mit PHP kim160266 PHP Tipps 2009 2 08.01.2009 10:13
Kontaktformular: wo is der Fehler? Mick_Sebutia PHP Tipps 2008 16 15.09.2008 15:09
Kontaktformular mit Spamschutz und include Navigation? chicco4u PHP Tipps 2008 1 11.08.2008 09:52
IE6 Kontaktformular, Probleme mit Variablen Meijestic PHP Tipps 2008 3 07.07.2008 19:29
Kontaktformular plus 3 Attachments funzt net catmoon PHP Tipps 2008 2 25.06.2008 10:15
[Erledigt] Kontaktformular - bitte helft mir celine70 PHP Tipps 2008 3 19.05.2008 11:28
Kontaktformular - Sieht klasse aus, aber verschickt nix! :-( PHP Tipps 2005-2 15 06.10.2005 19:24
Kontaktformular mit Vorschau Beitragsarchiv 2 12.08.2005 10:43
Sehr simples Kontaktformular - Prinzip imported_Ben Beitragsarchiv 2 02.08.2005 22:41
Kontaktformular, welches auf neue html Seite führt PHP Tipps 2005-2 4 20.07.2005 11:21
[Erledigt] kontaktformular mit bild PHP-Fortgeschrittene 1 16.02.2005 11:13
Problem mit Kontaktformular? PHP Tipps 2004-2 6 13.12.2004 18:48
Kontaktformular - Nachricht wurde verschickt PHP Tipps 2004 4 22.10.2004 09:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
versand.php, php versand, versand php, http://www.php.de/php-einsteiger/52754-kontaktformular-versand.html, function checkemail php, javascript kontaktformular, kontaktformular an email senden, kontaktformular html checkmail, versand.php \$an =\, versand.php kontaktformular, kontaktformular vorgefertigt, <div class=\header\ style=\display: block;\>, php code für kontaktformular versenden, kontaktformulara bbcode, error - geben sie mindestens einen gã¼ltigen versandservice an, kontaktformular email versand, php:versand/example.php, mysql php versandhaus, kontaktformular mit email versand, \versand war erfolgreich!\ smtp

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum