Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mon hébergeur dit qu'il y a un problème avec le code PHP

En supposant que vous souhaitiez l'exécuter à partir d'un formulaire, vous devrez définir votre balise de formulaire HTML comme suit :

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

Vous devez alors renommer contact.html vers contact.php (n'importe quel éditeur de texte devrait pouvoir le faire facilement).

Enfin, vous utilisez le header() de PHP fonction, qui provoquera des erreurs si vous avez une sortie vers le navigateur avant qu'il ne soit appelé. Cela inclut l'utilisation de PHP echo structure. Votre contact.php Le fichier doit ressembler à ceci (et se trouver dans le même répertoire que votre fichier HTML contenant le formulaire) :

<?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>';
    }
}
?>

Remarque : J'ai corrigé un peu votre mise en page et modifié certaines des conditions que vous utilisiez. Le premier elseif était en fait redondant, et un else suffira.