Eso lo adapte a mi formulario de "registrarse". Tengo una duda. Una vez que valida todos los campos, en el ejemplo aparece un mensaje que dice algo asi como "todo correcto". En vez de eso, es posible que cargue los datos directamente en la base de datos?
como deberia hacer eso?
muchas gracias, les dejo el codigo:
Código:
<? //incluímos la clase ajax require ('xajax/xajax.inc.php'); //instanciamos el objeto de la clase xajax $xajax = new xajax(); $xajax->setCharEncoding('ISO-8859-1'); $xajax->decodeUTF8InputOn(); function procesar_formulario($form_entrada){ //creo el xajaxResponse para generar una salida $respuesta = new xajaxResponse('ISO-8859-1'); //validación $error_form = ""; if ($form_entrada["nombre"] == "") $error_form = "Debes escribir tu nombre"; elseif ($form_entrada["apellidos"] == "") $error_form = "Debes escribir tus apellidos"; elseif (!isset($form_entrada["acepto"])) $error_form = "Debes aceptar los términos y condiciones"; //compruebo resultado de la validación if ($error_form != ""){ //Hubo un error en el formulario //en la capa donde se muestran mensajes, muestro el error $respuesta->addAssign("mensaje","innerHTML","<span style='color:red;'>$error_form</span>"); }else{ //es que no hubo error en el formulario $salida = "Hemos procesado esto:<p>"; $salida .= "Nombre: " . $form_entrada["nombre"]; $salida .= "<br>Apellidos: " . $form_entrada["apellidos"]; //mostramos en capa mensaje el texto que está todo correcto $respuesta->addAssign("mensaje","innerHTML","<span style='color:blue;'>Todo correcto... Muchas gracias!</span>"); //escribimos en la capa con id="capaformulario" el texto que aparece en $salida $respuesta->addAssign("capaformulario","innerHTML",$salida); //tenemos que devolver la instanciación del objeto xajaxResponse } return $respuesta; } //registramos la función creada anteriormente al objeto xajax $xajax->registerFunction("procesar_formulario"); //El objeto xajax tiene que procesar cualquier petición $xajax->processRequests(); ?> <html> <head> <title>Enviar y procesar un formulario con Ajax y PHP</title> <? //En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario $xajax->printJavascript("xajax/"); ?> </head> <body> <h1>Recibir y procesar formulario con Ajax y PHP</h1> <div id="mensaje"> Rellena los datos de este formulario y pulsa "Enviar" </div> <br /> <div id="capaformulario"> <form id="formulario"> Nombre: <input type="text" name="nombre" /> <br /> Apellidos: <input type="text" name="apellidos" /> <br /> <input type="checkbox" name="acepto" value="1" /> Acepto los términos y condiciones ;) <br /> <input type="button" value="Enviar" onclick="xajax_procesar_formulario(xajax.getFormValues('formulario'))" /> </form> </div> </body> </html>