Page 2 of 2 FirstFirst 12
Results 11 to 15 of 15

Thread: PHP form Help.

  1. #11
    Join Date
    Sep 2008
    Location
    Bristol - UK
    Posts
    842
    Thanks
    32
    Thanked 132 Times in 131 Posts

    Default

    I put this on my server to check for any parse errors before posting it, so I know that's not the problem.

    I'm almost 90% sure the problem will be with the mail() function. You can try turning error reporting on, and then putting a die statement before the redirect:

    PHP Code:
    <?php

    error_reporting
    (E_ALL);

    /* Step 1 - Check to see whether the user has submitted the form */

    if (isset($_POST['submit'])) {

        
    /* Step 2 - Check that the user has input something for their email */
        
        // Using $email so it's easier to write
        // The trim() function takes off any whitespace from the string
        
    $email trim($_POST['email']);
        
        if (!empty(
    $email)) {
            
            
    /* Step 3 - Email isn't empty, send email */
            
            // The email address to send to
            
    $to 'mailinglist@onlyjoe.co.uk';
            
            
    // Message subject
            
    $subj 'ADD TO ONLYJOE MAILING LIST';
            
            
    // Message content
            
    $msg $email ' would like to be added to your mailing list.';
            
            
    $headers "From: Mailing List <mailinglistonlyjoe@gmail.com>";
            
            
    /* Step 4 - Send the email */
            
    if (mail($to$subj$msg$headers)) {
                
                
    /* Redirect to success page if mail sent */
                
    header('Location: http://web.me.com/grimshawa/onlyjoe.co.uk_Coming_Soon/Thanks.html');
                
            } else {
                die;
                
    /* Redirect to a different page or do something else if it fails */
                
    header('Location: http://web.me.com/grimshawa/onlyjoe.co.uk_Coming_Soon/Error.html');
                
            }
            
        }
        
    }

    ?>
    You might not want to do this on the live site, as other users will be able to see the error.

    Let me know what you get from this.

  2. #12
    Join Date
    Feb 2011
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Hi, now i get this:

    Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in \\nas34ent\Domains\s\showstoppersincabaretcornwall.co.uk\user\htdocs\onlyjoecontact\onlyjoe\FormHandler.php on line 31


    using this code:

    PHP Code:
    <?php

    error_reporting
    (E_ALL);

    /* Step 1 - Check to see whether the user has submitted the form */

    if (isset($_POST['submit'])) {

        
    /* Step 2 - Check that the user has input something for their email */
        
        // Using $email so it's easier to write
        // The trim() function takes off any whitespace from the string
        
    $email trim($_POST['email']);
        
        if (!empty(
    $email)) {
            
            
    /* Step 3 - Email isn't empty, send email */
            
            // The email address to send to
            
    $to 'mailinglistonlyjoe@gmail.com';
            
            
    // Message subject
            
    $subj 'ADD TO ONLYJOE MAILING LIST';
            
            
    // Message content
            
    $msg $email ' would like to be added to your mailing list.';
            
            
    $headers "From: Mailing List <mailinglistonlyjoe@gmail.com>";
            
            
    /* Step 4 - Send the email */
            
    if (mail($to$subj$msg$headers)) {
                
                
    /* Redirect to success page if mail sent */
                
    header('Location: http://web.me.com/grimshawa/onlyjoe.co.uk_Coming_Soon/Thanks.html');
                
            } else {
                die;
                
    /* Redirect to a different page or do something else if it fails */
                
    header('Location: http://web.me.com/grimshawa/onlyjoe.co.uk_Coming_Soon/Error.html');
                
            }
            
        }
        
    }

    ?>
    Thanks

  3. #13
    Join Date
    Mar 2006
    Location
    Illinois, USA
    Posts
    12,164
    Thanks
    265
    Thanked 690 Times in 678 Posts

    Default

    It sounds like your mail() function is configured incorrectly. Can you contact your host for assistance?
    On a server with a properly configured mail() function, this code should work.
    Daniel - Freelance Web Design | <?php?> | <html>| español | Deutsch | italiano | português | català | un peu de français | some knowledge of several other languages: I can sometimes help translate here on DD | Linguistics Forum

  4. #14
    Join Date
    Feb 2011
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Quote Originally Posted by djr33 View Post
    It sounds like your mail() function is configured incorrectly. Can you contact your host for assistance?
    On a server with a properly configured mail() function, this code should work.
    Hi, I contacted my host and they gave me the below code which did work for about five minutes then stopped again. How could that have happened?

    PHP Code:
    <?php
        

        
    // You only need to modify the following three lines of code to customise your form to mail script.
        
    $email_to "mailinglist@onlyjoe.co.uk";             // Specify the email address you want to send the mail to.
        
    $email_subject "ADD TO ONLYJOE MAILING LIST";     // Set the subject of your email.
        // Specify a page on your website to display a thankyou message when the mail is sent
        
    $thankyou_url "http://web.me.com/grimshawa/onlyjoe.co.uk_Coming_Soon/Thanks.html";
                                                    
        
    // Get the details the user entered into the form

        
    $email_from $_POST["email"];
        
        
        
    // Validate the email address entered by the user
        
    if(!filter_var($email_fromFILTER_VALIDATE_EMAIL)) {
            
    // Invalid email address
            
    die("The email address entered is invalid.");
        }
        
        
    // The code below creates the email headers, so the email appears to be from the email address filled out in the previous form.
        // NOTE: The \r\n is the code to use a new line.
        
    $headers  "From: $email_from . \r\n";
        
    $headers .= "Reply-To: $email_from . \r\n";    // (You can change the reply email address here if you want to.)
        
        // Now we can construct the email body which will contain the name and message entered by the user
        
        
        // This is the important ini_set command which sets the sendmail_from address, without this the email won't send.
        
    ini_set("sendmail_from"$email_from);
        
        
    // Now we can send the mail we've constructed using the mail() function.
        // NOTE: You must use the "-f" parameter on Fasthosts' system, without this the email won't send.
        
    $sent mail($email_to$email_subject$headers"-f" $email_from);
        
        
    // If the mail() function above successfully sent the mail, $sent will be true.
        
    if($sent) {
            
    header("Location: " $thankyou_url);     // Redirect customer to thankyou page
        
    } else {
            
    // The mail didn't send, display an error.
            
    echo "There has been an error sending your message. Please try later.";
        }
            
    ?>

  5. #15
    Join Date
    Mar 2006
    Location
    Illinois, USA
    Posts
    12,164
    Thanks
    265
    Thanked 690 Times in 678 Posts

    Default

    1. The mail() function in that is very strange: you aren't sending a body (should be the third parameter) and the fourth is a second set of headers.

    2. If it did work and doesn't work now and you did not change the code, then something on the server probably changed.
    Daniel - Freelance Web Design | <?php?> | <html>| español | Deutsch | italiano | português | català | un peu de français | some knowledge of several other languages: I can sometimes help translate here on DD | Linguistics Forum

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •