SitePoint Sponsor

User Tag List

Results 1 to 3 of 3
  1. #1
    SitePoint Guru
    Join Date
    Jul 2002
    Location
    space
    Posts
    845
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Help with PHP Form

    Hello,

    I'm using the following code from:
    http://www.w3schools.com/php/showphp...ation_complete

    I need help creating the actual PHP script to send the data to my email account. Any help is appreciated.

    Code:
    <!DOCTYPE HTML>
    <html>
    <head>
    <style>
    .error {color: #FF0000;}
    </style>
    </head>
    <body>
    
    <?php
    // define variables and set to empty values
    $nameErr = $emailErr = $genderErr = $websiteErr = "";
    $name = $email = $gender = $comment = $website = "";
    
    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
       if (empty($_POST["name"]))
         {$nameErr = "Name is required";}
       else
         {
         $name = test_input($_POST["name"]);
         // check if name only contains letters and whitespace
         if (!preg_match("/^[a-zA-Z ]*$/",$name))
           {
           $nameErr = "Only letters and white space allowed";
           }
         }
      
       if (empty($_POST["email"]))
         {$emailErr = "Email is required";}
       else
         {
         $email = test_input($_POST["email"]);
         // check if e-mail address syntax is valid
         if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
           {
           $emailErr = "Invalid email format";
           }
         }
        
       if (empty($_POST["website"]))
         {$website = "";}
       else
         {
         $website = test_input($_POST["website"]);
         // check if URL address syntax is valid (this regular expression also allows dashes in the URL)
         if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
           {
           $websiteErr = "Invalid URL";
           }
         }
    
       if (empty($_POST["comment"]))
         {$comment = "";}
       else
         {$comment = test_input($_POST["comment"]);}
    
       if (empty($_POST["gender"]))
         {$genderErr = "Gender is required";}
       else
         {$gender = test_input($_POST["gender"]);}
    }
    
    function test_input($data)
    {
         $data = trim($data);
         $data = stripslashes($data);
         $data = htmlspecialchars($data);
         return $data;
    }
    ?>
    
    <h2>PHP Form Validation Example</h2>
    <p><span class="error">* required field.</span></p>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
       Name: <input type="text" name="name" value="<?php echo $name;?>">
       <span class="error">* <?php echo $nameErr;?></span>
       <br><br>
       E-mail: <input type="text" name="email" value="<?php echo $email;?>">
       <span class="error">* <?php echo $emailErr;?></span>
       <br><br>
       Website: <input type="text" name="website" value="<?php echo $website;?>">
       <span class="error"><?php echo $websiteErr;?></span>
       <br><br>
       Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
       <br><br>
       Gender:
       <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?>  value="female">Female
       <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?>  value="male">Male
       <span class="error">* <?php echo $genderErr;?></span>
       <br><br>
       <input type="submit" name="submit" value="Submit">
    </form>
    
    <?php
    echo "<h2>Your Input:</h2>";
    echo $name;
    echo "<br>";
    echo $email;
    echo "<br>";
    echo $website;
    echo "<br>";
    echo $comment;
    echo "<br>";
    echo $gender;
    ?>
    
    </body>
    </html>

  2. #2
    SitePoint Wizard lorenw's Avatar
    Join Date
    Feb 2005
    Location
    was rainy Oregon now sunny Florida
    Posts
    1,094
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Sending the email can be done with.
    PHP Code:
    $headers .= "Content-type: text/html; charset=iso-8859-1\n";

    if (
    mail($mailto$Subject$msg,  "From: $email$headers","-f$mailto")) {// using if can give error if not working

    else {
    echo 
    '<p>Mail could not be sent to '.$mailto.' with to the return email address '.$email;
    exit;

    What I lack in acuracy I make up for in misteaks

  3. #3
    Always A Novice bronze trophy
    K. Wolfe's Avatar
    Join Date
    Nov 2003
    Location
    Columbus, OH
    Posts
    2,082
    Mentioned
    54 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by lorenw View Post
    Sending the email can be done with.
    PHP Code:
    $headers .= "Content-type: text/html; charset=iso-8859-1\n";

    if (
    mail($mailto$Subject$msg,  "From: $email$headers","-f$mailto")) {// using if can give error if not working

    else {
    echo 
    '<p>Mail could not be sent to '.$mailto.' with to the return email address '.$email;
    exit;

    I always use PHPMailer in my projects.

    That aside though, what error are you currently getting?


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
  •