| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
ass-online.eu Mitglied
|
Probleme mit textarea, Daten werden nicht korrekt übergeben |
|
|
Hallo,
heute habe ich ein kleines Problem im Quelltext, bei dem ich nicht weiter komme.
Ich habe zu Jahresanfang für einen Kunden eine individuelle Homepage erstellt, eben genau so wie er es haben wollte. Sollte so günstig wie möglich sein und genau so aussehen wie er es mir aufgemalt und erklärt hat. Hab ich auch so erstellt. Das ganze sollte natürlich schnellstmöglich (binnen 7 Tagen ab Auftragserteilung) online stehen. Da das natürlich insgesamt dazu geführt hat, dass der Code nun nicht wirklich valide ist und einige Fehler drin stecken die erst nach und nach auftauchen, bin ich nun momentan dabei, die Seite so anzupassen, dass alle Probleme und Fehler behoben werden.
Das aktuelle Problem ist folgendes:
Es existiert ein Kontaktformular. In diesem Formular wird nach dem Absenden per PHP geprüft, ob denn auch die Pflichtfelder ausgefüllt wurden. Wenn nicht, werden die bereits eingegebenen Werte wieder an das Formular übergeben und es gibt Hinweise, welche Einträge fehlen. Klappt soweit auch bestens. Nur bei dem Kommentarfeld, das ich gerade eben von normalem Textfeld in ein ein Textarea geändert habe (weil die Leute sehr oft die Enter Taste drücken um einen Zeilenumbruch zu erhalten, der ja aber in einem normalen Input Feld nicht geht), wird dann natrürlich das Formular abgeschickt. Dadurch versuchen es viele natürlich 10x oder gar öfter und blicken es einfach nicht. Drum also nun ein Textarea.
Jetzt ist aber das Problem, dass der Wert aus diesem Textarea nach dem Absenden nicht wieder an das Feld übergeben und dann auch angezeigt wird. Der Text wird zwar in der Mail korrekt verschickt, aber das wars dann auch. Er erscheint nicht mehr im Formular.
Weiß hier jemand einen Rat, wo ich den Fehler habe?
Für Eure Hilfe wäre ich Euch wieder sehr dankbar.
Hier der Quelltext von dem Kontaktformular:
| Code: |
<?php
$nameOK = true;
$emailOK = true;
$kommentarOK = true;
if (isset($_POST['submit_x']) && isset($_POST['submit_y'])) {
$ausgabe = '';
$fehler = '';
if (isset($_POST['name']) && !is_array($_POST['name']) && $_POST['name'] != '') {
$ausgabe .= 'Name : ' . htmlspecialchars($_POST['name']) . "\n";
}
else {
$fehler .= '<span style="color:red">Kein Name angegeben!</span><br />';
$nameOK = false;
}
if (isset($_POST['strasse']) && !is_array($_POST['strasse']) && $_POST['strasse'] != '') {
$ausgabe .= 'Strasse : ' . htmlspecialchars($_POST['strasse']) . "\n";
}
if (isset($_POST['plz_ort']) && !is_array($_POST['plz_ort']) && $_POST['plz_ort'] != '') {
$ausgabe .= 'PLZ und Ort : ' . htmlspecialchars($_POST['plz_ort']) . "\n";
}
if (isset($_POST['land']) && !is_array($_POST['land']) && $_POST['land'] != '') {
$ausgabe .= 'Land : ' . htmlspecialchars($_POST['land']) . "\n";
}
if (isset($_POST['email']) && !is_array($_POST['email']) && $_POST['email'] != '') {
$ausgabe .= 'E-Mail : ' . htmlspecialchars($_POST['email']) . "\n";
}
else {
$fehler .= '<span style="color:red">Keine E-Mail-Adresse angegeben!</span><br />';
$emailOK = false;
}
if (isset($_POST['telefon']) && !is_array($_POST['telefon']) && $_POST['telefon'] != '') {
$ausgabe .= 'Telefon : ' . htmlspecialchars($_POST['telefon']) . "\n";
}
if (isset($_POST['fax']) && !is_array($_POST['fax']) && $_POST['fax'] != '') {
$ausgabe .= 'Fax : ' . htmlspecialchars($_POST['fax']) . "\n";
}
if (isset($_POST['kommentar']) && !is_array($_POST['kommentar']) && $_POST['kommentar'] != '') {
$ausgabe .= 'Kommentar : ' . htmlspecialchars($_POST['kommentar']) . "\n";
}
else {
$fehler .= '<span style="color:red">Keine Nachricht angegeben!</span><br />';
$kommentarOK = false;
}
if ($fehler == '') {
mail('kontakt@mister-wine.de', 'Kontaktformular Berghaus Lerchenstüble, 72461 Albstadt-Tailfingen', $ausgabe);
echo '<b><font color="green">Wir haben Ihre Nachricht erhalten und werden diese schnellstmöglich bearbeiten.</font></b><br /><br />';
}
else {
echo $fehler;
}
}
?>
<p>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>?p=4b&m=bl&b=bl" method="POST">
<table width="550">
<tr>
<td style="vertical-align: top">Name :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="name" size="40" value="<?php
if (isset($_POST['name']) && !is_array($_POST['name'])) {
echo htmlspecialchars($_POST['name']);
}
?>" />
<?php
if (!$nameOK) {
echo '<span style="color:red"> *</span>';
}
?>
</td>
</tr>
<tr>
<td style="vertical-align: top">Straße :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="strasse" size="40" value="<?php
if (isset($_POST['strasse']) && !is_array($_POST['strasse'])) {
echo htmlspecialchars($_POST['strasse']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">PLZ und Ort :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="plz_ort" size="40" value="<?php
if (isset($_POST['plz_ort']) && !is_array($_POST['plz_ort'])) {
echo htmlspecialchars($_POST['plz_ort']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">Land :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="land" size="40" value="<?php
if (isset($_POST['land']) && !is_array($_POST['land'])) {
echo htmlspecialchars($_POST['land']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">E-Mail :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="email" size="40" value="<?php
if (isset($_POST['email']) && !is_array($_POST['email'])) {
echo htmlspecialchars($_POST['email']);
}
?>" />
<?php
if (!$emailOK) {
echo '<span style="color:red"> *</span>';
}
?>
</td>
</tr>
<tr>
<td style="vertical-align: top">Telefon :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="telefon" size="40" value="<?php
if (isset($_POST['telefon']) && !is_array($_POST['telefon'])) {
echo htmlspecialchars($_POST['telefon']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">Fax :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="fax" size="40" value="<?php
if (isset($_POST['fax']) && !is_array($_POST['fax'])) {
echo htmlspecialchars($_POST['fax']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">Nachricht :</td>
<td style="vertical-align: top"><textarea class="rahmen" rows="5" cols="30" name="kommentar" value="<?php
if (isset($_POST['kommentar']) && !is_array($_POST['kommentar'])) {
echo htmlspecialchars($_POST['kommentar']);
}
?>" /></textarea>
<?php
if (!$kommentarOK) {
echo '<span style="color:red"> *</span>';
}
?>
</td>
</tr>
<tr>
<td colspan="2">
<p align="center"><input type="image" name="submit" src="../images/button-formular-absenden.png" alt="Reservierung absenden" /></td>
</tr>
</table>
</form>
</p>
|
Gruß,
Bodo
__________________________________________________
www.ass-online.eu |
|
|
|
| 18 März 2008 10:27 |
|
  |
Matthias Gast
|
 |
|
|
| Ich versuchs mal, ich schick dir dann den fertigen code, wenn ichs hinkriege |
|
|
|
| 18 März 2008 18:00 |
|
 |
Matthias Gast
|
 |
|
|
also ein fehler ist da nicht drin, da muss man das wahrscheinlich komplett neu überarbeiten.
Versuchs mal damit, ist erst mal ne billig lösung, funktioniert vielleicht auch nicht:
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
| <?php
$nameOK = true;
$emailOK = true;
$kommentarOK = true;
$kommentar2 = false;
if (isset($_POST['submit_x']) && isset($_POST['submit_y'])) {
$ausgabe = '';
$fehler = '';
if (isset($_POST['name']) && !is_array($_POST['name']) && $_POST['name'] != '') {
$ausgabe .= 'Name : ' . htmlspecialchars($_POST['name']) . "\n";
}
else {
$fehler .= '<span style="color:red">Kein Name angegeben!</span><br />';
$nameOK = false;
}
if (isset($_POST['strasse']) && !is_array($_POST['strasse']) && $_POST['strasse'] != '') {
$ausgabe .= 'Strasse : ' . htmlspecialchars($_POST['strasse']) . "\n";
}
if (isset($_POST['plz_ort']) && !is_array($_POST['plz_ort']) && $_POST['plz_ort'] != '') {
$ausgabe .= 'PLZ und Ort : ' . htmlspecialchars($_POST['plz_ort']) . "\n";
}
if (isset($_POST['land']) && !is_array($_POST['land']) && $_POST['land'] != '') {
$ausgabe .= 'Land : ' . htmlspecialchars($_POST['land']) . "\n";
}
if (isset($_POST['email']) && !is_array($_POST['email']) && $_POST['email'] != '') {
$ausgabe .= 'E-Mail : ' . htmlspecialchars($_POST['email']) . "\n";
}
else {
$fehler .= '<span style="color:red">Keine E-Mail-Adresse angegeben!</span><br />';
$emailOK = false;
}
if (isset($_POST['telefon']) && !is_array($_POST['telefon']) && $_POST['telefon'] != '') {
$ausgabe .= 'Telefon : ' . htmlspecialchars($_POST['telefon']) . "\n";
}
if (isset($_POST['fax']) && !is_array($_POST['fax']) && $_POST['fax'] != '') {
$ausgabe .= 'Fax : ' . htmlspecialchars($_POST['fax']) . "\n";
}
if (isset($_POST['kommentar']) && !is_array($_POST['kommentar']) && $_POST['kommentar'] != '') {
$ausgabe .= 'Kommentar : ' . htmlspecialchars($_POST['kommentar']) . "\n";
}
else {
$fehler .= '<span style="color:red">Keine Nachricht angegeben!</span><br />';
$kommentarOK = false;
}
if ($fehler == '') {
mail('kontakt@mister-wine.de', 'Kontaktformular Berghaus Lerchenstüble, 72461 Albstadt-Tailfingen', $ausgabe);
echo '<b><font color="green">Wir haben Ihre Nachricht erhalten und werden diese schnellstmöglich bearbeiten.</font></b><br /><br />';
}
else {
echo $fehler;
}
}
?>
<p>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>?p=4b&m=bl&b=bl" method="POST">
<table width="550">
<tr>
<td style="vertical-align: top">Name :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="name" size="40" value="<?php
if (isset($_POST['name']) && !is_array($_POST['name'])) {
echo htmlspecialchars($_POST['name']);
}
?>" />
<?php
if (!$nameOK) {
echo '<span style="color:red"> *</span>';
}
?>
</td>
</tr>
<tr>
<td style="vertical-align: top">Straße :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="strasse" size="40" value="<?php
if (isset($_POST['strasse']) && !is_array($_POST['strasse'])) {
echo htmlspecialchars($_POST['strasse']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">PLZ und Ort :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="plz_ort" size="40" value="<?php
if (isset($_POST['plz_ort']) && !is_array($_POST['plz_ort'])) {
echo htmlspecialchars($_POST['plz_ort']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">Land :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="land" size="40" value="<?php
if (isset($_POST['land']) && !is_array($_POST['land'])) {
echo htmlspecialchars($_POST['land']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">E-Mail :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="email" size="40" value="<?php
if (isset($_POST['email']) && !is_array($_POST['email'])) {
echo htmlspecialchars($_POST['email']);
}
?>" />
<?php
if (!$emailOK) {
echo '<span style="color:red"> *</span>';
}
?>
</td>
</tr>
<tr>
<td style="vertical-align: top">Telefon :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="telefon" size="40" value="<?php
if (isset($_POST['telefon']) && !is_array($_POST['telefon'])) {
echo htmlspecialchars($_POST['telefon']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">Fax :</td>
<td style="vertical-align: top"><input class="rahmen" type="text" name="fax" size="40" value="<?php
if (isset($_POST['fax']) && !is_array($_POST['fax'])) {
echo htmlspecialchars($_POST['fax']);
}
?>" />
</td>
</tr>
<tr>
<td style="vertical-align: top">Nachricht :</td>
<td style="vertical-align: top">
<textarea class="rahmen" rows="5" cols="30" name="kommentar" value="<?php
if (isset($_POST['kommentar']) && !is_array($_POST['kommentar'])) {
echo htmlspecialchars($_POST['kommentar']);
}
?>" />
</textarea>
<?php
if (!$kommentarOK) {
echo '<span style="color:red"> *</span>';
}
if (!$kommentar2) {
echo'<span style="color:red>$_POST['kommentar']</span>
}
?>
</td>
</tr>
<tr>
<td colspan="2">
<p align="center"><input type="image" name="submit" src="../images/button-formular-absenden.png" alt="Reservierung absenden" /></td>
</tr>
</table>
</form>
</p> |
|
|
|
|
| 18 März 2008 18:11 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Das Textarea hat kein Value-Attribut!
| Code: | <textarea> Inhalt </textarea> |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 18 März 2008 19:44 |
|
 |
ass-online.eu Mitglied
|
 |
|
|
Hallo,
danke für die Antworten.
Matthias: Der Code klappt leider nicht.
Werner: Bedeutet das, dass ich den Wert nicht weitergeben kann, wie bei allen anderen Feldern? Also dass das Feld imer leer bleiben wird, wenn das Formular verschickt wurde und das Fenster neu geladen wird? Gibt es dann ggf. noch eine Alternative, dies zu realisieren? |
_________________ ==============================
www.assonline.kilu.de
Schreibbüro und Werbeagentur in 72458 Albstadt
Webdesign, Printdesign, allgemeine Bürodienstleistung, ... |
|
|
| 19 März 2008 01:11 |
|
 |
Forrest Gumb Mitglied

|
 |
|
|
Hallo,
an Ass und an Matthias --> Ihr habt in euren Codes die E-Mail Adresse nicht in xxxxx@xxx.xx geändert. Die Robots schaun doch bestimmt auch auf diese Seite. |
_________________ 4rest
Wende Dein Gesicht ins Licht, dann werden die Schatten hinter Dir sein.
[ forrest ] - [ more ] |
|
|
| 19 März 2008 16:55 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
| ass-online.eu hat Folgendes geschrieben: | | Werner: Bedeutet das, dass ich den Wert nicht weitergeben kann, ... |
Den Text einfach zwischen den Textarea-Tags einfügen... | PHP-Code: | 1 2 3 4 5 6 7
| <textarea class="rahmen" rows="5" cols="30" name="kommentar" />
<?php
if (isset($_POST['kommentar']) && !is_array($_POST['kommentar'])) {
echo htmlspecialchars($_POST['kommentar']);
}
?>
</textarea> |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 19 März 2008 22:00 |
|
 |
ass-online.eu Mitglied
|
 |
|
|
Hallo Werner,
ich danke Dir herzlichst für die Hilfe.
Dass ich aber auch selbst nicht darauf gekommen bin  |
_________________ ==============================
www.assonline.kilu.de
Schreibbüro und Werbeagentur in 72458 Albstadt
Webdesign, Printdesign, allgemeine Bürodienstleistung, ... |
|
|
| 19 März 2008 22:33 |
|
 |
|