WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [PHP] Ich bin ein PHP-Newbie und finde leider den Fhler nicht. (http://www.wcm.at/forum/showthread.php?t=163278)

cenus 10.04.2005 05:18

[PHP] Ich bin ein PHP-Newbie und finde leider den Fhler nicht.
 
Ich habe hier einen simplen fertigen Code genommen, nur ich gekomme immer die nachstehende Fehlermeldung:

PHP-Code:

<?
// 4.0.6 fallback code:
if (!isset($_SERVER)) { $_POST =& $HTTP_POST_VARS$_SERVER =& $HTTP_SERVER_VARS; }

if(isset(
$_POST['submit'])) {
    
// Nachricht schicken, wenn Senden gedrückt wurde
           
    
if(mail ($To,$Subject,$Body,"From: webmaster@$_SERVER['SERVER_NAME']")) {
    echo 
"Mail gesendet!";
    } else {
        echo 
"Error!";
    }
}
?>

<html>
<body>

<form action="<? echo $PHP_SELF?>" method=post>
<table>
    <tr><td>An:</td><td><input name="To" type="text"></td></tr>
    <tr><td>Subject:</td><td><input name="Subject" type="text"></td></tr>
    <tr><td>Nachricht:</td><td><textarea name="Body"></textarea></td></tr>
    <tr><td></td><td><input type="submit" name="submit"
    value="Senden"></td></tr>
</table>
</form>

</body>
</html>

Und ich bekomme immer diese Fehlermeldung:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in www/home/mytestform.php on line 8
Das ist die Zeile mit dem "If (mail ...."

Was ist da falsch? Wer kann helfen?

pong 10.04.2005 08:42

Sei doch mal so gut und mache bitte den Code lesbar

pong

cenus 10.04.2005 10:39

@pong

Was meinst mit lesbar machen?

T.dot 10.04.2005 10:44

schau dir mal deinen Funktionsaufruf an:

mail ($To,$Subject,$Body,"From: webmaster@$_SERVER['SERVER_NAME']")

Hier hats wohl sehr sicher was mit dem
"From: webmaster@$_SERVER['SERVER_NAME']"

1. wirst du die einfachen Anführungszeichen escapen müssen dh. mit \' schreiben.
Außerdem verwendet du SERVER_NAME. Soll das eine Variable sein? Falls ja, dann fehlt das $ Zeichen davor.

2. wenns das nicht war:
schreib statt
"From: webmaster@$_SERVER['SERVER_NAME']"
"From: webmaster@deinwirklicherservername.at"
dh. schreib die e-mail adresse mal wirklich rein.

3. dann kannst du noch gleich das ganze "from: " zeugs weglassen.

4. in deinen Code-Zeilen wird $To, $Subject und $Body nirgends zugewießen, aber ich hoffe das machst du irgendwo anders.

viel Spaß, T.

Potassium 10.04.2005 11:18

PHP-Code:

"From: webmaster@".$_SERVER['SERVER_NAME'

so müsste es gehen.

pong 10.04.2005 13:22

Zitat:

Original geschrieben von cenus
@pong

Was meinst mit lesbar machen?

Zeilenabstände, einrücken, Spaces nach Kommas, Klammern dort setzen wo sie hingehören

pong

cenus 10.04.2005 21:40

Danke für eure Hilfe. Besonderer Dank geht an T.dot, der als erster den richtigen Tipp gab.

T.dot 10.04.2005 22:02

ich denk aber, dass der von Potassium brauchbarer war (hätt ich auch draufkommen müssen) ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag