Jump to content

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]
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]
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
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
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.