Metexora
Metexora

Reputation: 66

Contact form Error when submit

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="[email protected]" />
        <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

Upvotes: 0

Views: 113

Answers (2)

rullof
rullof

Reputation: 7424

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.

Upvotes: 3

ilarsona
ilarsona

Reputation: 436

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

Upvotes: 0

Related Questions