Form Validation With xajax
Listing 2. The input.php script uses xajax to validates a catalog entry form. ![]() <?php require('./xajax/xajax.inc.php'); $xajax = new xajax(); $xajax->cleanBufferOn(); $xajax->registerFunction("validateCatalogId"); $xajax->registerFunction("updateCatalog"); function validateCatalogId($formValues){ $objResponse = new xajaxResponse(); $catalogId=trim($formValues['catalogId']); $username='OE'; $password='password'; $db='(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )'; $connection = oci_connect($username, $password, $db); $stmt = oci_parse($connection, "SELECT * from OE.CATALOG WHERE catalogId='".$catalogId."'"); $r = oci_execute($stmt); $nrows = oci_fetch_all($stmt, $result); if($nrows==0){ $objResponse->addAssign("validationMessage","innerHTML","Catalog Id is Valid"); $objResponse->addAssign("submitForm","disabled",false); $objResponse->addAssign("journal","value",""); $objResponse->addAssign("publisher","value",""); $objResponse->addAssign("edition","value",""); $objResponse->addAssign("title","value",""); $objResponse->addAssign("author","value",""); } if($nrows>0){ $objResponse->addAssign("validationMessage","innerHTML","Catalog Id is not Valid"); oci_fetch($stmt); $catalogId=oci_result($stmt,'CATALOGID'); $journal=oci_result($stmt,'JOURNAL'); $publisher=oci_result($stmt,'PUBLISHER'); $edition=oci_result($stmt,'EDITION'); $title=oci_result($stmt,'TITLE'); $author=oci_result($stmt,'AUTHOR'); $objResponse->addAssign("journal","value",$journal); $objResponse->addAssign("publisher","value",$publisher); $objResponse->addAssign("edition","value",$edition); $objResponse->addAssign("title","value",$title); $objResponse->addAssign("author","value",$author); $objResponse->addAssign("submitForm","disabled",true); } return $objResponse->getXML(); } function updateCatalog($formValues){ $catalogId=trim($formValues['catalogId']); $journal=trim($formValues['journal']); $publisher=trim($formValues['publisher']); $edition=trim($formValues['edition']); $title=trim($formValues['title']); $author=trim($formValues['author']); $username='OE'; $password='password'; $db='(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )'; $connection = oci_connect($username, $password, $db); $sql = "INSERT INTO OE.Catalog VALUES('".$catalogId."','".$journal."','".$publisher."','".$edition."','".$title."','".$author."')"; $stmt = oci_parse($connection, $sql); $r=oci_execute($stmt); if (!$r) { $e = oci_error($stmt); echo htmlentities($e['message']); } } $xajax->processRequests(); ?> <head> <?php $xajax->printJavascript('./xajax'); ?> </head> <body> <h1>Form to Create a Catalog Entry</h1> <form id="validationForm" name="validationForm" onsubmit="xajax_updateCatalog(xajax.getFormValues('validationForm'));"> <table> <tr><td>Catalog Id:</td><td><input type="text" size="20" id="catalogId" name="catalogId" autocomplete="off" onkeyup="xajax_validateCatalogId(xajax.getFormValues('validationForm'));"></td> <td><div id="validationMessage"></div></td> </tr> <tr><td>Journal:</td><td><input type="text" size="20" id="journal" name="journal"></td> </tr> <tr><td>Publisher:</td><td><input type="text" size="20" id="publisher" name="publisher"></td> </tr> <tr><td>Edition:</td><td><input type="text" size="20" id="edition" name="edition"></td> </tr> <tr><td>Title:</td><td><input type="text" size="20" id="title" name="title"></td> </tr> <tr><td>Author:</td><td><input type="text" size="20" id="author" name="author"></td> </tr> <tr><td><input type="submit" value="Create Catalog" id="submitForm" name="submitForm"></td> </tr> </table> </form> </body> </html> |