form help needed - not sending email

Discussion in 'PHP' started by mccannio, May 2, 2006.

  1. #1
    Hi there,
    I hope someone can help me. I am in the process of completing a new site http://www.loans4northern-ireland.co.uk . The small form will not send an email and I cannot see where I am going wrong (maybe cos i've been looking at it all weekend and cant see straight anymore!)

    the form info is here:

    <tr>
    <td><form action="sendresults.php" method="post" name="form1">
    <table width="350" border="0" cellspacing="5" cellpadding="0">
    <tr>
    <td width="105">Full Name</td>
    <td width="16">:</td>
    <td width="222"><input name="fullname" type="text" id="fullname">
    * </td>
    </tr>
    <tr>
    <td>E-mail</td>
    <td>:</td>
    <td><input name="email" type="text" id="email">
    * </td>
    </tr>
    <tr>
    <td>Phone number </td>
    <td>:</td>
    <td><input name="phone_number" type="text" id="phone_number">
    * </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="Submit">
    </td>
    </tr>
    </table>
    </form></td>
    </tr>



    the form submits results to sendresults.php. The redirect works fine but it has just stopped sending the confirmation email. here is the php code

    <?php
    //--------------------------Set these paramaters--------------------------

    // Subject of email sent to you.
    $subject = 'Results from Contact form';

    // Your email address. This is where the form information will be sent.
    $emailadd = 'paul@loans4northern-ireland.co.uk';

    // Where to redirect after form is processed.
    $url = 'http://www.loans4northern-ireland.co.uk';

    // Makes all fields required. If set to '1' no field can not be empty. If set to '0' any or all fields can be empty.
    $req = '0';

    // --------------------------Do not edit below this line--------------------------
    $text = "Results from form:\n\n";
    $space = ' ';
    $line = '
    ';
    foreach ($_POST as $key => $value)
    {
    if ($req == '1')
    {
    if ($value == '')
    {echo "$key is empty";die;}
    }
    $j = strlen($key);
    if ($j >= 20)
    {echo "Name of form element $key cannot be longer than 20 characters";die;}
    $j = 20 - $j;
    for ($i = 1; $i <= $j; $i++)
    {$space .= ' ';}
    $value = str_replace('\n', "$line", $value);
    $conc = "{$key}:$space{$value}$line";
    $text .= $conc;
    $space = ' ';
    }
    mail($emailadd, $subject, $text, 'From: '.$emailadd.'');
    echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
    ?>

    thanks
     
    mccannio, May 2, 2006 IP
  2. mad4

    mad4 Peon

    Messages:
    6,986
    Likes Received:
    493
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Try echoing all your variables to the page that is sending the email to see what the problem is.
     
    mad4, May 2, 2006 IP
  3. chandubhai

    chandubhai Banned

    Messages:
    556
    Likes Received:
    27
    Best Answers:
    0
    Trophy Points:
    0
    #3
    couldnt you figure out a better way of doing this?
     
    chandubhai, May 2, 2006 IP