Código PHP:
<?php
//incluímos la clase ajax
require_once("Xajax/xajax_core/xajax.inc.php");
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);
function muestra_formulario(){
//creo el xajaxResponse para generar una salida
$respuesta2 = new xajaxResponse();
$codigo_formul = '<FORM id="formIMFab">
<TABLE style="HEIGHT:100%;WIDTH:100%;" BORDER=0>
<TR ALIGN="center" BOTTOM="middle"><TD>
<TABLE BORDER=0>
<tr><td>
<TR>
<TD align="left" width="100"><P>Nombre Fabricante:</P></TD>
<TD align="left" width="150"><INPUT TYPE="text" NAME="NomFab" MAXLENGTH="20" SIZE="20" onChange="javascript:this.value=this.value.toUpperCase();"></P></TD>
</TR>
<TD align="left" width="100"><P>Imagen:</P></TD>
<TD align="left" width="150"><input type="file" id="foto" name="foto"/>
</TD>
</TR>
<TR>
<TD>
<input type="button" value="Guardar" onClick="xajax_procesar_formulario(xajax.getFormValues(\'formIMFab\'));"/>
<INPUT type="reset" value="Limpiar" name="Limpiar" onClick="ponerfoco(0,0)">
</TD>
</TR>
</FORM>
';
//mostramos en capa capaformulario el texto código HTML del formulario
$respuesta2->assign("capaformulario","innerHTML","$codigo_formul");
return $respuesta2;
}
function procesar_formulario($form_entrada){
//creo el xajaxResponse para generar una salida
$respuesta = new xajaxResponse();
include_once("../BBDD/conexDBTMusik.php");
$NomFab=$form_entrada["NomFab"];
$consulta1="SELECT * FROM fabricante WHERE Fabricante='".$NomFab."'";
$ejecuta1=mysql_query($consulta1,$link);
$nr=mysql_num_rows($ejecuta1);
//validación
$error_form = "";
if ($form_entrada["NomFab"]==""){$error_form="Debes escribir el nombre del Fabricante";}
elseif($nr!=0){$error_form="Fabricante ya existente";}
//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->assign("mensaje","innerHTML","<span style='color:red;'>$error_form</span>");
}
else
{
$cadena="INSERT INTO fabricante(Fabricante)VALUES('".$NomFab."')";
$ejecuta2=mysql_query($cadena,$link);
//mostramos en capa mensaje el texto que está todo correcto
$respuesta->assign("mensaje","innerHTML","<span style='color:blue;'>Todo correcto...Fabricante introducido, rellena los datos del formulario e introduce otro!</span>");
xajax_muestra_formulario();
}
//tenemos que devolver la initanciación del objeto xajaxResponse
return $respuesta;
include_once("../BBDD/desconexDBTMusik.php");
}
//registramos la función creada anteriormente al objeto xajax
$xajax->registerFunction("muestra_formulario");
$xajax->registerFunction("procesar_formulario");
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
Código HTML:
<HTML> <HEAD> <TITLE>Introducir Fabricante</TITLE> <SCRIPT type="text/javascript" SRC="../Js/Introducir.js"></SCRIPT> <link rel="stylesheet" type="text/css" href="../css/contenedor.css" title="contenedor" /> <link rel="alternate stylesheet" type="text/css" href="../css/menu.css" title="menu" /> <?php //En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario $xajax->printJavascript("xajax/"); ?> </HEAD> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <BODY onLoad="ponerfoco(0,0);"> <CENTER> <div id="mensaje"> Rellena los datos de este formulario y pulsa "Guardar" </div> </CENTER> <!-- Conectamos con la BBDD --> <?php include_once("../BBDD/conexDBTMusik.php"); ?> <div id="capaformulario"> <FORM id="formIMFab"> <TABLE style="HEIGHT:100%;WIDTH:100%;" BORDER=0> <TR ALIGN="center" BOTTOM="middle"><TD> <TABLE BORDER=0> <tr><td> <TR> <TD align="left" width="100"><P>Nombre Fabricante:</P></TD> <TD align="left" width="150"><INPUT TYPE="text" NAME="NomFab" MAXLENGTH="20" SIZE="20" onChange="javascript:this.value=this.value.toUpperCase();"></P></TD> </TR> <TD align="left" width="100"><P>Imagen:</P></TD> <TD align="left" width="150"><input type="file" id="foto" name="foto"/> </TD> </TR> <TR> <TD> <input type="button" value="Guardar" onClick="xajax_procesar_formulario(xajax.getFormValues('formIMFab'));"/> <INPUT type="reset" value="Limpiar" name="Limpiar" onClick="ponerfoco(0,0)"> </TD> </TR> </FORM> </div> <?php include_once("../BBDD/desconexDBTMusik.php"); ?> </BODY> </HTML>