Autor |
Nachricht |
Anjenehm
Threadersteller
Dabei seit: 26.01.2012
Ort: Berlin
Alter: 31
Geschlecht:
|
Verfasst Do 26.01.2012 13:11
Titel Formular mit mehreren Beratern (PHP) |
|
|
SalüPapüüüü,
ich werd noch langsam verrückt! Ich brauche ein formular, in dem man sich an einen jeweiligen berater wenden kann.
So schön und gut. Nach aussfüllen des Formulars sollte eine seite aufgerufen werden in der bestätigt wird das das formular ausgefüllt und abgeschickt wurde.
1. egal ob was eingegeben wurde oder nicht, wird das Formular abgeschickt. D.H. die Variabeln wurden nicht überprüft ob was eingetragen wurde oder nicht.
2. Erfolgt immer die weiterleitung zur unterseite das alles ausgefüllt wurde und es wird nicht angezeigt das da was schief gelaufen ist.
3 tage googeln hat mich auch nicht weiter gebracht
schonmal rechtherzlichen dank!
<?php
// Email auflistung
$emailAddresses = array(
'Name1'=>'info@name1.de',
'Name2'=>'info@name2.de'
// etc etc
);
$emailSubject = 'Beratungsanfrage';
if (isset($_POST['name'])) {
if (isset($_POST['name'],$_POST['destemail'],$_POST['comment'],$_POST['srcemail'])) {
echo("Oh, es sind nicht alle Felder ausgefüllt.");
}
if (isset($emailAddresses[$_POST['destemail']])) {
echo("Oh, Sie habe eine falsche Email eingetragen.");
}
$emailBody = "Sehr geehrte Damen und Herren,\n\n{$_POST['name']} ({$_POST['srcemail']}) wandt sich an Sie als Bearter und schrieb folgende Nachricht:\n\n{$_POST['comment']}\n\n\n\n Formular ausgefuellt\n\n auf www.name.de/kontakt";
if (mail($emailAddresses[$_POST['destemail']],$emailSubject,$emailBody,"Von: {$_POST['srcemail']}")) {
header("Location: http://www.name.de/abfragegesendet.html);
exit;
} else {
echo("Ihre Email konnte nicht gesendet werden!");
}
}
?>
<form action="" method="POST" id="formstyle">
<table width="628" id="tablestyle">
<tr>
<td width="150">Ihr Name:</td>
<td width="150"><input type="text" name="name" /></td>
</tr>
<tr>
<td>Ihre Email-Adresse:</td>
<td><input type="text" name="srcemail" /></td>
</tr>
<tr>
<td>Ihre Nachricht:</td>
<td id="textarea"><textarea cols="35" rows="11" name="comment"></textarea></td>
</tr>
<tr>
<td>An wen wollen Sie sich wenden?</td>
<td>
<select name="destemail">
<?php foreach ($emailAddresses as $name => $email) { ?>
<option value="<?php echo htmlspecialchars($name); ?>" selected><?php echo htmlspecialchars($name); ?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td colspan="2"> <button type="submit" value="Send" id="postbutton">Absenden</button></td>
</tr>
</table>
</form>
Zuletzt bearbeitet von Anjenehm am Do 26.01.2012 13:14, insgesamt 1-mal bearbeitet
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 26.01.2012 13:20
Titel
|
|
|
Zitat: | 3 tage googeln hat mich auch nicht weiter gebracht
|
Dann hätt et och kenne Sinn.
|
|
|
|
|
Anzeige
|
|
|
remote
Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 110
Geschlecht:
|
Verfasst Do 26.01.2012 13:36
Titel
|
|
|
Code: | if (isset($_POST['name'],$_POST['destemail'],$_POST['comment'],$_POST['srcemail'])) {
echo("Oh, es sind nicht alle Felder ausgefüllt.");
} |
Oh, da hast Du was grundsätzlich falsch verstanden.
Code: | if ( isset($foo) ) {
// var $foo ist gesetzt
}
if (!isset($foo) || empty($foo) ) {
// var $foo ist nicht gesetzt oder leer ( '' || '0' )
} |
Besser 3 Tage Grundlagen lernen als Googeln: http://tut.php-q.net/
und php man benutzen.
Zuletzt bearbeitet von remote am Do 26.01.2012 13:40, insgesamt 1-mal bearbeitet
|
|
|
|
|
Karlarsch
Dabei seit: 05.02.2007
Ort: -
Alter: 58
Geschlecht:
|
Verfasst Fr 27.01.2012 07:44
Titel
|
|
|
Du solltest überlegen die Formularangaben mehrstufig zu validieren. "progessive Enhancement" ist dabei ein wichtiges Stichwort.
1) Nutze die Möglichkeiten von HTML5
2) Für Browser die keine HTML5-Form-Validierung beherrschen implementiere eine JavaScript-Lösung, z.B. mit jQuery
3) An dritter Stelle kommt erst die serverseitige Validierung, in deinem Fall mittels PHP
Gruß
Karl
|
|
|
|
|
Anjenehm
Threadersteller
Dabei seit: 26.01.2012
Ort: Berlin
Alter: 31
Geschlecht:
|
Verfasst Fr 27.01.2012 09:46
Titel
|
|
|
Karlarsch hat geschrieben: | Du solltest überlegen die Formularangaben mehrstufig zu validieren. "progessive Enhancement" ist dabei ein wichtiges Stichwort.
1) Nutze die Möglichkeiten von HTML5
2) Für Browser die keine HTML5-Form-Validierung beherrschen implementiere eine JavaScript-Lösung, z.B. mit jQuery
3) An dritter Stelle kommt erst die serverseitige Validierung, in deinem Fall mittels PHP
Gruß
Karl |
Recht Herzlichen Dank!
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP] XML Generator mit Formular und mehreren Schritten
Not-Selector mit mehreren IDs in CSS
Webite aus mehreren SWF´s?
login mit mehreren User
PHP Formmailer mit mehreren Empfängern
Ausrichten von mehreren Ebenen
|
|