sql >> Databasteknik >  >> RDS >> Mysql

Mitt webbhotell säger att det är något fel med PHP-kod

Förutsatt att du vill köra detta från ett formulär, måste du ställa in din HTML-formulärtagg enligt följande:

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

Du bör sedan byta namn på contact.html till contact.php (alla textredigerare borde kunna göra detta enkelt).

Slutligen använder du PHPs header() funktion, som kommer att orsaka fel om du har utdata till webbläsaren innan den anropas. Detta inkluderar att använda PHPs echo struktur. Din contact.php filen ska se ut så här (och finnas i samma katalog som din HTML-fil som innehåller formuläret):

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

Obs! Jag fixade din layout lite och ändrade några av de villkor som du använde. Den första elseif var faktiskt överflödig, och en else kommer att räcka.



  1. Ignorera datumintervallsparametern i where-satsen när parametern inte anges

  2. Flera infoga SQL-oracle

  3. Enkel PHP SQL-inloggningsfelsökning

  4. Hur upprätthåller PostgreSQL den UNIKA begränsningen / vilken typ av index använder den?