Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mein Webhosting-Unternehmen sagt, dass mit dem PHP-Code etwas nicht stimmt

Angenommen, Sie möchten dies über ein Formular ausführen, müssen Sie Ihr HTML-Formular-Tag wie folgt festlegen:

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

Dann sollten Sie contact.html umbenennen zu contact.php (Jeder Texteditor sollte dies problemlos tun können).

Schließlich verwenden Sie header() von PHP Funktion, die Fehler verursacht, wenn Sie vor dem Aufruf eine Ausgabe an den Browser gesendet haben. Dazu gehört auch die Verwendung von echo von PHP Struktur. Ihre contact.php Die Datei sollte wie folgt aussehen (und sich im selben Verzeichnis wie Ihre HTML-Datei befinden, die das Formular enthält):

<?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $number = $_POST['number'];
    $message = $_POST['message'];
    $from = 'From:you'; 
    $to = '[email protected]'; 
    $subject = 'Hello';
    $human = $_POST['human'];

    $body = "From: $name\n E-Mail: $email\n Number: $number\n Message:\n $message";


if ($_POST['submit']) {
    if ($name != '' && $email != '') 
    {
        if ($human == '4') 
        {                 
            if (mail ($to, $subject, $body, $from)) 
            { 
                header("Location: thanks.html");
            } 
            else 
            { 
                echo '<p>Something went wrong, go back and try again!</p>'; 
            } 
        } 
        else
        {
            echo '<p>You answered the anti-spam question incorrectly!</p>';
        }
    } 
    else 
    {
        echo '<p>You need to fill in all required fields!!</p>';
    }
}
?>

Hinweis: Ich habe Ihr Layout ein wenig korrigiert und einige der von Ihnen verwendeten Bedingungen geändert. Das erste elseif eigentlich überflüssig war, und ein else reicht aus.