|
Posted by Jezza on 02/01/08 14:31
Hi
I wonder if anyone can help me out. I am a newby and have bought "PHP5
in easy steps" to work through. One project is to have an email form and
responder built into one page. The form simply asks for a username,
email address and comment. It validates to make sure all fields are
filled in, checks the integrity of the email address and then posts it
off.
I have copied the code from the book exactly & even checked & re-checked
the code. Desperately I even scanned the code in via OCR in case I
missed something. When I run the php script the resulting web page is
blank. Looking at the HTML page source, that is also blank (no <html>,
<body> etc. tags). I suspect the code to be sound and that this problem
is more to do with something within the php.ini file.
I do have PHP files that run fine
I am running Apache 2.2 server with PHP version 4.3.2 & here is the code:
<html><head><title>Combined Feedback Form</title></head>
<body>
<?php #assign form values when applicable
$username = $_POST['username'];
$useraddr = $_POST['useraddr'];
$comments = $_POST['comments'];
$sent = $_POST['sent'];
#the HTML form that can be written dynamically
$form ="<form action=\"$_SERVER[`PHP_SELF`]\" method=\"post\">";
$form.="Name:<input type=\"text\" name=\"username\"";
$form.=" size=\"30\" value=\"$username\" > <br> <br>";
$form.="Email:<input type=\"text\" name=\"useraddr\"";
$form.=" size=\"30\" value=\"$useraddr\"> <br> <br>";
$form.="Comments:<textarea name=\"comments\" ";
$form.="cols=\"30\" rows=\"5\">$comments</textarea>";
$form.="<br> <input type=\"submit\" name=\"sent\" ";
$form. = "value=\"Send Form\"></form>" ;
#execute this code if the form has been submitted once
if($sent)
{ $valid=true;
#set variable default value
#check username field is not blank
if( !$username )
{ $errmsg.="Enter your name:<br>"; $valid = false; }
#check email useraddr field is not blank
if ( !$useraddr )
{ $errmsg. =" Enter email address : <br>" ; $valid=false; }
#check comments field is not blank
if ( !$comments )
{ $errmsg. = "Enter your comments : <br>" ; $valid=false; }
}
if( !$useraddr )
{ $errmsg .="Enter email address:<br>"; $valid = false; }
else ;
{
$useraddr = trim( $useraddr );
#patterns for name,domain and top-level domains
$_name = "/^[-!#$%&\'*+\\.\/0-9=?A-Z^_'{|}-]+";
$_host = " ( [-0-9A-Z]+\.)+";
$_tlds = "([0-9A-Z]){2,4}$/i";
#check validity of email format
if( !preg_match($_name."@".$_host.$_tlds,$useraddr) )
{
$errmsg .= "Email address has incorrect format!<br>"; $valid = false; }
}
#if invalid write the error message/s and the form
if ( $valid != true )
{ echo ( $errmsg . $form ) ; }
else #if the form is valid send the email
{ $to = "jo@test.co.uk";
$re = "Feedback from $username" ;
$msg = $comments;
$headers = "From: $useraddr \r\n" ;
if ( mail ( $to, $re, $msg, $headers ) )
{ echo ("Thanks for your comments, $username" ) ; }
}
?>
</body></html>
---
Many thanks
Regards
Jeremy
Navigation:
[Reply to this message]
|