Jump to content

[SOLVED] PHP Mail - Preview before submit page


Revlet

Recommended Posts

I am having a problem with getting a php script to work correctly.

 

Website in HTML: http://www.architecturalinstallationteam.com/

Website after ported to PHP: http://www.architecturalinstallationteam.com/sandbox/

 

First off, the script works correctly by itself when not included in any page. http://www.architecturalinstallationteam.com/sandbox/include/contact.php

 

The code is:

 

<?php
switch($_POST['view'])
{
case 1: /* first time submit, show preview */
   $type = "hidden";
   $vis_type = "none";
   $Name = $_POST['Name'];
   $Title = $_POST['Title'];
   $Company = $_POST['Company'];
   $Telephone = $_POST['Telephone'];
   $Email = $_POST['Email'];
   $Message = $_POST['Message'];
   $view = 2;
   $EXTRA_INFO = "<div id='container'>
<strong>Are your sure you want to submit:</strong>
   <div id='left'>
   <p>Name:</p>
   <p>Title:</p>
   <p>Company:</p>
   <p>Telephone:</p>
   <p>Email:</p>
   <p>Company:</p>
   </div><!-- left -->
  <div id='right'>
$Name<br>
$Title<br>
$Company<br>
$Telephone<br>
$Email<br>
$Message<br>
  </div>
  <!-- right -->
  <div class='clear'></div>
</div><!-- container -->";
   $FORM = "";
   $INPUT_BUTTON = "<input type='submit' name='submit' value='Edit'><input type='submit' name='submit' value='Send'>";
   break;
case 2: /* second time submit, if edit pressed, then edit else submit */
   if($_POST['submit'] == "Edit")
     { /* Edit and reset to first time here */
       $Name = $_POST['Name'];
   $Title = $_POST['Title'];
   $Company = $_POST['Company'];
   $Telephone = $_POST['Telephone'];
   $Email = $_POST['Email'];
   $Message = $_POST['Message'];
       $type = "text";
   $vis_type = "block";
       $view = 1;
       $INPUT_BUTTON = "<input type='submit' name='preview' value='Preview'>";
   //$FORM = "<form action='$PHP_SELF' method='post'>
   //		<input type='$type' name='0' size='4' value='Name:'>
   //		<input type='hidden' value='$view' name='view'>
   //		<input type='$type' name='Name' value='$Name'><br>";
       $EXTRA_INFO = "<strong>Edit Message:</strong><br>";
     }
   else
     { /* Submit info */
// Get POST variables
$EmailFrom = "AIT Website";
$EmailTo = "scott.bryant@aiteampro.com";
$Subject = "AIT Website - Contact Requested";
$Name = Trim(stripslashes($_POST['Name'])); 
$Title = Trim(stripslashes($_POST['Title'])); 
$Company = Trim(stripslashes($_POST['Company'])); 
$Telephone = Trim(stripslashes($_POST['Telephone'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// Create Email
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Title: ";
$Body .= $Title;
$Body .= "\n";
$Body .= "Company: ";
$Body .= $Company;
$Body .= "\n";
$Body .= "Telephone: ";
$Body .= $Telephone;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

// Send Email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// Redirect 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=index.php?p=sent\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=index.php?p=error\">";
//$EXTRA_INFO = "Error! Message not successfully sent.<br><pre>$Name</pre>";
//$type = "hidden";
//$vis_type = "none";
}

}
   break;
default: /* either we've never been here or something has screwed our counter */
   $EXTRA_INFO = "<strong>Enter information below:</strong><br>";
   $INPUT_BUTTON = "<input type='submit' name='preview' value='preview'>";
   $type = "text";
   $vis_type = "block";
   $view = 1;
   break;
}
/* display our page accordingly */

echo $EXTRA_INFO;
echo "<form action='$PHP_SELF?p=contact_us' method='post'>
<div id='container'>
<div id='left' style='display: $vis_type'>
   <p>Name:</p>
   <p>Title:</p>
   <p>Company:</p>
   <p>Telephone:</p>
   <p>Email:</p>
   <p>Company:</p>
</div><!-- left -->
  <div id='right'>
<input type='hidden' value='$view' name='view'>
<input type='$type' name='Name' value='$Name'><br>
    
    <input type='hidden' value='$view' name='view'>
    <input type='$type' name='Title' value='$Title'><br>
   
    <input type='hidden' value='$view' name='view'>
<input type='$type' name='Company' value='$Company'><br>
    
    <input type='hidden' value='$view' name='view'>
<input type='$type' name='Telephone' value='$Telephone'><br>
    
    <input type='hidden' value='$view' name='view'>
<input type='$type' name='Email' value='$Email'><br>
    
    <input type='hidden' value='$view' name='view'>
<input type='$type' name='Message' value='$Message'><br>
   </p>
  </div><!-- right -->
  <div class='clear'></div>
</div><!-- container -->";
echo $INPUT_BUTTON;
echo "</form>";

?> 

 

This code is included into include/contact_us.php which is dynamically included into the index with url parameter ?p=contact_us

 

My problem is that it doesn't function correctly - all it does is go to index.php when I submit form.

 

 

I think the problem lies in the form action='$PHP_SELF' but I have only basic knowledge of PHP to figure out how to get around this.

 

PLEASE...if someone can help me correct the existing code/optimize it, or if they have/know of a code that works better in the situation please share. I do not want to overwrite the HTML version of the website with the PHP version until I have fixed this section.

 

 

Note: I did not write this preview/edit script completely but I did improve it to work with hidden div and added the extra variables to suit my needs.

 

Thanks for any help,

- Revlet

 

EDIT: I tried to make a preview page before using $_SESSION variables and multiple includes but I couldn't get it to work. I prefer the less confusing scripts because I can easily add a captcha and manipulate them with greater ease. So if anyone can make a better script that would be ideal. Thanks again!

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.