|
Posted by Erwin Moller on 04/03/07 11:52
Doug (dtism) wrote:
> Hello **newbie alert** <-- that's me btw, but you might have guessed
> that by my topic title.
>
> I have an html page that submits a name and email address by a form to
> a page called preview.php
>
> I'd like to do some basic validation on the credentials subbitted via
> the form, and if they pass then send the credentials via email and
> display the rest of the page (which will have links to download some
> promotional tunes from my friends record label)
>
> If the validation fails I'd like to display an alternative version of
> the page telling the user to go back and fill in the form properly.
>
> Can I do this by simply enclosing some html code in an echo statement?
Yes, can be done, but doesn't it make more sense to send the visitor back to
the original form?
$succes = ...your test goes here...
if (!$succes) {
// send back to page with loginform
header("Location: loginform.php?result=".urlencode('bad login.'));
exit;
}
// just continue here with page with samples
You can easily get the 'result' in your loginpage to display like this:
<?php
if (isset($_GET["result"])){
echo $_GET["result"];
}
?>
That way your visitor understands what is going on.
>
> for example
>
> echo "<div id="success">Thanks, here are the links you are looking
> for....</div>";
>
> I'm guessing I might have to escape the extra quotation marks, because
> it wouldn't parse the line when I just tried it.
excactly.
Also, consider less usage of echo. It makes your life unneeded hard since
PHP can easily jump in and out of the output like this:
<?php
if ($sometest){
?>
massive amount of plain HTML
<?php
} else {
?>
massive amount of plain HTML
<?php
}
?>
It saves you a lot of extra work to simple 'jump back to html'.
>
> Anyway.. Am I barking up the wrong tree completely?
No, good tree. :-)
>
> Thanks in advance
>
> Doug.
Regards,
Erwin Moller
Navigation:
[Reply to this message]
|