Wieso funktioniert PHP nicht im HTML ?

Gast #3652073
Lesenswert?

Ich habe folgendes PHP script im html Dokument eingebunden:
1
<!DOCTYPE html>
2
<html>
3

4
<head>
5
    <title>Titel</title>
6
    <meta charset="UTF-8">
7
</head>
8

9
<body>
10
    <?php
11
    $empf = "frank_sami@gmail.com";
12
    $betreff = "NeueEmail";
13
    $from = "From: Henrik Fricke <frick@gmail.com>\n";
14
    $from .= "Reply-To: frick@gmail.com \n";
15
    $from .= "Content-Type: text/html\n";
16
    $text = "Das ist eine Email.";
17
    mail($empf, $betreff, $text, $from);
18
  ?>
19
</body>
20

21
</html>

Aber wenn ich die html datei aufrufe, dann stehen da nur die einträge 
wie sie im php drinnen sind. Jedoch nicht eine Fehlermeldung von mail().
In allen Tutorials wird entweder eine Fehlermeldung ausgegeben oder aber 
die Mail wird auch tatsächlich versendet. Bei mir ist es aber so als ob 
php gar nicht existiert, denn ausgegeben wird nichts..
Gast #3652080
Lesenswert?

Wenn ich es also so mache:
1
<!DOCTYPE html>
2
<html>
3

4
<head>
5
    <title>Titel</title>
6
    <meta charset="UTF-8">
7
</head>
8

9
<body>
10
    <form action="kontakt.php" method="post">
11
    <input type="submit" value="Absenden"/>
12
  </form>
13
</body>
14

15
</html>

und kontakt.php:
1
<?php
2
    $empf = "frank_sami@gmail.com";
3
    $betreff = "NeueEmail";
4
    $from = "From: Henrik Fricke <frick@gmail.com>\n";
5
    $from .= "Reply-To: frick@gmail.com \n";
6
    $from .= "Content-Type: text/html\n";
7
    $text = "Das ist eine Email.";
8
    mail($empf, $betreff, $text, $from);
9
  ?>

und alles beim serviceprovider oben wär, dann würde alles glatt gehen?
Gast #3652090
Lesenswert?

Hab ich noch keine Erfahrungen mit gesammelt.
Setz dir einfach nen Apache auf, gibts etliche
Seiten die dich dadurch lenken.

Such einfach mal "Apache php Windows", da solltest du genug finden.

Achte nur drauf, dass du den Apache, wenn du ihn nicht brauchst in
den Windows Diensten zu deaktivieren.
#3652112
Lesenswert?

Franl schrieb:
> Wenn ich es also so mache:
...
> und alles beim serviceprovider oben wär, dann würde alles glatt gehen?

Nein. Die meisten serviceprovider deaktivieren die mail() funktion, weil 
sie das versenden von spam-mails von ihren Servern verhindern wollen. 
Soetwas ist immer riskant, besonders wenn man noch unerfahren ist und 
nicht weiss, wo man keine GET oder POST variabeln ohne überprüfung 
einsetzen darf. (momentan ist der obere code noch sicher)

Als erstes teste ich immer etwas einfaches auf dem server, danach wird 
alles klar:
1
<?php phpinfo(); ?>
Gast #3652128
Lesenswert?

Bei meiner Applikation habe ich ein .htaccess-file erstellt mit 
folgendem Inhalt:

AddType application/x-httpd-php .php .html .htm

Seit da funktionieren auch PHP-Includes in .htm-Dateien. PHP muss 
natürlich vom Server unterstützt werden ;-)
Der Eintrag im .htaccess veranlasst den Server dazu, auch eine .htm oder 
.html-Datei zu parsen und allfälligen PHP-Code auzuführen. 
Standardmässig tut er dies nämlich nicht.
Ob die mail()-Funktion bei Deinem Provider/Server funktioniert, ist 
natürlich eine andere Frage...

Gruss

Fenki
Gast #3652468
Lesenswert?

Wenn die mail() funktion deaktiviert ist, sollte man den provider 
wechseln.
Ein webserver ohne die mail funktion ist eher wertlos.
Jede baruchbare funktioalitaet, sei das ein webshop, irgendwas, 
benoetigt eine mailfunktion zur Bestaetigung.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren