I'm working through Julie Meloni's book PHP - Fast and Easy using MS Win 98
with Apache.

She has an example of a PHP script where both the html form for input and
the php code to send the form are in one php script using the mail()
function and the $PHP_SELF global variable.

I've included the code taken form the book:  allinone_form.php
and
the code that I copied from the book when I tried to breakdown and
understand the syntax which is:
allinone1211.php

Both scripts are able to send e-mail.  However, in her script if the user
fails to put either their name or address or message in the boxes, they are
reminded to fill in the box in red - in addition, the email is not sent.

However, in the allinone1211.php - which was copied line for line (or so I
thought) - the email is sent even if the user has not filled in all of the
appropriate boxes without the red reminders.

If anybody has a chance could they take a look a the following code:

Thanking all in advance.
Tony Ritter
........................................................

(allinone_form.php)  Works fine.


<HTML>
<HEAD>
<TITLE>All-In-One Feedback Form</TITLE>
</HEAD>
<BODY>
<?
$form_block = "
<FORM METHOD=\"post\" ACTION=\"$PHP_SELF\">
<P><strong>Your Name:</strong><br>
<INPUT type=\"text\" NAME=\"sender_name\" VALUE=\"$sender_name\"
SIZE=30></p>
<P><strong>Your E-Mail Address:</strong><br>
<INPUT type=\"text\" NAME=\"sender_email\"  VALUE=\"$sender_email\"
SIZE=30></p>
<P><strong>Message:</strong><br>
<TEXTAREA NAME=\"message\" COLS=30 ROWS=5
WRAP=virtual>$message</TEXTAREA></p>
<INPUT type=\"hidden\" name=\"op\" value=\"ds\">
<P><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Send This Form\"></p>
</FORM>
";
if ($op != "ds") {
 echo "$form_block";
} else if ($op == "ds") {
 if ($sender_name == "") {
  $name_err = "<font color=red>Please enter your name!</font><br>";
  $send = "no";
 }
 if ($sender_email == "") {
  $email_err = "<font color=red>Please enter your e-mail
address!</font><br>";
  $send = "no";
 }
 if ($message == "") {
  $message_err = "<font color=red>Please enter a message!</font><br>";
  $send = "no";
 }
 if ($send != "no") {
  $msg = "E-MAIL SENT FROM WWW SITE\n";
  $msg .= "Sender's Name:    $sender_name\n";
  $msg .= "Sender's E-Mail:  $sender_email\n";
  $msg .= "Message:          $message\n\n";
  $to = "[EMAIL PROTECTED]";
  $subject = "All-in-One Web Site Feedback";
  $mailheaders = "From: My Web Site <> \n";
  $mailheaders .= "Reply-To: $sender_email\n\n";
  mail($to, $subject, $msg, $mailheaders);
  echo "<P>Mail has been sent!</p>";
 } else if ($send == "no")

  echo "$name_err";
  echo "$email_err";
  echo "$message_err";
  echo "$form_block";
 }
}
?>
</BODY>
</HTML>
.................................................................

allinone1211.php (email is sent even if the boxes are not filled in)

<HTML>
<HEAD>
<TITLE> All In One Script </TITLE>
</HEAD>
<BODY>
<?
$form_block="
<FORM METHOD=\"post\" ACTION=\"$PHP_SELF\">
<P><STRONG>Your Name:</STRONG><BR>
<INPUT TYPE=\"text\"  NAME=\"sender_name\" VALUE=\"$sender_name\"  SIZE=30>
</P>
<P><STRONG>Your email address:</STRONG><BR>
<INPUT TYPE=\"text\"  NAME=\"sender_email\"  VALUE=\"$sender_email\"
SIZE=30> </P>
<P><STRONG>Your message:</STRONG><BR>
<TEXTAREA NAME=\"message\"  COLS=30  ROWS=5   WRAP=VIRTUAL>
$message</TEXTAREA></P>
<INPUT TYPE=\"hidden\"  NAME=\"op\"   VALUE=\"ds\">
<P> <INPUT TYPE=\"submit\" NAME=\"submit\"  VALUE=\"Send this form\"></P>
</FORM>
";
if($op!="ds") {
 echo "$form_block";
} else if ($op=="ds"){
 if ($sender_name==""){
  $name_err="<font color=red>Please enter your name!</font><br>";
  $send="no";
}
 if($sender_email==""){
  $email_err="<font color=red> Please enter your email address! </font>
<br>";
  $send="no";
}
 if($message==""){
  $message_err="<font color=red> Please enter a message! </font><br>";
  $message="no";
}
if (send!="no"){
$msg="This email is being sent from\n";
$msg.="Sender's name: $sender_name\n";
$msg.="Sender's email address: $sender_email\n";
$msg.="Message: $message\n\n";
$to="[EMAIL PROTECTED]";
$subject="All in one";
$mailheaders="From: My website<>\n";
$mailheaders.="Reply-To: $sender_email\n\n";
mail($to, $subject, $msg, $mailheaders);
echo "<P>Mail has been sent! </P>";
} else if ($send=="no"){
 echo "$name_err";
 echo "$email_err";
 echo "$message_err";
 echo "$form_block";
 }
}
?>
</BODY>
</HTML>







-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to