Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Parse Error!?

Hallo,

wer kann mir sagen was das bedeutet:

Parse error: parse error
in /mnt/kw2/04/302/00000013/htdocs/send.php on line 9

Es ist eine Fehlermeldung nachdem ich das eMail Formular von HTML auf/bzw. in Verbindung mit PHP gemacht habe.

Die Dateien sind eMail.htm, send.php. und confic.inc.php

Das "send.php"
(<?php
include("config.inc.php");
// Werte abholen
$name                    = $HTTP_POST_VARS["name"];
$mail                   = $HTTP_POST_VARS["mail"];
$Anschrift              = $HTTP_POST_VARS["Anschrift"];
$PLZ                     = $HTTP_POST_VARS["PLZ"];
$Wohnort                   = $HTTP_POST_VARS["Wohnort"];
$Telefon dienstlich        = $HTTP_POST_VARS["Telefon dienstlich"];
$Telefon privat            = $HTTP_POST_VARS["Telefon privat"];
..... usw, usw,

confic.inc.php
(<?php
$url         = ""; // www.unsere Domäne.de
$header         = "Nachricht der Seite".$url; //  Anfrage von der Homepage
$empfaenger      = ""; // [email protected]
?>

in der eMail.htm

(<form name="eMail" method="post" action="send.php">)
liegt hier wieder der Fehler????

Höllenweib


Antworten zu Parse Error!?:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Parse Error bedeutet so viel wie: Du hast Dich orgendwo vertippt oder ähnliches. Meist verursacht durch fehlendes Semikolon am Ende oder eine vergessene ")" bei Klammerausdrücken.

Bei Dir steht in Zeile 9 (und analog 10): $Telefon dienstlich
Allerdings dürfen Variablennamen keine Leerzeichen enthalten. Demzufolge kann das Script dem dienstlich keine Bedeutung zuordnen.

Versuchs doch mit $Telefondienstlich oder der Übersicht halber vielleicht gleich TelDienst o.ä.

Gruß Spawn

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

Unterstriche darfst du auch machen in Variablenbezeichnern, also z.B. $telefon_dienstlich ;)

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo
ich hab es hinbekommen. Also die Mails werden versandt, nur kommt bei mir folgendes an:


[email protected]
Nachricht von der Homepage XXXXXXXX

 Name:  
 Email:  
 Anschrift:  
 PLZ:  
 Wohnort:  
 Nachricht

Warum steht da jetzt nicht mein Text, die eMail-addy und diese kommische "postmaster-Addy"?

Wie bekomm ich das noch hin?

Höllenweib

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Kommt ganz darauf an, was du der mail()-Funktion zum Senden mit auf den Weg gibst. Poste am Besten mal den ganzen Quellcode der send.php.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo JoSsiF

hier mal der gesamte Quelltext der send.php:

<?php
include("config.inc.php");
// Werte abholen
$name                    = $HTTP_POST_VARS["name"];
$mail                   = $HTTP_POST_VARS["mail"];
$Anschrift              = $HTTP_POST_VARS["Anschrift"];
$PLZ                     = $HTTP_POST_VARS["PLZ"];
$Wohnort                   = $HTTP_POST_VARS["Wohnort"];
$telefonDienstlich        = $HTTP_POST_VARS["Telefon dienstlich"];
$telefonPrivat            = $HTTP_POST_VARS["Telefon privat"];
$nachricht               = $HTTP_POST_VARS["nachricht"];


// Nachricht

$email               = " Name: $name \n Email: $mail \n Anschrift: $Anschrift \n PLZ: $PLZ \n Wohnort: $Wohnort \n Nachricht: $nachricht ";  //

?>
<table width="26%">
<tr>
<td width="84%"><p align="left">Name:</p></td>
<td width="16%"><p align="center"><b><?php echo $name ?></b></p></td>
</tr>
<tr>
<td width="84%"><p align="left">mail:</p></td>
<td width="16%"><p align="center"><b><?php echo $mail ?></b></p></td>
</tr>
<td width="84%"><p align="left">Anschrift:</p></td>
<td width="16%"><p align="center"><b><?php echo $Anschrift ?></b></p></td>
</tr>
<td width="84%"><p align="left">PLZ:</p></td>
<td width="16%"><p align="center"><b><?php echo $PLZ ?></b></p></td>
</tr>
<td width="84%"><p align="left">Wohnort:</p></td>
<td width="16%"><p align="center"><b><?php echo $Wohnort ?></b></p></td>
</tr>
<td width="84%"><p align="left">Telefon dienstlich:</p></td>
<td width="16%"><p align="center"><b><?php echo $telefonDienstlich ?></b></p></td>
</tr>
<td width="84%"><p align="left">Telefon privat:</p></td>
<td width="16%"><p align="center"><b><?php echo $telefonPrivat ?></b></p></td>
</tr>
<tr>
<td width="84%"><p align="left">Nachricht:</p></td>
<td width="16%"><p align="center"><b><?php echo $nachricht ?></b></p></td>
</tr>
<tr>
<td colspan="2">
<h4><p align="center"><?php
if(mail($empfaenger, $nachricht, $mail, $header)) echo "Ihre Anfrage wurde an uns weitergeleitet, und wird so schnell wie möglich bearbeitet.";
else echo "Fehler beim Versenden der E-Mail.";
?></p></h4>
</td>
</tr>
</table>

Ich bekomm langsam das Zweifeln......

Höllenweib

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

Bei dieser Anweisung hier

mail($empfaenger, $nachricht, $mail, $header)ist was schiefgelaufen.

Und zwar lautet die Parameterfolge für die mail()-Funktion so:
1. Empfängeradresse
2. Betreff
3. Nachricht
4. Header
5. ... lassen wir mal außen vor ;)

Heißt also: deine Variable $nachricht müsste an dritter (nicht an zweiter) Position in der mail()-Funktion kommen, und vorher noch irgendwie eine Betreff-Zeile (die du ja auch selber definieren kannst).
Deine Variable $mail könnte und sollte man in der Header-Information unterbringen.

Übrigens: das, was du in deiner config.inc.php als $header definiert hast und auch als solchen übergibst, hat nichts mit einem Header, wie er hier erwartet wird, zu tun (du hast das sicher für den Betreff gehalten).

Das, was du als Header verschicken müsstest, könnte beispielsweise so aussehen:
$header = "Reply-To: $mail\r\n"
    ."X-Mailer: PHP/" . phpversion();

Achtung: diese Codezeile kannst du aber erst in der send.php einbauen, und auch erst dann, nachdem du $mail einen Wert zugewiesen hast (was ja in den ersten Zeilen passiert).

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo JoSsiF,
vielen, vielen Dank das Du mir hier hilfst.....

Hi |

Bei dieser Anweisung hier
mail($empfaenger, $nachricht, $mail, $header)ist was schiefgelaufen.

Und zwar lautet die Parameterfolge für die mail()-Funktion so:
1. Empfängeradresse
2. Betreff
3. Nachricht
4. Header
5. ... lassen wir mal außen vor ;)

Das habe ich so geändert wie oben angegeben.

Zitat
Heißt also: deine Variable $nachricht müsste an dritter (nicht an zweiter) Position in der mail()-Funktion kommen, und vorher noch irgendwie eine Betreff-Zeile (die du ja auch selber definieren kannst).
Deine Variable $mail könnte und sollte man in der Header-Information unterbringen.

Übrigens: das, was du in deiner config.inc.php als $header definiert hast und auch als solchen übergibst, hat nichts mit einem Header, wie er hier erwartet wird, zu tun (du hast das sicher für den Betreff gehalten).

ja habe ich  ???

Zitat
Das, was du als Header verschicken müsstest, könnte beispielsweise so aussehen:
$header = "Reply-To: $mail\r\n"
    ."X-Mailer: PHP/" . phpversion();

Nach Einfügen dieses Codes habe ich eine neue Parse-Error-Fehlermeldung in der Zeile 51 erhalten. Habe da sicher was flasch gemacht.

Zitat
Achtung: diese Codezeile kannst du aber erst in der send.php einbauen, und auch erst dann, nachdem du $mail einen Wert zugewiesen hast (was ja in den ersten Zeilen passiert).

Was meinst Du mit $mail-Wert. Wie muss das aussehen?

Danke für Deine Hilfe
Höllenweib

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Die Variable $mail wird hier

$mail                  = $HTTP_POST_VARS["mail"];initialisiert, d.h. es wird ihr ein Wert zugewiesen. Folglich sollte $header erst dann einen Wert erhalten, nachdem $mail einen Wert hat (weil ja $mail einmal Bestandteil von $header sein wird).

Poste mal die Fehlermeldung bitte, und gleich noch die betreffende Zeil 51 dazu.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo JoSsiF,

schau mal:

if(mail($empfaenger, $betreff,$nachricht, $header = "Reply-To: $mail\r\n"
."X-Mailer: PHP/" . phpversion)) echo "Ihre Anfrage wurde an uns weitergeleitet, und wird so schnell wie möglich bearbeitet.";
else echo "Fehler beim Versenden der E-Mail.";

die eMail wird gesendet, jedoch steht nix drin.
Wie muss es aussehen mit meinen Angaben?

Höllenweib

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Kann eigentlich keinen Fehler entdecken.
Dieser Ausdruck

$header = "Reply-To: $mail\r\n"
."X-Mailer: PHP/" . phpversion
war eigentlich so gedacht, dass er allein steht, d.h. irgendwo vor der mail()-Funktion auftaucht, und am Ende in der mail()-Funktion nur noch der Parameter $mail übergeben wird.

Aber ansonsten passt die Zeile. Steht denn ich $nachricht was drin?
Lass dir den Inhalt von $nachricht doch nach dem Senden mit einem echo mal ausgeben.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi,

etwa so JoSsiF:

$header = "Reply-To: $mail\r\n"
."X-Mailer: PHP/" . phpversion
if(mail($empfaenger, $betreff, $mail)) echo "Ihre Anfrage wurde an uns weitergeleitet, und wird so schnell wie möglich bearbeitet.";
else echo "Fehler beim Versenden der E-Mail.";

Aber da mäckert er in Zeile 52:
Parse error: parse error in /mnt/kw2/04/302/00000013/htdocs/send.php on line 52

Irgendwiesoll es heute nicht mehr sein. Ich würde es gern auf morgen vertagen, wenn Du mir noch helfen möchtest.

Höllenweib

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Erstmal richtig.
In der mail()-Funktion fehlt aber nun der 4. Parameter (nämlich $header).

Wäre schön, wenn du den gesamten Fehlertext der Parse Errors und auch die jeweilige Quelltextzeile immer dazuschreibst, denn was Zeile 52 ist, weiß ich leider nicht so genau ;)

Gegen das Vertagen auf morgen hab ich ganz und gar nichts einzuwenden :D
Bis morgen dann!

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

SUPPPAAAAA,

das Header-Element habe ich jetzt noch dazu geschrieben.

Also bis morgen und gute Nacht

Höllenweib

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Erstmal richtig.
In der mail()-Funktion fehlt aber nun der 4. Parameter (nämlich $header).

Wäre schön, wenn du den gesamten Fehlertext der Parse Errors und auch die jeweilige Quelltextzeile immer dazuschreibst, denn was Zeile 52 ist, weiß ich leider nicht so genau ;)

Parse error: parse error in /mnt/kw2/04/302/00000013/htdocs/send.php on line 49

Z 46: <?php
Z 47:  $header = "Reply-To: $mail\r\n"
Z 48:  ."X-Mailer: PHP/" . phpversion
Z 49: if(mail($empfaenger, $betreff, $nachricht, $header)) echo "Ihre Anfrage wurde an uns eitergeleitet, und wird so schnell wie möglich earbeitet.";
Z 50: else echo "Fehler beim Versenden der E-Mail.";
?></p></h4>


Bis morgen

« PHP: formatieren einer mit include eingebundenen .txtCounter bei Word einfügen ??? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
HTML
HTML steht für Hyper Text Markup Language, ist die Sprache, mit der Internetseiten kodiert werden. Es handelt sich dabei um ASCII Text, in den die HTML Befehle einge...

XHTML
Die Extensible Hypertext Markup Language, kurz XHTML, ist eine textbasierte Auszeichnungssprache zur semantischen Auszeichnung von Bildern, Texten und Hyperlinks in Dokum...

PHP
PHP steht für Personal Home Page und ist eine Skriptsprache die meist verwendet wird zur dynamischen Erzeugen von Internetseiten. PHP zeichnet sich durch die weite D...