Jump to content

Archived

This topic is now archived and is closed to further replies.

fran_456777

WANTED: PHP whiz who is willing to help me with an output issue

Recommended Posts

Hi there,

Right... where do I start? I have a htm page with a PHP script embedded. The PHP script's function is to capture all values entered by a visitor in a form and send it to my email address. I have put the form near the end of the page, so it is not visible when the page loads, unless you scroll down (I hope this makes sense). This script functions fine, but the echo that is returned (upon confirmation that the message is sent, the script "thanks" the visitor) is not placed at the top of the page. So people would have to scroll down to where they filled out the form in order to read the confirmation note. I would like to adapt the code so that the confirmation message is shown at the top of the page in a [b]popup[/b]. I have pasted the PHP script in this message. Could someone please have a look at it and suggest what I would have to add in order for this to work??  ???

MANY THANKS!!! Fran xx

[code]<?php
require_once("config2.php");
require_once("templ_core1.php");
$page = new Page("template_skin1.htm");

if(isset($_POST["send"]))
{
$name = $_POST["name"];
$url = $_POST["url"];
$email = $_POST["email"];
$msg = $_POST["msg"];
$vword = $_POST["vword"];
$ip = $_SERVER['REMOTE_ADDR'];


if(empty($name))
{
echo(" <font face='Arial' size='2' color='#FF0000'><strong>- Enter your name please</strong></font><br />");
}

function CheckMail($email) {
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$", $email)) { return true; }
else { return false; }
}
if ((empty($email)) || (!CheckMail($email)))
{
echo " <font face='Arial' size='2' color='#FF0000'><strong>- Your email address is invalid</strong></font><br />";
}

if(empty($msg)){
echo(" <font face='Arial' size='2' color='#FF0000'><strong>- Please enter your comment</strong></font><br />");
}
if(empty($vword)){
echo(" <font face='Arial' size='2' color='#FF0000'><strong>- Please enter the verification code that you see in the picture</strong></font><br />");
}

if(!empty($name) && !empty($email) && !empty($msg) && !empty($vword))
{
if($vword != "$v_w")
{ echo "<font face='Arial' size='2' color='#FF0000'><strong>- Please enter the verification code that you see in the picture</strong></font>"; }
if($vword == "$v_w")
{
if(CheckMail($email) == true)
{
$headers .= "From: ".$email."" .
"Subject: ".$subject."";

$messageproper =
"From: $name - $email \n" .
"------------------------- $yoursitename -------------------------\n\n" .
"Name: $name\n" .
"Rating: $url\n" .
"Email: $email\n\n" .
"Message: $msg\n\n" .
"Sender Ip: $ip" .

"\n------------------------------------------------------------\n";

mail("$receiver", $subject, $messageproper, "From: $name <$email>");
echo( '<font="arial" color="#003325">Thank you</font><br />

' );
}
}
}
}
else
{
?>
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<?php
$page->replace_tags(array(
"name" => "Name",
"form_name" => "<input type=\"text\" name=\"name\" size=". $field_size ." />",
"email" => "Email",
"form_email" => "<input type=\"text\" name=\"email\" size=". $field_size ." />",
"website" => "Rating",
"form_website" => "<select name=\"url\" rows=". $textarea_row ." cols=". $textarea_cols .">
<option>1 star</option>
<option>2 stars</option>
<option>3 stars</option>
<option>4 stars</option>
<option>5 stars</option>
</select>",
"message" => "Review",
"form_message" => "<textarea name=\"msg\" rows=". $textarea_row ." cols=". $textarea_cols ."></textarea>",
"vword" => "Verification word",
"form_vword" => "<input type=\"text\" name=\"vword\" size=". $field_size ." />",
"send" => "Send",
"form_send" => "<input type=\"submit\" name=\"send\" value=\"Send Review\" />
<input type=\"reset\" value=\"Reset Form\" />
</form>"
));
$page->output();
?>
<?php
}
?>[/code]

Share this post


Link to post
Share on other sites
I'm having a little truoble making out your code (partially, I think, since i don't know what the includes are), but if I understand the gist of it correctly, you could replace
[code]echo( '<font="arial" color="#003325">Thank you</font><br />');[/code]
with
[code]<?php // notice that i spelled script wrong so that the forum would let me submit my post
echo <<<END
<scipt type="text/javascript">
function disp_alert()
{
alert("Thank You")
}
</script>
END;
?>[/code]

Share this post


Link to post
Share on other sites
OK, someone had to ask...

Why don't you want the user to see the form when they visit the page, why make them scroll down to see it?

Regards
Huggie

Share this post


Link to post
Share on other sites
I am not a php whiz but on my site I just tried changing the line:
[code]<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">[/code]
to
[code]<form method="post" action="different_page.php"target="_blank">[/code]

Amazingly, it worked!

You will need to take all the 'Thank you' code and put it on this page along with perhaps a javascript 'Close Window' behavoir

I'm only looking here because I am stuck with a different problem  ;D Good luck
Simon

Share this post


Link to post
Share on other sites
I'd have to agree with fran. I would direct the user to a different page. If you want you could even direct them to another page that uses <meta> or javascript to redirect them back to the original page

Share this post


Link to post
Share on other sites

×

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.