PHP PHP Datei wird nicht ausgeführt

tobi.wld

Lt. Junior Grade
Registriert
Dez. 2020
Beiträge
268
Hallo zusammen,
vorhin habe ich mir mein eigenes HTML/CSS Kontaktformular geschrieben. Es hat auch funktioniert, allerdings wird jetzt nur noch der Text (so als würde ich mir den Quelltext anzeigen lassen) angezeigt.

Weiß jemand wie ich es machen kann dass die PHP-Datei ausgeführt wird und nicht einfach nur angezeigt wenn ich auf Abschicken klicke?
 
Wo öffnest du die PHP-Datei?
Der Server muss PHP unterstützen.
 
  • Gefällt mir
Reaktionen: tobi.wld
meines wissens nach müsstest dir einen lokalen webserver mit php installieren um php skripte lokal auszuführen.


apache mysql und php sollte reichen
 
  • Gefällt mir
Reaktionen: tobi.wld
besseresmorgen schrieb:
Wo öffnest du die PHP-Datei?
In meinem HTML-Code:

HTML:
<div class="contact-form">

        <form class="contact-form" action="contact.php" method="post">

            <input type="text" name="firstname" placeholder="Vorname..." id="firstname">

            <br>

            <input type="text" name="lastname" placeholder="Nachname..." id="lastname">

            <br>

            <input type="text" name="mail" placeholder="E-Mail Adresse..." id="mail">

            <br>

            <input type="text" name="subject" placeholder="Betreff..." id="subject">

            <br>

            <textarea name="message" placeholder="Ihre Nachricht..." id="message"></textarea>

            <br>

            <button type="submit" name="submit" id="submit">Absenden</button>

        </form>

    </div>

besseresmorgen schrieb:
Der Server muss PHP unterstützen.
Sollte er, vorhin hat er mir die Mail zugeschickt, also sollte er es ja unterstützen.
Ergänzung ()

dermatu schrieb:
meines wissens nach müsstest dir einen lokalen webserver mit php installieren um php skripte lokal auszuführen.


apache mysql und php sollte reichen
Möchte Ihn auf meinem Webserver laufen lassen, nicht lokal. Aber danke trotzdem!
 
Und was steht in der contact.php?
 
  • Gefällt mir
Reaktionen: tobi.wld
Mojo1987 schrieb:
Und was steht in der contact.php?

PHP:
<?php
if(isset($_POST['submit'])) {
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $subject = $_POST['subject'];
    $mailFrom = $_POST['mail'];
    $message = $_POST['message'];

    $mailTo = "mail@tobiwldfoto.de";
    $headers = "From: tobiwldfoto.de ".$mailFrom;
    $txt = "Sie haben eine neue Kontaktanfrage auf Ihrer Website:\n\nName: $firstname $lastname\nE-Mail Adresse: $mailFrom\n\nBetreff: $subject\nNachricht: $message";

    mail($mailTo, $subject, $txt, $headers);
    header("Location: contact.html");
}

?>
 
Und genau diese Inhalt siehst du wenn du Absenden Klickst?

Wenn ja dann stimmt was mit deinem Webserver nicht und du musst die Protokolle prüfen.
 
  • Gefällt mir
Reaktionen: KillerCow
tobi.wld schrieb:
allerdings wird jetzt nur noch der Text (so als würde ich mir den Quelltext anzeigen lassen) angezeigt.
Dann weiß der Webserver wohl nicht, dass er die Datei speziell behandeln muss. Anstatt das an den PHP Interpreter zu übergeben, liefert er sie einfach aus. Check deine Apacheconfig und die Logs.
 
  • Gefällt mir
Reaktionen: besseresmorgen
Mojo1987 schrieb:
Wenn ja dann stimmt was mit deinem Webserver nicht und du musst die Protokolle prüfen.
Wie kann ich das machen? Ich habe nur den Zugang über FileZilla
Den Rest mit Strato macht jemand anderes
Ergänzung ()

KillerCow schrieb:
Check deine Apacheconfig und die Logs.
Wie genau kann ich das machen? Geht das in FileZilla?
Und hätte das vorher dann nicht auch nicht funktionieren dürfen, weil da habe ich ja die Mails bekommen und er hat mich wieder zurück auf die contact.html Seite gelotst
 
Wenn der Server vorhin das Script ausgeführt hat und dies nun nicht mehr tut:
Was ist zwischen "vorhin" und jetzt passiert? Arbeitet ggf. die andere Person gerade am Server?

Generell ist der Hinweis von oben einen lokalen Server aufzusetzen (ggf. in einer VM) gar nicht so verkehrt. So kann man schnell testen, ob alles funktioniert und ob der Fehler in der Server-Config oder am Code liegt.

Meine Frage oben nach dem "Wo" bezog sich auch darauf, ob du das ganze lokal oder über den server öffnest. Das hat sich aber scheinbar geklärt :)
 
  • Gefällt mir
Reaktionen: kartoffelpü und KillerCow
tobi.wld schrieb:
Und hätte das vorher dann nicht auch nicht funktionieren dürfen
Dann war VORHER irgendwas anders, als NACHHER. Daher: Logs prüfen, Config prüfen.
Wenn das nen gemieteter Sharehosting Space ist, dann wirst du an die Config nicht rankommen, aber an die Logs. Hast du eventuell an einer .htaccess-Datei herumgespielt?
 
KillerCow schrieb:
Dann war VORHER irgendwas anders, als NACHHER. Daher: Logs prüfen, Config prüfen.
Wenn das nen gemieteter Sharehosting Space ist, dann wirst du an die Config nicht rankommen, aber an die Logs. Hast du eventuell an einer .htaccess-Datei herumgespielt?
Nein, die andere Person arbeitet gar nicht auf dem Server

Seit vorhin habe ich nur aus einem \n\ ein \n\n gemacht, quasi dass ich zwei Leerzeilen habe und nicht nur einen und ein Slash.

Okay dann schaue ich mir das mal genauer an
 
Zurück
Oben