PDA

View Full Version : My Input Validation Code causing Errors...



oddball25
25 Jan 2010, 05:50 AM
Hey

I cannot get my php validation code to run without errors. I get the following
error:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in...

I have 'validate.php' which sets the validation functions for each and i call this in 'require_once' at the start of my main php page. I have a switch statement that when 'formchoiceone' is chosen it echos the form and the validation.

I have tested this code in a standard php file (one that does not output the form and validation in an echo) and it all works fine but having it inside the echo is producing errors. Code is below:

validate.php

<?php
function validateInputOne($one){
//if it's NOT valid
if(ereg('[^A-Za-z]', $one))
return false;
//if it's valid
else
return true;
}
function validateInputTwo($two){
//if it's NOT valid
if(ereg('[^0-9]', $two))
return false;
//if it's valid
else
return true;
}
?>

main php page

<?php
session_start();
require_once("validate.php");

switch ($choice) {

case 'formchoiceone':
echo '
<div id=form>
<form name="formone" method="post" action="">
if( isset($_POST['send']) && (!validateInputOne($_POST['one']) || !validateInputTwo($_POST['two]) ) ):
<div id="error">
if(!validateInputOne($_POST['one'])):
<p class="cform">[Please enter Letters Only]</p>
endif
if(!validateInputTwo($_POST['two'])):
<p class="cform">[Please enter Numbers Only]</p>
endif
</div>
elseif(isset($_POST['send'])):
<div id="error" class="valid">
</div>
endif
<p class="cform">Name<input id="one" name="one" type="text"/></p>
<p class="cform">Age<input id="two" name="two" type="text"/></p>
<input id="send" name="send" class="submitbutton" type="submit" value="Send"></input>
</form>
</div>';
break;



?>


Any ideas on this? Had me stuck for days now...

Thanks

Jon

bendude
25 Jan 2010, 09:38 AM
Try this, you had a few quotes missing and also I used brackets. It looks clearer to me but only my preference.

Feel free to change them back.



<?php
session_start();
require_once("validate.php");

switch ($choice) {

case 'formchoiceone':
echo '
<div id=form>
<form name="formone" method="post" action="">';
if( isset($_POST['send']) && (!validateInputOne($_POST['one']) || !validateInputTwo($_POST['two']) ) )
{

echo '<div id="error">';

if(!validateInputOne($_POST['one']))
{
echo '<p class="cform">[Please enter Letters Only]</p>';
}
if(!validateInputTwo($_POST['two']))
{
echo '<p class="cform">[Please enter Numbers Only]</p>';
}

echo '</div>';
}
elseif(isset($_POST['send']))
{
echo '
<div id="error" class="valid"></div>';
}
echo '
<p class="cform">Name<input id="one" name="one" type="text"/></p>
<p class="cform">Age<input id="two" name="two" type="text"/></p>
<input id="send" name="send" class="submitbutton" type="submit" value="Send"></input>
</form>
</div>';
break;