Archivlink: javarea.de Forum > PHP, MySQL & CGI > Variablen an ein Kontakfromular übergeben
Vollständigen Link anzeigen: javarea.de Forum > PHP, MySQL & CGI > Variablen an ein Kontakfromular übergeben

Pages: [1]

geschrieben von werny am 13.03.2008 - 15:53
Hallo,

ich habe ein html-Dokument, in das ich Anweisungen an ein Kontaktformular übergeben möchte.
Ich möchte daß im Kontaktformular (kontakt.ph) bereits der Betreff ausgewählt wurde und nicht wie standardmässig durch "selected" auf "kein Betreff", sondern "Bestellung Kunstführer"

Hier die Seite die übergibt:

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 

<?
<form action="kontakt.php" method="POST">
<
input type="hidden" name="nachricht" value="Ich bestelle hiermit ein Exemplar des Buches">
<
INPUT TYPE=submit NAME="add" VALUE="zur Online-Bestellung" style="font-size: 8pt; font-weight: bold"></form>
?>




Hier die Seite die empfängt ;

PHP-Quelltext
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: 

<?
session_start
();
?>

<html>
<head>
 </head>
<body >
              

<?php



// Um das Formular zu leeren
if ($_POST['delete'])
{
unset(
$_POST);
}

// Übernahme der Daten aus den Formular
if ($_POST["sendKontakt"]) {

// Variablen der Datenfelder
   
$vorname   $_POST["vorname"];
   
$name   $_POST["name"];
   
$email      $_POST["email"];
   
$betreff      $_POST["betreff"];
   
$nachricht   $_POST["nachricht"];
   
$date strftime("%d.%m.%Y");




?>
<p class="normal">
<?

// Überprüfung der Datenfelder
if (!preg_match("/^[a-z0-9 äüößA-ZÄÜÖ.-]+$/"$vorname)) {
   
$fehler['vorname'] = "Geben Sie bitte Ihren <strong>Vornamen</strong> an!<br />\n";
}
if (!
preg_match("/^[a-z0-9 äüößA-ZÄÜÖ.-]+$/"$name)) {
   
$fehler['name'] = "Geben Sie bitte Ihren <strong>Nachnamen</strong> an!<br />\n";
}
if (!
preg_match("/^[0-9a-zA-ZÄÜÖ_.-]+@[0-9a-z.-]+\.[a-z]{2,6}$/"$email)) {
   
$fehler['email'] = "Geben Sie bitte eine <strong>korrekte E-Mail-Adresse</strong> an!<br />\n";
}


// FEHLERAUSGABE   "/^[0-9]+$/"  if ($plz != '' && !preg
if (is_array($fehler))
{
print 
"<b>Achtung, Fehler!:</b>\n</p>";
?>
<p class="normal">
<?
foreach ($fehler as $feldname => $wert)
   {
   print 
$wert;
   }
print 
"&nbsp;</class></p>\n";
}


// wenn kein Fehler, wird eine E-Mail versendet
   
if (!isset($fehler))
   {

// Kopf der E-Mail
   
$recipient $empfaenger;
   
$subject "Kontakformular über die Homepage"// Betreff der Nachricht
   
$mailheaders "From: \"".stripslashes($_POST["vorname"])." ".stripslashes($_POST["name"])."\" <".$_POST["email"].">\n";
   
$mailheaders .= "Reply-To: <".$_POST["email"].">\n";
   
$mailheaders .= "X-Mailer: PHP/" phpversion();

// Darstellung der E-Mail
   
$msg  "Kontaktformular vom "$date ":\n" "-------------------------------------------------------------------------\n\n";
   
$msg .= "Betreff/Empfänger: " $betreff "\n\n";
   
$msg .= "Vorname: " $vorname "\n";
   
$msg .= "Nachname: " $name "\n";
   
$msg .= "E-Mail: " $email "\n";
   
$msg .= "\n\n-------------------------------------------------------------------------\nNachricht:\n" $nachricht "\n\n";

   
$msg strip_tags (stripslashes ($msg));


if (@
mail($recipient,$subject,$msg,$mailheaders)) {
   
// Text wenn E-Mail versendet wurde,
      
print '<b>Herzlichen Dank!</b><br><br>
    Ihre Nachricht wurde uns erfolgreich übermittelt.<br>'
;

?>

<br>

</table>
<p class="normal">   
</body>
</html>

<?

   
exit;
}
}
}

?>

 <p class="ueberschrift">Kontaktformular</p>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post" NAME="formular" />
<input style="width:0px; height:0px; visibility:hidden;" type="hidden" name="action" value="smail" />
<input style="width:0px; height:0px; visibility:hidden;" type="hidden" name="content" value="formular"/>
<table style="color: #000000;" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td class="normal" colspan="2">
      <hr size="1" color="#000080">
    </td>
  </tr>
    <td class="normal"><b>Vorname: *</b></td>
    <td><input type="text" name="vorname" id="sender" size="48" value="<?=htmlentities(stripslashes($_POST["vorname"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
  <tr>
    <td class="normal"><b>Name: *</b></td>
    <td><input type="text" name="name" size="48" value="<?=htmlentities(stripslashes($_POST["name"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
    <tr>
    <td class="normal"><b>E-Mail-Adresse: *</b></td>
    <td><input type="text" name="email" size="48" value="<?=htmlentities(stripslashes($_POST["email"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
    <tr>
    <td class="normal"><b>Betreff: </b></td>
    <td><select size="1" name="betreff">
<option value="an die Schule">an die Schule</option>
<option value="an das Heim">an das Heim</option>
<option value="an die Verwaltung">an die Verwaltung</option>
<option value="an die Bibliothek">an die Bibliothek</option>
<option value="Bestellung Kunstührer">Bestellung Kunstführer</option>
<option value="Bestellung Jahresbericht">Bestellung Jahresbericht</option>
<option selected value="kein Betreff">kein Betreff</option>
</select>
</td>
  </tr>
      <td class="normal"><b>Nachricht:</b></td>
    <td><textarea name="nachricht" id="message" rows="9" cols="37"><?=htmlentities(stripslashes($_POST["nachricht"]), ENT_QUOTES'ISO-8859-1');?></textarea></td>
  </tr>
  <tr>
  <td colspan="2"><hr size="1" color="#000080"></td>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
  <tr>
    <td align="right" colspan="2"><input type="submit" name="sendKontakt" value="Absenden" />
<input type="submit" name="delete" value="L&ouml;schen" /></td>
  </tr>
</table>
 
</body>
</html>



Stimmt das denn überhaupt so?
Mach man das mit einem hidden input oder geht das noch sauberer?

Danke für die info

Werner

geschrieben von Klaush am 13.03.2008 - 18:06
Da habe ich doch gleich mehrere Fragen

Zitat
 Ich möchte daß im Kontaktformular (kontakt.ph) bereits der Betreff ausgewählt wurde und nicht wie standardmässig durch "selected" auf "kein Betreff", sondern "Bestellung Kunstführer"


Entweder du schiebst die Option Bestellung Kunstführer ganz nach vorne oder aber dir bleibt nichts anderes übrig als Bestellung Kunstführer als selected zu kennzeichnen.

Wofür das session_start(); wenn keine Sessions benutzt werden?

Warum ein Formular auf diese Art zu leeren?
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 

<?
// Um das Formular zu leeren
if ($_POST['delete'])
{
unset(
$_POST);
}
?>


Um die Formularfelder zu leeren, gibt es in HTML die Möglichkeit eines <input type="reset" value="Reset">.

Warum fragst du ob es richtig ist, hast du es nicht getestet?

geschrieben von werny am 14.03.2008 - 10:35
Die Session hab ich jetzt raus, war noch drinnen weil ich mal ne captcha drinnen hatte.

Ich möchte von mehreren Seiten aus auf das Kontakt.php zugreifen
und immer andere Sachen übergben. z. B. "Bestellung Kunstführer", "Bestellung Jahresbericht".
Da soll sich dann immer der Betreff in der kontakt.php anpassen und der Text in der Textarea.

Grüsse,
Werner


geschrieben von Klaush am 14.03.2008 - 11:32
Zitat
 Original geschrieben von werny am 14.03.2008 - 10:35
Ich möchte von mehreren Seiten aus auf das Kontakt.php zugreifen
und immer andere Sachen übergben. z. B. "Bestellung Kunstführer", "Bestellung Jahresbericht".
Da soll sich dann immer der Betreff in der kontakt.php anpassen und der Text in der Textarea.


Ich verstehe noch immer nicht was es damit aufsich hat, wenn du die kontakt.php von mehereren Seiten aus aufrufst.

Wenn es dir um die Selektion geht, dann prüf das mit PHP und schreibe das selected in die Option.
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 

<?
switch($_POST['betreff'])
    {
        case 
"an die Schule":                            $sel_1 'selected';    break;
        case 
"an das Heim":                             $sel_2 'selected';    break;
        case 
"an die Verwaltung":                    $sel_3 'selected';    break;
        case 
"an die Bibliothek":                    $sel_4 'selected';     break;
        case 
"Bestellung Kunstührer":            $sel_5 'selected';     break;
        case 
"Bestellung Jahresbericht":    $sel_6 'selected';     break;
        default 
"kein Betreff":                        $sel_7 'selected';     break;
    }
?>



und hier das HTML Stück:
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 

<option value="kein Betreff"<?= $sel_7;?>>kein Betreff</option>    
<option value="an die Schule"<?= $sel_1;?>>an die Schule</option>
<option value="an das Heim"<?= $sel_2;?>>an das Heim</option>
<option value="an die Verwaltung"<?= $sel_3;?>>an die Verwaltung</option>
<option value="an die Bibliothek"<?= $sel_4;?>>an die Bibliothek</option>
<option value="Bestellung Kunstührer"<?= $sel_5;?>>Bestellung Kunstführer</option>
<option value="Bestellung Jahresbericht"<?= $sel_6;?>>Bestellung Jahresbericht</option>





geschrieben von werny am 14.03.2008 - 11:54
Also meine kontakt.php ist eigentlich eine ganz normale kontaktseite
mit standardmässig "kein Betreff" ausgewählt (weil es meistens eh nicht geändert wird).
Ich möchte jetzt aber diese kontakt.php auch nutzen um die Bestellungen von anderen Seiten aus zu übergeben.

Dann muss der Betreff natürlich abeändert werden.
Hab z.b. eine Seite wos um den Kunsführer geht.
Dann kann man am ende auf einen Link clicken (zur bestellung)
in dem Fall müsste dann im Betreff "Bestellung Kunstführer" stehen.

Auf der Seite Jahresbericht würde "Bestellung Jahresbericht" übergeben werden.

Geht das nicht auch nur mit einem einfachen link (also kein Form)?
http://www.seite.com/kontakt.php?be....Bestellung Kunsfrührer" ?


geschrieben von Klaush am 14.03.2008 - 12:09
Sicherlich geht das auch mit der URL, doch dann wird die Übergabe nicht per Form $_POST Methode gemacht, sondern mit $_GET.


geschrieben von werny am 14.03.2008 - 12:19
Hab das jetzt mit den cases versucht, kommt aber ne Fehlermeldung:

PHP-Quelltext
1: 
2: 
3: 

<?
Parse error
syntax errorunexpected T_CONSTANT_ENCAPSED_STRINGexpecting ':' or ';' in ...
?>



Der Fehler muss im Block der cases sein...


geschrieben von Klaush am 14.03.2008 - 12:29
oops, mein Fehler ... ändere das hier :
PHP-Quelltext
1: 
2: 
3: 

<?
default "kein Betreff":   $sel_7 'selected';     break;
?>



in das:
PHP-Quelltext
1: 
2: 
3: 

<?
default: $sel_7 'selected';     break;
?>



geschrieben von werny am 14.03.2008 - 14:29
Ok,

Habs mal versucht.
Von der HTML-Seite aus wird das so übergeben:

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 

<?
<form action="kontakt.php" method="POST">
<
p>
<
input type="hidden" name="nachricht" value="Ich bestelle hiermit ein Exemplar des Kunstführers">
<
input type="hidden" name="betreff" value="Bestellung Kunstführer">
<
INPUT TYPE=submit NAME="add" VALUE="zur Online-Bestellung" style="font-size: 8pt; font-weight: bold">
</
p>
</
form>
?>



Die Textarea wird übernommen, der Betreff leider nicht.
In der Kontakt.php habe ich dieses Feld:

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 

<select size="1" name="betreff">
<option value="kein Betreff"<?= $sel_7;?>>kein Betreff</option>    
<option value="an die Schule"<?= $sel_1;?>>an die Schule</option>
<option value="an das Heim"<?= $sel_2;?>>an das Heim</option>
<option value="an die Verwaltung"<?= $sel_3;?>>an die Verwaltung</option>
<option value="an die Bibliothek"<?= $sel_4;?>>an die Bibliothek</option>
<option value="Bestellung Kunstührer"<?= $sel_5;?>>Bestellung Kunstführer</option>
<option value="Bestellung Jahresbericht"<?= $sel_6;?>>Bestellung Jahresbericht</option>
<option selected value="kein Betreff">kein Betreff</option>
</select>


geschrieben von werny am 31.03.2008 - 21:28
Hey Leute,

leider konnte mir noch keiner weiterhelfen.
Ich kann immer noch nicht den Betreff an das Dropdown-Feld "übergeben":

http://www.werny.it/test/

Wer kann mir da helfen?

Danke!

geschrieben von werny am 31.03.2008 - 21:36
Hey Leute,

das Problem besteht leider immer noch.
Ich möchte gerne Betreffs und Textarea-Inhalte an das Kontaktformular "übergeben".

http://www.werny.it/test/

Wer kann mir da weiterhelfen?

Quellcode der Datei die "übergibt":
PHP-Quelltext
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: 

<?
<html>
<
head>
</
head>
<
body>
<
table border="0">
  <
tr>
    <
td width="698" height="27" colspan="2"></td>
  </
tr>
  <
tr>
    <
td width="206" valign="top">
      <
table border="0" width="100" cellspacing="0" cellpadding="0">
        <
tr>
          <
td width="50%">&nbsp;</td>
          <
td width="50%"></td>
        </
tr>
      </
table>
    </
td>
    <
td width="490" valign="top">
      <
class="ueberschrift">Kunstführer
      
<p align="justify" class="normal"><br>
      <
br>
 <
a href="kontakt.php"</a>
    <
form action="kontakt.php" method="POST">
<
p>
<
input type="hidden" name="nachricht" value="Ich bestelle hiermit ein Exemplar der Publikation &#8222;Religiöse und kulturelle Stätten. ">
<
input type="hidden" name="betreff" value="Bestellung Kunstführer">
<
INPUT TYPE=submit NAME="add" VALUE="zur Online-Bestellung" style="font-size: 8pt; font-weight: bold">
</
p>
</
form>
      </
a>
    </
td>
  </
tr>
  <
tr>
    <
td width="696" valign="top" colspan="2">
      <
br>
    </
td>
  </
tr>
</
table>
</
body>
</
html>
?>




Quellcode der PHP-Datei die "empfängt":
PHP-Quelltext
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: 

<html>
<head>
</head>
<body>
<table border="0" width="704" cellspacing="0" cellpadding="0">
  <tr>
    <td width="532" height="27" colspan="2"></td>
  </tr>
  <tr>
    <td width="224" valign="top">
      <table border="0" width="150" cellspacing="0" cellpadding="0">
        <tr>
          <td></td>
        </tr>
      </table>
    </td>
    <td width="474" valign="top">
      <table border="0" width="490" cellspacing="0" cellpadding="0" height="32">
        <tr>
          <td width="482" height="32" valign="top">
                   </tr>
              

<?php
if ($_POST['delete'])
{
unset(
$_POST);
}

// Übernahme der Daten aus den Formular
if ($_POST["sendKontakt"]) {

// Variablen der Datenfelder
   
$vorname   $_POST["vorname"];
   
$name   $_POST["name"];
   
$email      $_POST["email"];
   
$betreff      $_POST["betreff"];
   
$nachricht   $_POST["nachricht"];
   
$date strftime("%d.%m.%Y");

switch(
$_POST['betreff'])
    {
        case 
"an die Schule":                            $sel_1 'selected';    break;
        case 
"an das Heim":                             $sel_2 'selected';    break;
        case 
"an die Verwaltung":                    $sel_3 'selected';    break;
        case 
"an die Bibliothek":                    $sel_4 'selected';     break;
        case 
"Bestellung Kunstührer":            $sel_5 'selected';     break;
        case 
"Bestellung Jahresbericht":    $sel_6 'selected';     break;
        default: 
$sel_7 'selected';     break;
    }

if(
$betreff == "an das Heim") {
        
$empfaenger "info@werny.it";
    }
else if (
$betreff == "an die Verwaltung") {
        
$empfaenger "info@werny.it";
    }
else { 
$empfaenger "werny@werny.it";
    }

?>
<p class="normal">
<?

// Kopf der E-Mail
   
$recipient $empfaenger;
   
$subject "Kontakformular über die Homepage"// Betreff der Nachricht
   
$mailheaders "From: \"".stripslashes($_POST["vorname"])." ".stripslashes($_POST["name"])."\" <".$_POST["email"].">\n";
   
$mailheaders .= "Reply-To: <".$_POST["email"].">\n";
   
$mailheaders .= "X-Mailer: PHP/" phpversion();

// Darstellung der E-Mail
   
$msg  "Kontaktformular vom "$date ":\n" "-------------------------------------------------------------------------\n\n";
   
$msg .= "Betreff/Empfänger: " $betreff "\n\n";
   
$msg .= "Vorname: " $vorname "\n";
   
$msg .= "Nachname: " $name "\n";
   
$msg .= "E-Mail: " $email "\n";
   
$msg .= "\n\n-------------------------------------------------------------------------\nNachricht:\n" $nachricht "\n\n";

   
$msg strip_tags (stripslashes ($msg));


if (@
mail($recipient,$subject,$msg,$mailheaders)) {
   
// Text wenn E-Mail versendet wurde,
      
print '<b>Herzlichen Dank!</b><br><br>
    <br><br>'
;

?>
</table>
</body>
</html>

<?

   
exit;
}
}
}

?>

 <p class="ueberschrift">Kontaktformular</p>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post" NAME="formular" />
<input style="width:0px; height:0px; visibility:hidden;" type="hidden" name="action" value="smail" />
<input style="width:0px; height:0px; visibility:hidden;" type="hidden" name="content" value="formular"/>
<table style="color: #000000;" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td class="normal" colspan="2">
      <hr size="1" color="#000080">
    </td>
  </tr>
    <td class="normal"><b>Vorname: *</b></td>
    <td><input type="text" name="vorname" id="sender" size="48" value="<?=htmlentities(stripslashes($_POST["vorname"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
  <tr>
    <td class="normal"><b>Name: *</b></td>
    <td><input type="text" name="name" size="48" value="<?=htmlentities(stripslashes($_POST["name"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
    <tr>
    <td class="normal"><b>E-Mail-Adresse: *</b></td>
    <td><input type="text" name="email" size="48" value="<?=htmlentities(stripslashes($_POST["email"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
    <tr>
    <td class="normal"><b>Betreff: </b></td>
    <td><select size="1" name="betreff">
<option value="kein Betreff"<?= $sel_7;?>>kein Betreff</option>    
<option value="an die Schule"<?= $sel_1;?>>an die Schule</option>
<option value="an das Heim"<?= $sel_2;?>>an das Heim</option>
<option value="an die Verwaltung"<?= $sel_3;?>>an die Verwaltung</option>
<option value="an die Bibliothek"<?= $sel_4;?>>an die Bibliothek</option>
<option value="Bestellung Kunstührer"<?= $sel_5;?>>Bestellung Kunstführer</option>
<option value="Bestellung Jahresbericht"<?= $sel_6;?>>Bestellung Jahresbericht</option>
<option selected value="kein Betreff">kein Betreff</option>
</select>
</td>
  </tr>
      <td class="normal"><b>Nachricht:</b></td>
    <td><textarea name="nachricht" id="message" rows="9" cols="37"><?=htmlentities(stripslashes($_POST["nachricht"]), ENT_QUOTES'ISO-8859-1');?></textarea></td>
  </tr>
  <tr>
  <td colspan="2"><hr size="1" color="#000080"></td>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
  <tr>
    <td align="right" colspan="2"><input type="submit" name="sendKontakt" value="Absenden" style="font-size: 8pt; background-color: #A17300; color: #FFFFFF; font-family: Verdana; font-weight: bold; border-style: solid; border-color: #FFFFFF" /><input type="submit" name="delete" value="L&ouml;schen" style="font-size: 8pt; background-color: #A17300; color: #FFFFFF; font-family: Verdana; font-weight: bold; border-style: solid; border-color: #FFFFFF"/></td>
  </tr>
</table>
</body>
</html>


geschrieben von Klaush am 31.03.2008 - 23:05
Der Code war etwas unsauber. Eine Blockklammer war zuviel, dann hattest du die switch - Anweisung in der falschen if - Anweisung verschachtelt, dass ist auch der Grund warum er dir das entsprechende Selectfeld nicht selected hat. Dann war noch eine <option> zuviel.

Der gesamte Code siehe Box:

PHP-Quelltext
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: 

<html>
<head>
</head>
<body>
<table border="0" width="704" cellspacing="0" cellpadding="0">
  <tr>
    <td width="532" height="27" colspan="2"></td>
  </tr>
  <tr>
    <td width="224" valign="top">
      <table border="0" width="150" cellspacing="0" cellpadding="0">
        <tr>
          <td></td>
        </tr>
      </table>
    </td>
    <td width="474" valign="top">
      <table border="0" width="490" cellspacing="0" cellpadding="0" height="32">
        <tr>
          <td width="482" height="32" valign="top">
                   </tr>
              

<?php
if (!empty($_POST['delete']))
    unset(
$_POST);

// wenn Betreff nicht leer, dann rein    
if (!empty($_POST['betreff']))
{
    
// entsprechendes Selectfeld suchen und Variable belegen und dann im Formular entsprechend setzen
    
switch($_POST['betreff'])
  {
        case 
"an die Schule":             $sel_1 'selected';    break;
        case 
"an das Heim":               $sel_2 'selected';    break;
        case 
"an die Verwaltung":         $sel_3 'selected';    break;
        case 
"an die Bibliothek":         $sel_4 'selected';     break;
        case 
"Bestellung Kunstführer":     $sel_5 'selected';     break;
        case 
"Bestellung Jahresbericht":  $sel_6 'selected';     break;
        default: 
$sel_7 'selected';     break;
  }
}
    
// Übernahme der Daten aus den Formular
if ($_POST["sendKontakt"]) 
{    
    
// Variablen der Datenfelder
  
$vorname   $_POST["vorname"];
  
$name   $_POST["name"];
  
$email      $_POST["email"];
  
$betreff      $_POST["betreff"];
  
$nachricht   $_POST["nachricht"];
  
$date strftime("%d.%m.%Y");

    if(
$betreff == "an das Heim" OR $betreff == "an die Verwaltung"
    
$empfaenger "info@werny.it";
    else 
        
$empfaenger "werny@werny.it";

?>
<p class="normal">
<?

    
// Kopf der E-Mail
  
$recipient $empfaenger;
  
$subject "Kontakformular über die Homepage"// Betreff der Nachricht
  
$mailheaders "From: \"".stripslashes($_POST["vorname"])." ".stripslashes($_POST["name"])."\" <".$_POST["email"].">\n";
  
$mailheaders .= "Reply-To: <".$_POST["email"].">\n";
  
$mailheaders .= "X-Mailer: PHP/" phpversion();

    
// Darstellung der E-Mail
  
$msg  "Kontaktformular vom "$date ":\n" "-------------------------------------------------------------------------\n\n";
  
$msg .= "Betreff/Empfänger: " $betreff "\n\n";
  
$msg .= "Vorname: " $vorname "\n";
  
$msg .= "Nachname: " $name "\n";
  
$msg .= "E-Mail: " $email "\n";
  
$msg .= "\n\n-------------------------------------------------------------------------\nNachricht:\n" $nachricht "\n\n";

  
$msg strip_tags (stripslashes ($msg));
    
    if (@
mail($recipient,$subject,$msg,$mailheaders)) 
    {
        
// Text wenn E-Mail versendet wurde,
    
print '<b>Herzlichen Dank!</b><br><br><br><br>';
?>
</table>
</body>
</html>

<? 
   
exit;
    } 
// ende --> if (@mail) 
// ende --> if ($_POST["sendKontakt"])
?>

<p class="ueberschrift">Kontaktformular</p>
<form action="" method="post" NAME="formular" />
<input style="width:0px; height:0px; visibility:hidden;" type="hidden" name="action" value="smail" />
<input style="width:0px; height:0px; visibility:hidden;" type="hidden" name="content" value="formular"/>
<table style="color: #000000;" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td class="normal" colspan="2">
      <hr size="1" color="#000080">
    </td>
  </tr>
    <td class="normal"><b>Vorname: *</b></td>
    <td><input type="text" name="vorname" id="sender" size="48" value="<?=htmlentities(stripslashes($_POST["vorname"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
  <tr>
    <td class="normal"><b>Name: *</b></td>
    <td><input type="text" name="name" size="48" value="<?=htmlentities(stripslashes($_POST["name"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
    <tr>
    <td class="normal"><b>E-Mail-Adresse: *</b></td>
    <td><input type="text" name="email" size="48" value="<?=htmlentities(stripslashes($_POST["email"]), ENT_QUOTES'ISO-8859-1');?>" /></td>
  </tr>
    <tr>
    <td class="normal"><b>Betreff: </b></td>
    <td><select size="1" name="betreff">
<option value="kein Betreff"<?= $sel_7;?>>kein Betreff</option>    
<option value="an die Schule"<?= $sel_1;?>>an die Schule</option>
<option value="an das Heim"<?= $sel_2;?>>an das Heim</option>
<option value="an die Verwaltung"<?= $sel_3;?>>an die Verwaltung</option>
<option value="an die Bibliothek"<?= $sel_4;?>>an die Bibliothek</option>
<option value="Bestellung Kunstührer"<?= $sel_5;?>>Bestellung Kunstführer</option>
<option value="Bestellung Jahresbericht"<?= $sel_6;?>>Bestellung Jahresbericht</option>
</select>
</td>
  </tr>
      <td class="normal"><b>Nachricht:</b></td>
    <td><textarea name="nachricht" id="message" rows="9" cols="37"><?=htmlentities(stripslashes($_POST["nachricht"]), ENT_QUOTES'ISO-8859-1');?></textarea></td>
  </tr>
  <tr>
  <td colspan="2"><hr size="1" color="#000080"></td>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
  <tr>
    <td align="right" colspan="2"><input type="submit" name="sendKontakt" value="Absenden" style="font-size: 8pt; background-color: #A17300; color: #FFFFFF; font-family: Verdana; font-weight: bold; border-style: solid; border-color: #FFFFFF" />
        <input type="submit" name="delete" value="L&ouml;schen" style="font-size: 8pt; background-color: #A17300; color: #FFFFFF; font-family: Verdana; font-weight: bold; border-style: solid; border-color: #FFFFFF"/></td>
  </tr>
</table>
</body>
</html>



Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.