4k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von nafasi3 Einsteiger_in (53 Punkte)
Hallo, bin ja schon mit meinem Kontaktformular ein gutes Stück weiter gekommen. Aber mein Test-Kontaktformular kam bei meiner Email-Adresse nicht an.

Es kam die Bestätigung, dass ich das Kontaktformular abgeschickt habe und gleichzeitig dann diese Meldung:

Parse error: syntax error, unexpected ']' in /mnt/web5/53/11/51042811/htdocs/side/seiten/formmail.php on line 17

Was kann ich tun?
Gruß
nafasi3

12 Antworten

0 Punkte
Beantwortet von
den Quellcode posten - insbesondere Zeile 17, in der ein unrewartetes ] auftaucht

oder einen funktionierdes Skript nehmen wie dies bei SelfHTML
0 Punkte
Beantwortet von nafasi3 Einsteiger_in (53 Punkte)
Hallo, danke die ] in Zeile 17 hat die Fehlermeldung verursacht.

Jetzt kann ich senden und empfange auch die Mails aus dem Kontaktformular aber:

Name
Vorname
Telefonnummer kommt richtig,

Email
Strasse etc. kommt <strasse>

obwohl das für meinen Blick nichts anderes ist als bei Name und Vorname.

Gruß
nafasi3
0 Punkte
Beantwortet von
den Quellcode posten
0 Punkte
Beantwortet von nafasi3 Einsteiger_in (53 Punkte)
Hallo, das ist der Quellcode für meine Kontaktformular.
Was kann ich verbessern, damit alle Felder mit dem entsprechenden Text per Email bei mir ankommen?

Gruß
nafasi3

<form action="formmail.php" method="post" name="form1">
<input name="recipient" type="hidden" id="recipient" value="info@angekommen-in-side.de">
<input name="access" type="hidden" id="access" value="prinzing" />
<input name="subject" type="hidden" id="subject" value="kontaktformular">
<table width="550" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="200" height="24" valign="top"><div align="left"> Name </div></td>
<td><label></label> <label>
<input name="name" type="text" id="name" size="50" />

*</label></td>
</tr>
<tr>
<td width="200" height="30" valign="top"><div align="left">Vorname</div></td>
<td><label>
<input name="vorname" type="text" id="vorname" size="50" />
</label> </td>
</tr>
<tr>
<td width="200" height="30" valign="top"><div align="left">Strasse und Hausnummer</div></td>
<td><label>
<input name="strasse" type="text" id="strasse" size="50" />
</label> </td>
</tr>
<tr>

<td width="200" height="30" valign="top"><div align="left">PLZ und Ort</div></td>
<td><label>
<input name="plz" type="text" id="plz" size="50" />
</label> </td>
</tr>
<tr>
<td width="200" height="30" valign="top"><div align="left">Land</div></td>

<td><label>
<input name="land" type="text" id="land" size="50" />
</label> </td>
</tr>

<tr>
<td width="200" height="30" valign="top"><div align="left">Telefon</div></td>
<td><label>

<input name="telefon" type="text" id="telefon" size="50" />
</label> </td>
</tr>
<tr>
<td width="200" height="30" valign="top"><div align="left">Email</div></td>
<td><label>
<input name="email" type="text" id="email" size="50" />
</label>
* </td>
</tr>
<tr>
<td width="200" height="120" valign="top"><div align="left">Mitteilung</div></td>
<td><label>
<textarea name="mitteilung" cols="40" id="mitteilung"></textarea>
</label> </td>
</tr>

<tr>
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Bitte poste die aktuellste formmail.php
0 Punkte
Beantwortet von
der Quellcode ist zwar aus HTML-Sicht deutlich verbesserungswürdig (sämtliche divs und labels sind hier unsinnig!), mit deinem Problem hat aber HTML weniger zu tun. Also poste gefälligst den gesamten relevanten Code (nicht mal das HTML ist vollständig)!
0 Punkte
Beantwortet von nafasi3 Einsteiger_in (53 Punkte)
Hallo, sei nicht so streng, das ist mein erstes Kontaktformular in meinem Leben!!!

Hier der Quellcode vom Kontaktformular und im Anschluß php. Diese Auswahl an Personen (1 - 5 Personen) ist mir nicht so wichtig, geht aber auch nicht, weil ich nicht weiß wie ich es im php eintragen soll.

Danke!!!
Gruß
nafasi3

<?php
$fmtnotok= implode("", file("notok.htt"));
$fmtResponse= implode("", file("ok.htt"));
$fmtMail= implode("", file("mail.htt"));
if (empty($_POST["name"])) {
echo $fmtnotok;
} else {
if (empty($_POST["email"])) {
echo $fmtnotok;
} else {
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "prinzing") {
mail($_POST["recipient"], $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
}
}
?>
0 Punkte
Beantwortet von nafasi3 Einsteiger_in (53 Punkte)
Ich muss das aufteilen, sonst komme ich über 10000 Zeichen!

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Side</title>
<link href="../side.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
#apDiv1 {
position:absolute;
left:32px;
top:416px;
width:257px;
height:90px;
z-index:1;
}
#Kontakt {
position:absolute;
left:403px;
top:58px;
width:514px;
height:528px;
z-index:2;
}
-->
</style>

<style type="text/css">
<!--

a:visited {
color: #3399FF;
}
a:active {
color: #FF0033;
}
.Stil1 {font-size: medium}
h1 {
color: #FFFF00;
}
-->
</style>

<link href="file:///C|/Dokumente und Einstellungen/Thekla und Alexander/Eigene Dateien/side.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
#apDiv2 {
position:absolute;
left:220px;
top:823px;
width:103px;
height:25px;
z-index:1;
clip: rect(700,auto,auto,600);
overflow: auto;
}
-->
</style>
<link href="../side/side.css" rel="stylesheet" type="text/css" />

<style type="text/css">
<!--
.Stil2 {font-size: 14px}
-->
</style>

<link href="side.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
body {
background-color: #ffff99;
}
-->
</style></head>

<body>
<div id="apDiv2">* Pflichtfelder</div>

<div align="center"></div>
<table width="909" height="55" border="1" cellpadding="0" cellspacing="0">
<caption>&nbsp;
</caption>

<tr>
<th width="89" scope="col"><div align="center"><a href="../index.html">Home</a></div></th>
<th width="89" scope="col"><div align="center"><a href="info.html">Info</a></div></th>
<th width="89" scope="col"><div align="center"><a href="wohnzimmer.html">Rundgang</a></div></th>
<th width="89" scope="col"><div align="center"><a href="preis.html">Preise</a></div></th>
<th width="89" scope="col"><div align="center"><a href="kontakt1.html">Kontakt</a></div></th>

<th width="91" scope="col"><div align="center"><a href="impressum.html">Impressum</a></div></th>
<th width="91" scope="col"><a href="links.html">Links</a></th>
</tr>
</table>
<p>&nbsp;</p>
<p align="center">Bitte füllen Sie das Formular aus, wir werden uns so schnell wie möglich mit Ihnen in Verbindung setzen.</p>
<p align="center"><a href="mailto:info@angekommen-in-side.de">info@angekommen in side.de</a></p>
<table width="558" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="554"><div align="center">
<h1>Kontakt</h1>

</div></td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table width="550" border="1" align="center" cellpadding="0" cellspacing="0"><tr><td height="527">
<td>
<form action="formmail.php" method="post" name="form1">
<input name="recipient" type="hidden" id="recipient" value="info@angekommen-in-side.de">
<input name="access" type="hidden" id="access" value="prinzing" />
<input name="subject" type="hidden" id="subject" value="kontaktformular">
<table width="550" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="200" height="24" valign="top"><div align="left"> Name </div></td>
<td><label></label> <label>
<input name="name" type="text" id="name" size="50" />

*</label></td>
</tr>
<tr>
<td width="200" height="30" valign="top"><div align="left">Vorname</div></td>
<td><label>
<input name="vorname" type="text" id="vorname" size="50" />
</label> </td>
</tr>
<tr>
<td width="200" height="30" valign="top"><div align="left">Strasse und Hausnummer</div></td>
<td><label>
<input name="strasse" type="text" id="strasse" size="50" />
</label> </td>
</tr>
<tr>

<td width="200" height="30" valign="top"><div align="left">PLZ und Ort</div></td>
<td><label>
<input name="plz" type="text" id="plz" size="50" />
</label> </td>
</tr>
<tr>
<td width="200" height="30" valign="top"><div align="left">Land</div></td>

<td><label>
<input name="land" type="text" id="land" size="50" />
</label> </td>
</tr>

<tr>
<td width="200" height="30" valign="top"><div align="left">Telefon</div></td>
<td><label>

<input name="telefon" type="text" id="telefon" size="50" />
</label> </td>
</tr>
<tr>
<td width="200" height="30" valign="top"><div align="left">Email</div></td>
<td><label>
<input name="email" type="text" id=
0 Punkte
Beantwortet von nafasi3 Einsteiger_in (53 Punkte)
<tr>
<td width="200" height="30" valign="top"><div align="left">
<label></label>
Anzahl Personen </div></td>
<td><label></label>
<label></label>
<p>
<label>

<input type="radio" name="Personen" value="1 Person" id="Personen_0" />
1 Person</label>
<br />
<label>
<input type="radio" name="Personen" value="2 Personen" id="Personen_1" />
2 Personen</label>
<br />
<label>

<input type="radio" name="Personen" value="3 Personen" id="Personen_2" />
3 Personen</label>
<br />
<label>
<input type="radio" name="Personen" value="4 Personen" id="Personen_3" />
4 Personen</label>
<br />
<label>

<input type="radio" name="Personen" value="5 Personen" id="Personen_4" />
5 Personen</label>
<br />
</p>
<label> </label> </td>
</tr>
<tr>

<td height="26" valign="top"><input type="submit" name="button" id="button" value="Senden">
<label></div>
</label></td>
<td><label>
<input type="reset" name="button2" id="button2" value="Löschen">
</label></td>
</tr>
</table>
<div>

<div align="center">
<p>Danke für Ihren Besuch auf unserer Internetseite - Tesekkürler<br />
</p>
</div>
</div>
</form></td>
</tr>
</table>
<p>&nbsp;</p>

</body>

</html>
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Folgendes nochmal bitte bestätigen:
[list][*]Du versuchst das ganze mit welchem Browser in welcher Version? Wenn du Felder leer lässt (z.B. "Strasse"), dann ist nicht gesagt, dass diese überhaupt (leer) verschickt werden. Als Folge will dir die jetzige Anzeige damit lediglich sagen "Strasse hab ich nie bekommen - also hab ich es auch gar nicht ersetzt".
[*]Sprechen wir von der Mail, die du bekommst oder der Anzeige nach dem Abschicken des "Kontaktformulars"? Dürfte eigentlich beides dasselbe sein.
[*]Füllst du überhaupt alles aus? (Siehe ersten Punkt) Wenn ja, dann lass etwas leer. Wenn nein, dann füll mal alles aus.[/list]Erst nach Klärung all dieser Punkte machen weitere Schritte überhaupt Sinn. Könnte ich mich aber direkt vor Ort an den Rechner setzen (und hätte damit Zugriff auf alle Dateien) wäre die Lösung sicherlich in 2min längst auf dem Tisch...
...