Autor |
Nachricht |
fuchsbau
Dabei seit: 15.08.2005
Ort: .//root
Alter: 40
Geschlecht:
|
Verfasst Mi 22.08.2007 17:36
Titel
|
|
|
um gottes willen, was machst du da? so etwa denk ich:
Code: | <?php
/* send auftrag abfragen */
if ($_POST[action] == "send") {
/* sendto default definieren */
if ( $_POST[auswahl] == 'hagen' ) { $sendto = 'hagen@gmx.de'; }
elseif ( $_POST[auswahl] == 'luedenscheid' ) { $sendto = 'luedenscheid@gmx.de'; }
[...]
mail($sendto, $betreff, $nachricht, $absender);
/* versandbestätigung */
$sent = 1;
}
?>
<form name="Formular" action="kontakt.php?action=send" method="POST" enctype="text/plain">
<select name="auswahl" size="1" onSubmit="return emailCheck()">
<option value="hagen">Hagen</option>
<option value="luedenscheid">Lüdenscheid</option>
<option value="olpe">Olpe</option>
<option value="remscheid">Remscheid</option>
</select>
[...]
<input type="submit" value=" Absenden ">
</form>
<?php if ($sent == 1) {echo 'Vielen Dank, wir werden Ihre Anfrage so schnell wie möglich beantworten.';} ?> |
//javascriptfrei...
Zuletzt bearbeitet von fuchsbau am Mi 22.08.2007 17:42, insgesamt 4-mal bearbeitet
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mi 22.08.2007 19:24
Titel
|
|
|
Code: | if ($_POST[action] == "send") |
Sowas gibt dir garantiert mindestens ne Warnung:
1.) Wenn das Formular nicht gesendet wurde, ist $_POST['action'] nicht deklariert noch definiert
2.) Der Hashindex 'action' muss in Anfüs stehen, sonst denkt PHP es handele sich um eine Konstante
Hier ist ebenfalls $sent nur deklariert, nachdem das Formular gesendet wurde. Wird dir auch ne Warnung auswerfen.
Code: | <?php if ($sent == 1) {echo 'Vielen Dank, wir werden Ihre Anfrage so schnell wie möglich beantworten.';} ?> |
Nur als Tipp:
Code: |
<?php if ($sent == 1):?>
<p>Vielen Dank, wir werden Ihre Anfrage so schnell wie möglich beantworten.</p>
<?php endif;?>
|
Ist besser lesbar und man kann sogar konfortabel HTML-Tags und Attribute verwenden, ohne sich um escaping Sorgen zu machen.
Code: | <select name="auswahl" size="1" onSubmit="return emailCheck()"> |
Attribut-Eventhandler sind mehr als unelegant. Außerdem bezieht sich das submit-Event immer auf das aktuelle Formular, nicht auf das select-element.
Code: | enctype="text/plain" |
ist eher für den Email-Direktversand geeignet. Verwende den Codierungstyp "application/x-www-form-urlencoded" (Browserstandard) oder "multipart/form-data" (für Fileuploads)
|
|
|
|
|
Anzeige
|
|
|
fuchsbau
Dabei seit: 15.08.2005
Ort: .//root
Alter: 40
Geschlecht:
|
Verfasst Mi 22.08.2007 22:29
Titel
|
|
|
joa, hast natürlich recht. hab das vorhin schnell ausm kopf zusammengeschrieben und auf ein paar sachen nich geachtet. wollte nur den weg ohne javascript deutlich machen. sorry und danke
|
|
|
|
|
flaggermus
Threadersteller
Dabei seit: 22.08.2007
Ort: -
Alter: 37
Geschlecht:
|
Verfasst Do 23.08.2007 09:42
Titel
|
|
|
guten morgen!
schonmal vielen dank für eure hilfe!
und ja ich weiß, dass ich keine ahnung von javascript und php habe, deswegen muss ich ja nachfragen. *lach*
Jetzt habe ich noch ein weiteres problem: ich erhalte jetzt andauerd (egal ob ich alle pflichtfelder ausgefüllt habe oder nicht) folgende fehlermeldung:
Parse error: parse error, unexpected T_STRING in /var/www/web4/html/flexomed/kontakt.php on line 16
14 <?php
15 /* send auftrag abfragen */
16 if ($_POST['action'] == "send") {
17 /* sendto default definieren */
18 if ( $_POST[auswahl] == 'hagen' ) { $sendto = 'info@blah.de'; }
19 elseif ( $_POST[auswahl] == 'luedenscheid' ) { $sendto = 'blub@web.de'; }
20 elseif ( $_POST[auswahl] == 'olpe' ) { $sendto = 'mööp@web.de'; }
21 elseif ( $_POST[auswahl] == 'remscheid' ) { $sendto = 'info@mdk-mediadesign.de'; }
22
23 mail($sendto, $betreff, $nachricht, $absender);
24 /* versandbestätigung */
25 $sent = 1;
26 }
27 ?>
Was muss ich jetzt noch verändern, damit es funzt?
|
|
|
|
|
fuchsbau
Dabei seit: 15.08.2005
Ort: .//root
Alter: 40
Geschlecht:
|
Verfasst Do 23.08.2007 14:20
Titel
|
|
|
ist imo das, was XSchinkenX in den ersten 2 punkten angesprochen hat. finde sonst im code keinen fehler
XSchinkenX hat geschrieben: | Wenn das Formular nicht gesendet wurde, ist $_POST['action'] nicht deklariert noch definiert
|
Zuletzt bearbeitet von fuchsbau am Do 23.08.2007 14:21, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
[javascript] mit <select> feld wert an javascript funk
JavaScript select/option switch ohne reload
Brauche ein Feld zur E-Mail-Erfassung
[Javascript] Pro Klick was anderes in Formular-Feld einfügen
Brauche Hilfe bei JS - if-Abfrage
SQL Abfrage - Brauche Hilfe
|
|