kontaktformular sendet nicht?

Verfasst am: 12. 07. 2011 [19:47]
Gelöschter Benutzer
Beitrag hilfreich?

Hi, da bin ich mal wieder, hab mal ein problem, hab ein kontaktformular erstellt, aber das din will nicht senden. Ich denke da brauch ich etwas hilfe.Kann mal bitte einer gucken? Danke
HTML
<p>E-Mail: <a title="" href="mailto:info@unternehmensberatung.de" target="_blank">info@unternehmensberatung.de</a></p>
    <p>&nbsp;</p>
  </div>
  <form action="/Kontakt senden.php" method="post" name="form1" id="form1" onsubmit="MM_validateForm('Name','','R','Post','','NisNum','E-Mail','','RisEmail','Telefon','','RisNum','Nachricht','','R');return document.MM_returnValue">
    <p>Ihre Nachricht:</p>
    <p>
      <label>
        <textarea name="Nachricht" cols="45" rows="7" id="Nachricht" onblur="MM_validateForm('Name','','R','Nachricht','','R');return document.MM_returnValue"></textarea>
      </label>
    </p>
    <p>Name:<em>*</em></p>
    <p>
      <label>
        <input name="Name" type="text" id="Name" onblur="MM_validateForm('Name','','R');return document.MM_returnValue" size="35" />
      </label>
    </p>
    <p>&nbsp;</p>
    <p>Stra&szlig;e,Nr.:</p>
    <p>
      <label>
        <input name="Strasse" type="text" id="Strasse" size="35" />
      </label>
    </p>
    <p>&nbsp;</p>
    <p>Postleitzahl:</p>
    <p>
      <label>
        <input name="Post" type="text" id="Post" onblur="MM_validateForm('Post','','NisNum');return document.MM_returnValue" size="35" />
      </label>
    </p>
    <p>&nbsp;</p>
    <p>Ort:</p>
    <p>
      <label>
        <input name="Ort" type="text" id="Ort" size="35" />
      </label>
    </p>
    <p>&nbsp;</p>
    <p>Ihre E-Mail-Adresse:<em>*</em></p>
    <p>
      <label>
        <input name="E-Mail" type="text" id="E-Mail" onblur="MM_validateForm('E-Mail','','RisEmail');return document.MM_returnValue" size="35" />
      </label>
    </p>
    <p>&nbsp;</p>
    <p>Telefonnummer:<em>*</em></p>
    <p>
      <label>
        <input name="Telefon" type="text" id="Telefon" onblur="MM_validateForm('Telefon','','RisNum');return document.MM_returnValue" size="35" />
      </label>
    </p>
    <p><img src="/captcha/captcha.php" alt="Sicherheitscode" border="0" />&nbsp;</p>
     <p>
       <label for="sich">Sicherheitscode</label>
       <input name="sich" type="text" id="sich" size="10" />
    </p>
    <p>
      <label>
        <input type="submit" name="Senden" id="Senden" value="Senden" />
      </label>
    </p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </form>
  <h2>&nbsp;</h2>
  <div id="more"> <a href="impressum.html">Impressum</a> <br/>
    <br/>
  </div>
</div>
</body>
</html>


[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 12.07.2011 um 19:48.]
 
Verfasst am: 12. 07. 2011 [21:33]
Matthes
Dabei seit: 08.05.2010

174 Beiträge
Beitrag hilfreich?

Hi.

Erst einmal wäre es nützlich gewesen, den Quelltext in [html]-Tags einzubetten, dann wäre er schön formatiert gewesen.
Zweitens wäre es praktisch gewesen, den ganzen nicht dazugehörenden Code wegzulassen und es auf den Teil von <form> bis </form> zu beschränken...

Das erste Problem könnte das Leerzeichen im Namen der Datei sein, an die das Formular gesendet wird. Überprüfe das bitte.
Das zweite Problem ist, dass beim Event "onsubmit" eine Javascript-Funktion ausgeführt wird, die Du uns vorenthältst. Ich jedenfalls kenne sie nicht - allerdings gehe ich stark davon aus, dass diese Funktion false zurück gibt, bzw. die Variable document.MM_returnValue false enthält.
Das würde das Absenden verhindern.

Mal: "May have been the losing side. Still not convinced it was the wrong one."
 
Verfasst am: 13. 07. 2011 [07:42]
romacron
Dabei seit: 01.11.2009

1143 Beiträge
Beitrag hilfreich?

zu den Fehlern:
1. niemals Variablen oder Namen die im system zu verarbeiten sind gross schreiben.
2. keine bindestriche für variablen
3. Dateinamen klein und ohne bindestriche
4. ggf nachlesen wie sich das <label verhält
5. in formularen "kurzfunktionen" verwenden
HTML
validate(this,'NisNum'); zeigt auf eine funktion im Dateihead...so wird das alles übersichtlicher und leichter zu warten



PHP
<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="romacron" />
<title>Unbenannt 1</title>
<script>
/*brücke zu deiner Validation form*/
function validate(that,validationmech){
		var validatedValue=	MM_validateForm(that.value,'',validationmech);
		that.value=validatedValue;
};
function validate_all(formobj){
		/*alle formelemente validieren*/
/*	geht oder geht nicht zurück geben*/
}
</script>
<style>
/*positioniert das Label element*/
#form1 label {
	width:130px;
	float:left;
}
/*entwertet floatings dann fängt die nächste label-inputzeile neu an*/
#form1 div {
	clear:left;
}
</style>
</head>
 
<body>
<p>E-Mail: <a title="" href="mailto:info@unternehmensberatung.de" target="_blank">info@unternehmensberatung.de</a></p>
<p>&nbsp;</p>
</div>
<form action="kontaktsenden.php" method="post" name="form1" id="form1" onsubmit="validate_all(this);">
  <div>
    <label for="nachricht">Nachricht </label>
    <textarea name="nachricht" cols="45" rows="7" id="nachricht"></textarea>
  </div>
  <label for="name">Name:<em>*</em> </label>
  <input name="name" type="text" id="name" onblur="validate(this,'R');" size="35" />
  <div>
    <label for="strasse">Stra&szlig;e,Nr.:</label>
    <input name="strasse" type="text" id="strasse" size="35" />
  </div>
  <div>
    <label for="plz">Postleitzahl:</label>
    <input name="plz" type="text" id="plz" onblur="validate(this,'NisNum');" size="35" />
  </div>
  <div>
    <label for="ort">Ort:</label>
    <input name="ort" type="text" id="ort" size="35" />
  </div>
  <div>
    <label for="email"> Ihre E-Mail-Adresse:<em>*</em> </label>
    <input name="email" type="text" id="email" onblur="validate(this,'RisEmail');" size="35" />
  </div>
  <div>
    <label for="telefon">Telefonnummer:<em>*</em> </label>
    <input name="telefon" type="text" id="telefon" onblur="validate(this,'RisNum');" size="35" />
  </div>
  <p><img src="/captcha/captcha.php" alt="Sicherheitscode" border="0" />&nbsp;</p>
  <div>
    <label for="captcha">Sicherheitscode</label>
    <input name="captcha" type="text" id="captcha" size="10" />
  </div>
  <div>
    <label>
      <input type="submit" name="senden" id="senden" value="Senden" />
    </label>
  </div>
</form>
<div id="more"> <a href="impressum.html">Impressum</a></div>
</body>
</html>
 
Verfasst am: 14. 07. 2011 [10:56]
Gelöschter Benutzer
Beitrag hilfreich?

@romacron
@all

Ich hab versucht soweit das meine Fähigkeiten zulassen die Fehler auszubügeln. Dein Skript überfordert mich etwasicon_smile.gif.

Ich bin nun soweit das das Kontaktformular an mich sendet, aber es kommt leider nur der Feldname an, aber kein Inhalticon_frown.gif. Ich brauch bitte noch mal Hilfe.

<br><hr><br>
Name: <br>
Name: <br>
Name: <br>
Name: <br>
Name: <br>
Name: <br>
Name: <br>

Noch mal meine html:

<form action="/kontaktsenden.php" method="post" name="form1" id="form1" onsubmit="MM_validateForm('Name','','R','Post','','NisNum','E-Mail','','RisEmail','Telefon','','RisNum','Nachricht','','R');return document.MM_returnValue">
<p>Ihre Nachricht:</p>
<p>
<label>
<textarea name="nachricht" cols="45" rows="7" id="nachricht" onblur="MM_validateForm('Name','','R','Nachricht','','R');return document.MM_returnValue"></textarea>
</label>
</p>
<p>Name:<em>*</em></p>
<p>
<label>
<input name="name" type="text" id="name" onblur="MM_validateForm('Name','','R');return document.MM_returnValue" size="35" />
</label>
</p>
<p>&nbsp;</p>
<p>Stra&szlig;e,Nr.:</p>
<p>
<label>
<input name="strasse" type="text" id="strasse" size="35" />
</label>
</p>
<p>&nbsp;</p>
<p>Postleitzahl:</p>
<p>
<label>
<input name="plz" type="text" id="plz" onblur="MM_validateForm('Post','','NisNum');return document.MM_returnValue" size="35" />
</label>
</p>
<p>&nbsp;</p>
<p>Ort:</p>
<p>
<label>
<input name="ort" type="text" id="ort" size="35" />
</label>
</p>
<p>&nbsp;</p>
<p>Ihre E-Mail-Adresse:<em>*</em></p>
<p>
<label>
<input name="email" type="text" id="email" onblur="MM_validateForm('E-Mail','','RisEmail');return document.MM_returnValue" size="35" />
</label>
</p>
<p>&nbsp;</p>
<p>Telefonnummer:<em>*</em></p>
<p>
<label>
<input name="telefon" type="text" id="telefon" onblur="MM_validateForm('Telefon','','RisNum');return document.MM_returnValue" size="35" />
</label>
</p>
<p><img src="/captcha/captcha.php" alt="Sicherheitscode" border="0" />&nbsp;</p>
<p>
<label for="sicherheitscode">Sicherheitscode</label>
<input name="sicherheitscode" type="text" id="sicherheitscode" size="10" maxlength="5" />
</p>
<p>
<label>
<input type="submit" name="Senden" id="Senden" value="Senden" />
</label>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</form>
<h2>&nbsp;</h2>
<div id="more"> <a href="impressum.html">Impressum</a> <br/>
<br/>
</div>
</div>
</body>
</html>
 
Verfasst am: 14. 07. 2011 [19:44]
Gelöschter Benutzer
Beitrag hilfreich?

....so ich hab mich weiter gekämpfticon_smile.gif...ich hab jetzt das ding zum senden gebracht....hurra....nun bockt er wenn ich die captcha einfüge. die captcha ist ok...denke das liegt an der senden.php..bitte mal gucken.

<?php

session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);

/* Betreff und Email Variable */

$emailBetreff = 'Unternehmensberatung';
$webmaster = 'xxxxxxxxxxxxx@gmx.de';

/* email formdaten */

$nameFeld = $_POST['name'];
$nachrichtFeld = $_POST['nachricht'];
$strasseFeld = $_POST['strasse'];
$plzFeld = $_POST['plz'];
$emailFeld = $_POST['email'];
$telefonFeld = $_POST['telefon'];
$ortFeld = $_POST['ort'];

$body = <<<EOD

Name: $nameFeld
Nachricht: $nachrichtFeld
Strasse: $strasseFeld
PlZ: $plzFeld
Email: $emailFeld
Telefon: $telefonFeld
Ort: $ortFeld
EOD;

$headers = "From: email
";
$headers .= "Content-type: text_html
";
$headers = mail($webmaster, $EmailBetreff, $body, $headers);


echo "Ihre Nachricht wurde versendet!";

}
else{
exit("Der Sicherheitscode ist falsch!!!");
}


?>
 
Verfasst am: 16. 07. 2011 [17:44]
Gelöschter Benutzer
Beitrag hilfreich?

@all

mein Kontaktformular müsste jetzt ok sein und mein captcha(Bild,Code) auch. Aber wenn ich in die kontaktsenden.php den captchabefehl einfüge:

(session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);

funktioniert das senden nicht mehr.Ohne geht top. Kann das an Webservereinstellungen liegen?? globel_off??

 
Verfasst am: 16. 07. 2011 [20:56]
Matthes
Dabei seit: 08.05.2010

174 Beiträge
Beitrag hilfreich?

Nein, an "globel_off" liegt es sicherlich nicht, denn Du verwendest die korrekten Variablen.

Wird $_SESSION['captcha_spam'] denn auf der Seite vorher korrekt gefüllt? Und ist $_POST['sicherheitscode'] korrekt benannt und entspricht dem in der Session gespeicherten Code?

Lass Dir die Variablen $_SESSION und $_POST in der kontaktsenden.php einmal ausgeben. Z.B.:
PHP
<?php
echo '<pre>';
print_r($_SESSION);
print_r($POST);
echo '</pre>';
?>


[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 16.07.2011 um 20:56.]

Mal: "May have been the losing side. Still not convinced it was the wrong one."
 
Verfasst am: 17. 07. 2011 [10:55]
Gelöschter Benutzer
Beitrag hilfreich?

Erst mal danke das sich wenigstens einer bemüht zu helfen.-)

So hab ich gemacht und wird alles ausgegeben was ich ausgefüllt habe und der Sicherheitscode auch korrekt. Aber sendet nicht?

Array
(
)
Array
(
[nachricht] => 55555555555555
[name] => 5555555555555
[strasse] =>
[plz] =>
[ort] =>
[email] => keien@gmx.de
[telefon] => 3333
[sicherheitscode] => 4DK8X
[Senden] => Senden
)



[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 17.07.2011 um 10:56.]
 
Verfasst am: 17. 07. 2011 [11:09]
Matthes
Dabei seit: 08.05.2010

174 Beiträge
Beitrag hilfreich?

Das erste Array, die Session, ist anscheinend leer. Also speicherst Du den Sicherheitscode nicht korrekt in der Session, ergo stellt die Überprüfung bei dem Vergleich fest, dass es nicht stimmt.
PHP
$_SESSION['code']==$_POST['code']
leer == 4DK8X


Wie speicherst Du den Code denn in der Session? Befindet sich in der Formulardatei auch ein session_start()?

Mal: "May have been the losing side. Still not convinced it was the wrong one."
 
Verfasst am: 17. 07. 2011 [14:08]
Gelöschter Benutzer
Beitrag hilfreich?

Ich hoffe das ich dich jetzt richtig verstanden. Nein kein session. Ich hab dem Kontaktformular im Formularelement über Aktion die kontaktsenden.php zugeordnet.

............ <form action="/kontaktsenden.php" method="post" name="form1" id="form1" onsubmit="MM_validateForm('name','','R','plz','','NisNum','email','','RisEmail','telefon','','RisNum','sicherheitscode','','R','nachricht','','R');return document.MM_returnValue">
<p>Ihre Nachricht:</p>
<p>

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 17.07.2011 um 14:09.]
 




Du bist nicht eingeloggt. Bitte beachte, dass Du eingeloggt sein musst, um Themen zu erstellen oder auf Beiträge zu antworten.

RSS Feed abonnieren

Werde in Echtzeit über neue Foren-Beiträge informiert:



1 Mitglied war innerhalb der letzten 15 Minuten online (14 heute gesamt):
JohnPreston

Administratoren und Moderatoren:
[keine]

Seitenreport hat 18161 registrierte Mitglieder, 3005 Themen und 29117 Beiträge.
Der aktuelle Mitgliederzuwachs liegt bei durchschnittlich 13 bestätigten Neuregistrierungen pro Tag.
Pro Tag werden im Seitenreport Forum durchschnittlich 1 neues Thema und 7 Beiträge erstellt.
Die Durchschnittszahlen berechnen sich aus den letzten 7 Tagen.

Mehrfach empfohlen

Seitenreport ist einer der bekanntesten SEO und Website Analyse Dienste im deutschsprachigen Raum und wurde u.a. schon empfohlen:
von Mr. Wong im Wong Letter
vom Leserservice der Deutschen Post
vom Technik Blog SiN
und vielen anderen

Partnerprogramm

12% Lifetime Provision auf alle Buchungen von Dir geworbener Mitglieder sowie 0,50 € für jede Registrierung. Eines der besten deutschen Partnerprogramme laut den appCharts von 100partnerprogramme.de. Nimm jetzt teil am Seitenreport Partnerprogramm und verdiene gutes Geld dabei!

* = Partnerlinks