Re: re: some problems with php form

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Seems like you're using some sort of a template or something.

I am not familiar with this type, so I'm afraid I can't be of much help... but if i had to guess, it seems that you have to use {} instead of <?PHP and ?> So try this :

replace from the <?PHP line down to the input.error/input.normal line with this

<?php
/* * Do all the logic BEFORE the form layout
*/
$class = "input.normal";

if ($error_msg)
	$class = "input.error";

$form_block=<<<END_FORM
<form method="post" action="{$_SERVER['PHP_SELF']}" class="info_request" >
<fieldset class="left">
<legend title="About You">About You</legend>

<p><label for="firstname"><span class="red">*</span> First Name: </label><br
/>

<input class="{$class?}" id="firstname" name="firstname" type="text" value="{$_POST['firstname']}">

Regarding the regex,

check out this page http://www.sitepoint.com/article/regular-expressions-php

the gist of it is
|
eregi('^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$', $email)|


Good Luck

Bruce Gilbert wrote:

I think so Minuk. Here is the *entire* form code below. Maybe someone can
also point out why the email regex validation code isn't working?
TIA
/****************************begin PHP form
code*************************************/

<?php
$form_block=<<<END_FORM
<form method="post" action="{$_SERVER['PHP_SELF']}" class="info_request" >
<fieldset class="left">
<legend title="About You">About You</legend>

<p><label for="firstname"><span class="red">*</span> First Name: </label><br
/>

<input class="<?PHP if ($error_msg){echo "input.error";}else{echo "
input.normal";}?>" id="firstname" name="firstname" type="text" value="<?PHP
echo $_POST['firstname'];?>">

<p><label for="lastname"><span class="red">*</span> Last Name:</label><br />

<input id="lastname" name="lastname" type="text"
value="{$_POST['lastname']}" /></p>

<p><label for="company"><span class="red">*</span> Company: </label><br />

<input id="company" name="company" type="text" value="{$_POST['company']}"
/></p>

<p><label for="phone"><span class="red">*</span> Phone: </label><br />

<input id="phone" name="phone" type="text" value="{$_POST['phone']}" /></p>

<p><label for="email"><span class="red">*</span> e-mail: </label><br />

<input id="email" name="email" type="text" value="{$_POST['email']}" /></p>

<p><label for="email2"><span class="red">*</span> re-enter e-mail:
</label><br />

<input id="email2" name="email2" type="text" value="{$_POST['email2']}"
/></p>
</fieldset>
<fieldset>
<legend title="More Info.">More Info.</legend>
<p><label for="URL"><span class="red">*</span>
URL:</label><br<http://mail.google.com/mail/</label><br>/>

<input id="URL" type="text" name="URL" value="{$_POST['URL']}"/> </p>

<p><label for="Contact_Preference"><span class="red">*</span> Best way to
reach:</label><br />

<select name="Contact_Preference" id="Contact_Preference">
<option value="email">email</option>
<option value="phone">phone</option>
<option value="snail_mail">snail mail</option>

</select>
</p>

<p><label for="Contact_Time"><span class="red">*</span> Best time to
contact:</label><br />

<select name="Contact_Time" id="Contact_Time">

<option value="morning">morning</option>
<option value="evening">evening</option>
<option value="anytime">anytime</option>

</select></p>

<input type="hidden" name="op" value="ds" />

<textarea name="message" id="message" rows="" cols="" >Send us a detailed
message specifying what you wish to accomplish with your web site.
</textarea>
<input class="submit" src="/images/submit.gif" alt="Submit" type="image"
name="submit" />

</fieldset>
</form>
</div>
<p><span class="red">*</span> indicates a required field (all fields are
required).</p>
END_FORM;
if ($_POST['op']!='ds') {
echo "$form_block";
} else if ($_POST["op"] == "ds") {

//Function saves time and space by eliminating unneccesary code
function check($fieldname)
{
global $err_msg;
if($_POST[$fieldname] == "")
{
if ( !isset($err_msg)) { $err_msg = "<span class='red'>You haven't entered
your ".$fieldname."!</span><br />"; }
elseif ( isset($err_msg)) { $err_msg="<span class='red'>You haven't entered
your ".$fieldname."!</span><br />"; }
}
return $err_msg;
}

if(!eregi("^(.+)@(.+)\\.(.+)$",$_POST['email']))
{
$error_msg .= "<BR />Your email appears to be invalid.";
$ok = "false";
}

//////////////////////////
///Function execution/////
//////////////////////////

check('firstname');
check('lastname');
check('company');
check('phone');
check('email');
check('email2');
check('URL');
check('Contact_Preference');
check('Contact_Time');
check('message');

//Validating Email Address
if ($_POST['email'] != $_POST['email2']) { $email_err = "\n<span
class='red'>e-mail address fields do not match!</span>"; }

if (isset($err_msg) || isset($email_err)) { echo
$err_msg.$email_err."\n\n".$form_block; }
else {
//it's ok to send, so build the mail
$msg = "E-mail sent from
www.inspired-evolution.com\n<http://www.inspired-evolution.com/n>
";
$msg .="Sender's first name: {$_POST['firstname']}\n";
$msg .="Sender's last name: {$_POST['lastname']}\n";
$msg .="Company name: {$_POST['company']}\n";
$msg .="Senders Phone number: {$_POST['phone']}\n";
$msg .="Senders email address: {$_POST['email']}\n";
$msg .="Senders email address (re-typed): {$_POST['email2']}\n";
$msg .="The website is : {$_POST['URL']}\n";
$msg .="I prefer to be contacted via: {$_POST['Contact_Preference']}\n";
$msg .="The Best time to contact is: {$_POST['Contact_Time']}\n";
$msg .="Message: {$_POST['message']}\n\n";
$to ="webguync@xxxxxxxxx";
$subject ="There has been a disturbance in the force";
$mailheaders ="From: Inspired-Evolution.com
<http://www.inspired-evolution.com>\n <http://www.inspired-evolution.com>/n>
";
$mailheaders .="Reply-To: {$_POST['email']}\n";
//send the mail
mail ($to, $subject, $msg, $mailheaders);
//display information to user
echo "<p>Hola, <strong>$firstname</strong>!.<br /><br />
We have received your request for a web site review , and will respond
shortly.<br />
Thanks for visiting inspired-evolution.com
<http://inspired-evolution.com>and have a wonderful day!<br /><br />
Regards,<br /><br />
<strong>Inspired Evolution</strong></p>";
}

}
?>
/****************************end PHP form
code*************************************/


On 10/18/05, Minuk Choi <Choi.Minuk@xxxxxxxxxxx> wrote:
Can you post your Contact_Form_test.php?

<input class="<?PHP
if ($error_msg)
{
echo "input.error";
}
else
{
echo "input.normal";
}
?>" id="firstname" name="firstname" type="text" value="<?PHP echo
$_POST['firstname'];?>">

should parse into HTML by PHP. This block, I am assuming is placed in a
HTML tag and not in a <?PHP block, correct?



Bruce Gilbert wrote:

Minuk,
your revisions gives me an error:
*Parse error*: parse error, unexpected T_ENCAPSED_AND_WHITESPACE,
expecting
T_STRING or T_VARIABLE or T_NUM_STRING in *
/hsphere/local/home/bruceg/inspired-evolution.com/Contact_Form_test.php<http://evolution.com/Contact_Form_test.php>
<http://evolution.com/Contact_Form_test.php>
* on line *63*
-Bruce

On 10/17/05, Minuk Choi <Choi.Minuk@xxxxxxxxxxx> wrote:


Wait a minute... you meant

<input class="
<?PHP
if ($error_msg)
{
echo "input.error";
}
else
{
echo "input.normal";
}
?>" id="firstname" name="firstname" type="text" value="<?PHP echo
$_POST['firstname'];?>">


...or am I looking at the wrong thing?

Bruce Gilbert wrote:



---------- Forwarded message ----------
From: "Richard Lynch" <ceo@xxxxxxxxx>
To: "Mark Rees" <mrees@xxxxxxxxxxxxxxxxx>
Date: Mon, 17 Oct 2005 15:12:50 -0500 (CDT)
Subject: Re:  Re: a couple of problems with PHP form
On Mon, October 17, 2005 5:32 am, Mark Rees wrote:




-----------------------------------------------------
sorry, my editor has not indented again
-----------------------------------------------------
also, I want the field to appear hilighted when there is no
information so I am doing this:

<input class="<? if($error_msg){ echo "error"; } ELSE { echo
"normal"; } id="firstname" name="firstname" type="text"
value="{$_POST['firstname']}"? />"




I think the quote mark balancing is messed up here...




<input class="
this starts a quote for the class=
There appears to be no ending quote for that...




I>t may simply have been lost in email editing, however...


adding the input.error didn't solve the problem dang it.! If there is
a ending quote missing, I don't see it right off hand.

I know have:


<input class="<? if($error_msg){ echo "input.error"; } ELSE { echo
"input.normal"; } id="firstname" name="firstname" type="text"
value="{$_POST['firstname']}"? />"

in the css:

input.error {
border: 2px inset red;
margin:0;
font-family: arial, helvetica, sans-serif;
color: #036;
width: 15em;
padding-left: .25em;
font-weight: bold;
background: #eee;
}






--
::Bruce::






--
::Bruce::


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux