<Merry Christmas ⁄>
<mySnippets order="rand" ⁄>
<myBlog show="last" ⁄>
<myNews show="rand" ⁄>
<myNews type="cat" ⁄>
<myPhoto order="random" ⁄>
<myAdSense ⁄>
<myQuote order="random" ⁄>
<myContacts ⁄><email ⁄>
<windows live messenger ⁄>
<myCurriculum type="pdf" ⁄>
<myVisitorsMap ⁄>

<?php /** * Fazer ligação à bd * * @return identificador */ function connectDB(){ $db = mysql_connect("servername", "username", "password"); mysql_select_db("database",$db) or die("<b><br>Impossivel aceder á base de dados.</b><br>"); return $db; } /** * Obter valor da tabela * * @param String $tabela * @param String $campoAObter * @param String $id_filter * @param String $filter_value * @return String */ function getValueFromTable($tabela, $campoAObter,$id_filter, $filter_value){ $db=connectDB(); $filter_value=mysql_real_escape_string($filter_value); $sql="Select $campoAObter From $tabela Where $id_filter='$filter_value'"; $myRes = mysql_query($sql) or die("$sql ".mysql_error()); $myrow=mysql_fetch_assoc($myRes); $fieldValue=$myrow["$campoAObter"]; mysql_close($db); return $fieldValue; } /** * Construir Formulário * * @return String */ function ConstruirFormulario(){ return " <form name='frmTeste' id='frmTeste' method='post'> <label for='txtUsername'>Username</label> <input type='text' name='txtUsername' id='txtUsername' size='30' onchange='jxCheckValueExists(this.name,\"checkUsername\");' /> <img name='txtUsernameImg' id='txtUsernameImg' src='blank.gif' border='0' /> <label for='txtEmail'>E-mail</label> <input type='text' name='txtEmail' id='txtEmail' size='30' onchange='jxCheckValueExists(this.name,\"checkEmail\");' /> <img name='txtEmailImg' id='txtEmailImg' src='blank.gif' border='0' /> <br/><br/> <input type='submit' name='accao' id='accao' value='Submeter Formulário' /> </form> "; } ?>
var http_request = false; /** * Criar request * */ function createHttpRequest(){ if (window.XMLHttpRequest){ // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType){ http_request.overrideMimeType('text/html'); } } else if (window.ActiveXObject){ // IE try{http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e){ try{http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {} } } if (!http_request){ alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } } /** * Função responsável pelo inicio da comunicação com o servidor * e a obtenção da resposta, bem como o seu tratamento * * @param field - Nome do Campo onde irá ser obtido o valor * @param type - Tipo de validação * */ function jxCheckValueExists(field, type){ var value = document.getElementById(field).value; url = antiCacheRand("ajax.php?accao=check_value&value="+value+"&type="+type); createHttpRequest(); http_request.onreadystatechange = function() { var img = document.getElementById(field+"Img"); var state=http_request.readyState; var result, description; if(state==4){//completo if (http_request.status == 200){ //pedido respondido com sucesso result=http_request.responseText; description=(result)?"Valor válido ...":"Este valor já existe, por favor escolha outro ..."; img.src=(result)?"btOK.png":"btErro.png"; img.alt=description; img.title=description; } } }; http_request.open("GET", url, true); http_request.send(null); } // hack IE para ultrapassar problema cache pedidos get function antiCacheRand(aurl) { if ( aurl.indexOf("?") >= 0 ) { // já tem parametros return aurl + "&foo=" + encodeURI(Math.random()); } else { return aurl + "?foo=" + encodeURI(Math.random()); } }
<?php // ficheiro responsável pela comunicação com a base de dados // e devolve a resposta ao pedido include_once("funcoes.php"); $accao=$_GET["accao"]; if($accao=="check_value"){ $value=$_GET["value"]; $type=$_GET["type"]; switch ($type){ case "checkUsername": $result=getValueFromTable("dados_login","pk_login","username",$value); break; case "checkEmail": $result=getValueFromTable("dados_login","pk_login","email",$value); break; default: $result=""; } echo ($result==""); } ?>
<?php include_once("funcoes.php"); $accao=$_REQUEST["accao"]; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt"> <head> <title>Ajax - Verificar campo ...</title> <script type='text/javascript' src='ajax.js'></script> <style type="text/css"> body{ font-family: Tahoma, Verdana; font-size: 12px; } </style> </head> <body> <?php if(!$accao){ echo ConstruirFormulario(); } else{ //fazer qualquer coisa com os dados ..... // inserir, actualizar, remover, etc, etc } ?> </body> </html>

