[GastForen Programmierung/Entwicklung PHP und MySQL Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

wolf67
Beiträge gesamt: 16

20. Sep 2006, 09:31
Beitrag # 1 von 37
Bewertung:
(5385 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe eine "Newsletter-Seite" (Bilder fehlen, ist einstweilen egal):
http://www.wolf-photomedia.de/medien...ewsletter.html


Der Code des Formulares ist folgender:

Code
<form name="Formular" onsubmit="return chkFormular()" action="kontakt.php"> 
<table>
<tr>
<td valign="top">
<div class="text14px">
Name:</div>
</td>
<td width="5">&nbsp;</td>
<td><input type="text" name="Name" size="50"></td>
</tr>
<tr>
<td valign="top">
<div class="text14px">
E-Mail:</div>
</td>
<td width="5">&nbsp;</td>
<td>
<div class="text14px">
<input type="text" name="Mail" size="30">*</div>
</td>
</tr>
<tr>
<td valign="top">
<div class="text14px">
Newsletter</div>
</td>
<td width="5">&nbsp;</td>
<td>
<div class="text14px">
<input type="checkbox" name="bestellung2" value="bestellen" checked> bestellen<br>
<input type="checkbox" name="bestellung" value="abbestellen"> abbestellen<br>
</div>
</td>
</tr>
<tr>
<td colspan="3" height="10"></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
<td><input name="SendenButton" onClick="return EingabenUeberpruefen();" type="submit" value="SENDEN">

<input type="reset" value="ZUR&Uuml;CKSETZEN"></td>
</tr>
</table>
</form>



Die Überprüfung der Felder per Javascript funktioniert.

Jedenfalls bekomme ich das nicht versendet, weil in Zeile 3 der verarbeitenden PHP-Datei ein Fehler ist, den ich nicht ums Verr... finde.

Die PHP-Datei kontakt.php sieht so aus:


Code
<?php  

$admin*=*"b.heinz@wolf-photomedia.de";
$subject*=*"Formular*wurde*ausgefüllt!";

while(list($name,$value)=each($HTTP_POST_VARS))*{
$message.="$name:*$value\n\n";
}

mail($admin,$subject,$message,"From:*$mail");

echo*"Vielen*Dank, Ihre Daten werden bearbeitet."

?>



Der Browser gibt als Fehlermeldung aus, dass in dieser Zeile hier
$admin*=*"b.heinz@wolf-photomedia.de";
ein Fehler ist.

Fehlermeldung:

Parse error: parse error in /home/www/web39/html/medientage/newsletter/kontakt.php on line 3


Hat jemand eine Idee, was ich falsch gemacht habe?

Danke.
Christina

P.S.: ich würde das Ganze ja gerne mit einem fertigen Formmailer machen, aber ich habe nichts gefunden, was ohne Werbung abgeht und kostenfrei ist...
X

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

Intermedia
Beiträge gesamt: 1287

20. Sep 2006, 09:46
Beitrag # 2 von 37
Beitrag ID: #251903
Bewertung:
(5382 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
<?php   

$admin*=*"b.heinz@wolf-photomedia.de";
$subject*=*"Formular*wurde*ausgefüllt!";

while(list($name,$value)=each($HTTP_POST_VARS))*{
$message.="$name:*$value\n\n";
}

mail($admin,$subject,$message,"From:*$mail");

echo*"Vielen*Dank, Ihre Daten werden bearbeitet."
?>


Was sollen denn die komischen "*" da? Das hab ich ja noch nie gesehen.
Lass die doch einfach mal weg und dann sieh weiter.
Wenn du sie benötigst dann innerhalb des String.

Gruß Sven


als Antwort auf: [#251900]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

wolf67
Beiträge gesamt: 16

20. Sep 2006, 09:51
Beitrag # 3 von 37
Beitrag ID: #251904
Bewertung:
(5381 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Keine Ahnung, die Sternchen sind durch das hierein kopieren erst entstanden, in meinem Originalcode sind die nicht drin - hab nur copy/paste gemacht

???


als Antwort auf: [#251903]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

wolf67
Beiträge gesamt: 16

20. Sep 2006, 09:53
Beitrag # 4 von 37
Beitrag ID: #251905
Bewertung:
(5380 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
<?php  

$admin = "b.heinz@wolf-photomedia.de";
$subject = "Formular wurde ausgefüllt!";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}

mail($admin,$subject,$message,"From: $mail");

echo "Vielen Dank, Ihre Daten werden bearbeitet."

?>



als Antwort auf: [#251904]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

Intermedia
Beiträge gesamt: 1287

20. Sep 2006, 09:58
Beitrag # 5 von 37
Beitrag ID: #251911
Bewertung:
(5378 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Habs gerade mal getestet, geht alles müßtest eine Mail bekommen haben. ;-)

Gruß Sven


als Antwort auf: [#251905]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

wolf67
Beiträge gesamt: 16

20. Sep 2006, 10:05
Beitrag # 6 von 37
Beitrag ID: #251915
Bewertung:
(5365 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm, nein, hab ich nicht, die Mailadresse stimmt aber.

Ist dann im Formular ein Fehler?

Was heißt dann aber bei mir der Parse Error ...?

Zeigts bei mir in jedem Browser und auf MAC und auf PC an: immer dieser Parse Error ...


als Antwort auf: [#251911]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

swisscheese
Beiträge gesamt: 387

20. Sep 2006, 10:12
Beitrag # 7 von 37
Beitrag ID: #251919
Bewertung:
(5354 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Probiers mal mit einfachen Anführungszeichen:
Code
$admin = 'b.heinz@wolf-photomedia.de'; 



Gruss swisscheese


als Antwort auf: [#251915]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

swisscheese
Beiträge gesamt: 387

20. Sep 2006, 10:16
Beitrag # 8 von 37
Beitrag ID: #251922
Bewertung:
(5351 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ahja, und noch was: die Sternchen könnten darauf hinweisen, dass die Leerzeichen keine Leerzeichen sondern irgend ein "böses" Steuerzeichen ist, welches durch kopieren des Codes aus einer Website entstanden ist. Bitte überprüf die Datei mal in einem Texteditor (TextWrangler, BBedit oder Codeansicht von Dreamweaver) und lass die Sonderzeichen einblenden. Überschreib ggf. alle potenziellen Leerzeichen mit neuen Leerzeichen.
Gruss swisscheese


als Antwort auf: [#251915]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

Intermedia
Beiträge gesamt: 1287

20. Sep 2006, 10:23
Beitrag # 9 von 37
Beitrag ID: #251926
Bewertung:
(5349 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also deine Fehlermeldung und das Formular haben erstmal nichts miteinander zu tun, das Formular befindet sich im Browser und die php-Datei auf dem Server.

Parse Error kommt vom Server wenn in der php-Datei ein Fehler ist, das kann ein Syntaxfehler sein, das kann aber auch ein anderer Fehler sein.

Da fällt mir glatt noch was auf, die Variable $mail hat keinen Wert, wenn jetzt dein lokaler Server so eingestellt ist, das alle Fehlermeldungen ausgegeben werden, kann das damit zu tun haben.

Zunächst übernimm mal die Werte nicht mit $HTTP_POST_VARS sonder mit $_POST, das ist die neue Variante.



Code
<?php   

$admin="b.heinz@wolf-photomedia.de";
$subject="Formular*wurde*ausgefüllt!";

while(list($name,$value)=each($_POST))*{
$message.="$name: $value\n\n";
}

mail($admin,$subject,$message,"From: $_POST[Mail]");

echo "Vielen Dank, Ihre Daten werden bearbeitet."

?>


Bitte beachte auch die Schreibweise bei deinen Feldern, es wird Groß-/Kleinschreibung unterschieden.

Ich habs mal korrigiert, ist ungetestet.

Gruß Sven


als Antwort auf: [#251915]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

wolf67
Beiträge gesamt: 16

20. Sep 2006, 10:45
Beitrag # 10 von 37
Beitrag ID: #251937
Bewertung:
(5344 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank, jetzt kommt keine Fehlermeldung mehr.

Aber: auch keine Mails!


In der Kontakt.php ist ja angegeben: b.heinz@wolf-photomedia.de, ist richtig, kommt aber nix an.

Kann das "admin" in der php-Datei irgendwas besagen oder sollte das geändert werden?


als Antwort auf: [#251926]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

randy
Beiträge gesamt: 436

20. Sep 2006, 10:49
Beitrag # 11 von 37
Beitrag ID: #251941
Bewertung:
(5342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bitte lies dazu auch noch diesen Thread
http://www.hilfdirselbst.ch/...hindern_P215882.html


als Antwort auf: [#251937]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

wolf67
Beiträge gesamt: 16

20. Sep 2006, 10:52
Beitrag # 12 von 37
Beitrag ID: #251943
Bewertung:
(5340 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm, in dem Thread hab ich nichts gelesen, wo der Fehler liegen kann, dass die Mails nicht ankommen - denn das war meine Frage.


als Antwort auf: [#251941]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

randy
Beiträge gesamt: 436

20. Sep 2006, 11:07
Beitrag # 13 von 37
Beitrag ID: #251948
Bewertung:
(5335 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mir ging es nicht um die Fehler (sorry hätte ich dazu schreiben sollen), mir ging es darum, dass du nicht plötzlich mit Spam zugemüllt wirst.

schreibe mal das an den Anfang deines Scriptes
Code
ini_set ('error_reporting', E_ALL) 


kannst du hinterher auskommentieren, vielleicht hilft es den genauen Fehler zu finden


als Antwort auf: [#251943]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

randy
Beiträge gesamt: 436

20. Sep 2006, 11:13
Beitrag # 14 von 37
Beitrag ID: #251950
Bewertung:
(5326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
probier mal folgendes
Code
$message.="$name: $value\n\n";   
}/* hier ändern */
$header = "FROM: ".$_POST['mail']."\r\n";
mail($admin,$subject,$message,$header);



als Antwort auf: [#251948]

Formular per PHP-Datei versenden -> Parse Error in PHP-Datei

wolf67
Beiträge gesamt: 16

20. Sep 2006, 11:58
Beitrag # 15 von 37
Beitrag ID: #251970
Bewertung:
(5314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich bin am Verzweifeln, jetzt ist der Fehler in line 5, das ist die Zeile, die mit $admin losgeht.

Fehlermeldung:

Parse error: parse error in /home/www/web39/html/medientage/newsletter/kontakt.php on line 5


Die Kontakt.php sieht jetzt nach euren Angaben so aus:


Code
<?php    

ini_set ('error_reporting', E_ALL)

$admin = "b.heinz@wolf-photomedia.de";
$subject = "Formular wurde ausgefüllt!";

while(list($Name,$value)=each($_POST)) {
$message.="$name: $value\n\n";
}/* hier ändern */
$header = "FROM: ".$_POST['mail']."\r\n";
mail($admin,$subject,$message,$header);

?>


Hoffe, ich hab eure Korrekturen richtig gesetzt, von PHP hab ich nämlich keine Ahnung - noch nicht ;-)

Ich weiß nicht, ob das wichtig ist, aber im HTML-Formular heißt das Feld für den Namen "Name" und das für die Mailadresse "Mail" - beides groß geschrieben.
Weiß nicht, was dafür in der PHP-Datei steht und was nur PHP-Syntax ist ...


als Antwort auf: [#251950]
(Dieser Beitrag wurde von wolf67 am 20. Sep 2006, 12:01 geändert)
X