Domanda

Hi guys i'm having a issue i hope you guys can help with, i'm typing in all the fields and then upon pressing submit i'm getting just "Error!" on my screen.

Please see the code:

HTML

<h2 class="formhead">Contact Form</h2>
<br>
  <form class="form" action="mail.php" method="POST">

    <p class="name">
        <input type="text" name="name" id="name" placeholder="John Doe" />
        <label for="name">Name</label>
    </p>
<br>
    <p class="email">
        <input type="text" name="email" id="email" placeholder="mail@example.com" />
        <label for="email">Email</label>
    </p>
<br>
    <p class="number">
        <input type="text" name="number" id="number" placeholder="0774XXXXXXX" />
        <label for="name">Contact Number</label>
    </p>
<br>
    <p class="web">
        <input type="text" name="web" id="web" placeholder="www.example.co.uk" />
        <label for="name">Website</label>
    </p>
<br>
    <p class="message">
        <textarea name="message" id="message" placeholder="Write something to us" /> </textarea>
    </p>
<br>
    <p class="submit">
        <input type="submit" value="Send"/>
    </p>
  </form>

PHP

<?php $name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$message = $_POST['message'];
$website = $_POST['web'];
$formcontent="From: $name \n Contact: $number \n Website: $web \n Message: $message";
$recipient = "enquiries@c(hidden)y.co.uk";
$subject = "Contact Form";
$mailheader = "From: $email ";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!" . " -" . "<a href='contact.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
?>

Any help would be much appreciated!

Thanks

Sam

È stato utile?

Soluzione

Your script always reporting 'Error!' because the mail() function always fails. That's because some index you're using in the php file doesn't match to the input names in your form:

Change these:

$website = $_POST['website'];

to:

$website = $_POST['web'];

Or change it in your form.

Also you have to specify a name for the message textarea:

<textarea name="message" id="message" placeholder="Write something to us" />

This may fail again if it can't connect to mailserver. This is probably you're case if The SMTP is Disabled.

Altri suggerimenti

As per my comment, here's an example of a better die statement:

<?
$your_function or die("Error! a") // Just replace the letter a with anything. It serves as a simple link to your function that only you know.  so you can go back and check it
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top