gelöschter Benutzer

kontaktformular sendet nicht?

am 12.07.2011, 19:47 Uhr eröffnete folgenden Thread
HTML5 & CSS    5680 mal gelesen    25 Antwort(en).

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]

E-Mail: info@unternehmensberatung.de


 



<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">

Ihre Nachricht:





Name:*





 


Straße,Nr.:





 


Postleitzahl:





 


Ort:





 


Ihre E-Mail-Adresse:*





 


Telefonnummer:*





Sicherheitscode 




<input name="sich" type="text" id="sich" size="10" />





 


 


</form>

 




</body>
</html>
[/html]


matthes
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 12.07.2011, 21:33 Uhr schrieb matthes

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.


Make Seitenreport great again!

romacron
JDev Xer
Content Gott (1224 Beiträge)
am 13.07.2011, 07:42 Uhr schrieb romacron

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[/html]



<!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>


<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> <br />/*positioniert das Label element*/ <br />#form1 label { <br /> width:130px; <br /> float:left; <br />} <br />/*entwertet floatings dann fängt die nächste label-inputzeile neu an*/ <br />#form1 div { <br /> clear:left; <br />} <br /></style>
</head>

<body>

E-Mail: info@unternehmensberatung.de


 



<form action="kontaktsenden.php" method="post" name="form1" id="form1" onsubmit="validate_all(this);">


<textarea name="nachricht" cols="45" rows="7" id="nachricht"></textarea>


<input name="name" type="text" id="name" onblur="validate(this,\'R\');" size="35" />


<input name="strasse" type="text" id="strasse" size="35" />



<input name="plz" type="text" id="plz" onblur="validate(this,\'NisNum\');" size="35" />



<input name="ort" type="text" id="ort" size="35" />



<input name="email" type="text" id="email" onblur="validate(this,\'RisEmail\');" size="35" />



<input name="telefon" type="text" id="telefon" onblur="validate(this,\'RisNum\');" size="35" />

Sicherheitscode 




<input name="captcha" type="text" id="captcha" size="10" />




</form>

</body>
</html>



gelöschter Benutzer
am 14.07.2011, 10:56 Uhr schrieb

@romacron
@all

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

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





Name:

Name:

Name:

Name:

Name:

Name:

Name:


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">

Ihre Nachricht:





Name:*





 


Straße,Nr.:





 


Postleitzahl:





 


Ort:





 


Ihre E-Mail-Adresse:*





 


Telefonnummer:*





Sicherheitscode 




<input name="sicherheitscode" type="text" id="sicherheitscode" size="10" maxlength="5" />





 


 


</form>

 




</body>
</html>



gelöschter Benutzer
am 14.07.2011, 19:44 Uhr schrieb

....so ich hab mich weiter gekämpft...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 <br />
Name: $nameFeld
Nachricht: $nachrichtFeld
Strasse: $strasseFeld
PlZ: $plzFeld
Email: $emailFeld
Telefon: $telefonFeld
Ort: $ortFeld
EOD;

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


echo "Ihre Nachricht wurde versendet!";

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


?>



gelöschter Benutzer
am 16.07.2011, 17:44 Uhr schrieb

@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??


matthes
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 16.07.2011, 20:56 Uhr schrieb matthes

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
echo \'

\';

print_r($_SESSION);
print_r($POST);
echo \'

\';
?>


Make Seitenreport great again!


gelöschter Benutzer
am 17.07.2011, 10:55 Uhr schrieb

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
)


matthes
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 17.07.2011, 11:09 Uhr schrieb matthes

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.
$_SESSION[\'code\']==$_POST[\'code\']
leer == 4DK8X


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


Make Seitenreport great again!


gelöschter Benutzer
am 17.07.2011, 14:08 Uhr schrieb

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">

Ihre Nachricht:



matthes
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 17.07.2011, 16:13 Uhr schrieb matthes

Hast du nicht.

Wo weist du $_SESSION[\'captcha_spam\'] einen Wert zu?
Dies müsste in der Datei geschehen, die das Formular anzeigt oder in der Datei, die den Code generiert. Momentan ist $_SESSION[\'captcha_spam\'] leer, darum funktioniert es nicht.


Make Seitenreport great again!



« zurück zu: HTML5 & CSS

Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.