My Input Validation Code causing Errors

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

You have if’s in your echo statement.

Is there anyway i can get this to work then with if statement inside the echo?

Or is there a way it can be re-written to get the if else statement before the echo?

use couple of echo statements.
output each part of HTML code separately. use condition for some of them


<?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">';
      echo '</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;



?>