PDA

View Full Version : Validation/Confirmation problem



shaggyman
07-03-2006, 04:08 PM
I am trying to validate email, then move to a confirmation page when successfully submitted.
(Script is Pablo's on a PHP.)
Can someone tell me where I'm going wrong?
(Many hours spent- little hair remaining)

Home page is: http://www.spiritofpolyamory.org/index.html

Registration page is: http://www.spiritofpolyamory.org/registration.html

PHP process page: http://www.spiritofpolyamory.org/process123.php

Confirmation page is: http://www.spiritofpolyamory.org/confirmationpage,html

In testing live, an omitted email and submission yields a white page with no background and th following:

<BODY background="PAN_1024.jpg" bgcolor="#FFFFFF" text="#FF0000" I believe that there is an error in the way you entered your E-mail address. Please check your entry and re-submit. Thank you!

A properly filled out and submitted form yields the error page with graphics, but the text is small and I get the following message:

Warning: Cannot modify header information - headers already sent by (output started at /home/spiryorg/public_html/process123.php:7) in /home/spiryorg/public_html/process123.php on line 134

Thanks!
Shaggyman

Andy128
07-03-2006, 04:18 PM
Did you take the php script and put it in an html box or did you place it in the body tag in the "page html" ? I am thinking the later.

Was it my tutorial that you followed?
http://www.netisopen.com/TF001/phpmailto.html


Please open the process123.php with note pad and copy and post the script that you used so we can take a look at it.

Andy

shaggyman
07-03-2006, 04:34 PM
Yes it was that basic script, pasted into an HTML box.

Here is the script in it's entirety as on the page:

<?php
$email = $HTTP_POST_VARS['email'];
if (strlen($email) == 0)
{
echo "The E-mail field is a required entry. Please use the Back
Button to return to the form and enter a contact E-mail address.
Thank you!";
exit;
}
if (strlen($email) >= 45)
{
echo "The length limit for the E-Mail field cannot exceed 45
characters / spaces. Please use the Back Button to return to the
form and shorten this entry. Thank you!";
exit;
}
if (! ereg('[A-Za-z0-9_-]+\@[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+',
$email))
{
echo "I believe that there is an error in the way you entered your
E-mail address. Please check your entry and re-submit. Thank
you!";
exit;
}
//SEND MAIL
$mailto = "registration@spiritofpolyamory.org";
$mailsubj = "REGISTRATION";
$mailhead = "From: $email\n";
reset ($HTTP_POST_VARS);
$mailbody = "Values submitted from web site form:\n";
while (list ($key, $val) = each ($HTTP_POST_VARS))
{
$mailbody .= "$key : $val\n";
}
mail($mailto,$mailsubj,$mailbody,$mailhead);
header("Location: confirmation (http://www.spiritofpolyamory.org/confirmationpage,html)");
?>

shaggyman
07-03-2006, 07:33 PM
The location at the end of the HTML code is actually
Location: confirmation (http://www.spiritofpolyamory.org/confirmationpage,html)
but the posting process named it....

Shaggyman

shaggyman
07-03-2006, 07:35 PM
It did it again, so I'll break it up:
Location:
http: (http://www.)
//www.
spiritofpolyamory.
org/confirmationpage,html

davidundalicia
07-03-2006, 08:02 PM
Read andy128 tutorial and all will become clear...see keith below

Or download the free email contact form(takes about 5 mins to install)
see below also.

Watdaflip
07-03-2006, 10:58 PM
The reason the confirmation page isn't coming up is because it should look like this in your script

header("Location: http://www.spiritofpolyamory.com/confirmationpage.html");

You had confirmationpage,html

shaggyman
07-04-2006, 04:04 AM
More and better glasses.
Interesting, that shortcut- I copied it from Control Panel and pasted it in.
Thanks guys- a little massaging of file names and attributes and all is working like it should.