Exacto en primera instancia hice eso la parte del proceso lo hacia en un script aparte asi:
Código php:
Ver original<?php
include 'conexion.php';
function validaIngreso($valor)
{
// Funcion utilizada para validar el dato a ingresar recibido por POST
if(eregi("^[a-zA-Z0-9.@ ]{4,40}$", $valor)) return TRUE; else return FALSE;
}
function verificaExistencia($apodo)
{
/* Funcion encargada de verificar la existencia del apodo recibido en base de datos.
Devuelve TRUE si el apodo existe, FALSE de lo contrario */
if(!empty($registro)) return TRUE; else return FALSE;
}
if(isset($_POST["ingreso"])) {
// Quito espacios en blanco al comienzo y fin de la cadena
$valor=trim($_POST["ingreso"]); // Si el valor recibido es valido...
if(validaIngreso($valor))
{
conectar();
// Verifico que la base de datos no rebase los 600 registros (numero arbitrario)
if($registro[0]>=600) { echo "Hay demasiados registros en la Base de Datos"; die(); }
// Si el apodo ya existe en base de datos...
if(verificaExistencia($valor)) echo "Tu apodo ya existe en la base de datos";
else
{
// Ingreso el nuevo apodo
echo "Tu apodo ha sido ingresado";
}
desconectar();
}
}
elseif(isset($_POST["verificacion"])) {
// Quito espacios en blanco al comienzo y fin de la cadena
$valor=trim($_POST["verificacion"]); // Si el valor recibido es valido...
if(validaIngreso($valor))
{
conectar();
// Si el apodo ya existe en base de datos...
if(verificaExistencia($valor)) echo "El registro ya existe Chequea bien aver";
else echo "Apodo disponible";
desconectar();
}
}
?>
Y en el form a esta parte llamaba asi:
ajax.open("POST", index.php?mod=ajax&pag=proceso", true);
Y en mi controlador asi:
Código php:
Ver originalswitch($pagina) {
case 'vista':
// if(!empty($_SESSION['usuario_id'])||($_SESSION['usuario_nivel']==3)||($_SESSION['usuario_nivel']==2)){
include('modulos/ajax/vistas/uno.html.php');
//} else {
// echo "<center> Usted no tiene permisos para acceder </center>";
//}
break;
case 'proceso':
include('modulos/ajax/vistas/proceso.php');
Pero es lo mismo me sigue repitiendo ??
Estoy haciendo la prueba en un solo fuera de mi sistema esto y resulta que lleve todos los archivos en uno solo que se llama uno.html.php
y el problema es el mismo:
Código php:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>UNO SOLO</title>
<script type="text/javascript">
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
function eliminaEspacios(cadena)
{
// Funcion equivalente a trim en PHP
var x=0, y=cadena.length-1;
while(cadena.charAt(x)==" ") x++;
while(cadena.charAt(y)==" ") y--;
return cadena.substr(x, y-x+1);
}
function validaIngreso(valor)
{
/* Funcion encargada de validar lo ingresado por el usuario. Se devuelve TRUE en caso de ser
valido, FALSE en caso contrario */
var reg=/(^[a-zA-Z0-9.@ ]{4,40}$)/;
if(reg.test(valor)) return true;
else return false;
}
function nuevoEvento(evento)
{
// Obtengo el div donde se mostraran las advertencias y errores
var divMensaje=document.getElementById("error");
/* Dependiendo de cual sea el evento que ejecuto esta funcion (ingreso o verificacion) se setean
distintas variables */
if(evento=="ingreso")
{
var input=document.getElementById("ingreso");
// Boton presionado
var boton=document.getElementById("botonIngreso");
// Valor ingresado por el usuario
var valor=input.value;
// Texto a colocar en el input mientras se esta cargando la respuesta del servidor
var textoAccion="Ingresando...";
}
else
{
var input=document.getElementById("verificacion");
// Boton presionado
var boton=document.getElementById("botonVerificacion");
// Valor ingresado por el usuario
var valor=input.value;
// Texto a colocar en el input mientras se esta cargando la respuesta del servidor
var textoAccion="Comprobando...";
}
// Elimino espacios por delante y detras de lo ingresado por el usuario
valor=eliminaEspacios(valor);
// Si el ingreso es invalido coloco un mensaje de error en la capa correspondiente
if(!validaIngreso(valor))
{
divMensaje.innerHTML="El texto ingresado contiene caracteres o longitud inválida";
}
else
{
// Deshabilito inputs y botones para evitar dobles ingresos
boton.disabled=true; input.disabled=true;
input.value=textoAccion;
// Creo la conexion con el servidor y le envio la variable evento (que le indica si debe ingresar o verificar) y el dato a utilizar
var ajax=nuevoAjax();
ajax.open("POST", "uno.html.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(evento+"="+valor);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// Habilito nuevamente botones e inputs
input.value="";
boton.disabled=false; input.disabled=false;
// Muestro el mensaje enviado desde el servidor
divMensaje.innerHTML=ajax.responseText;
}
}
}
}
</script>
</head>
<?php
include 'conexion.php';
function validaIngreso($valor)
{
// Funcion utilizada para validar el dato a ingresar recibido por POST
if(eregi("^[a-zA-Z0-9.@ ]{4,40}$", $valor)) return TRUE; else return FALSE;
}
function verificaExistencia($apodo)
{
/* Funcion encargada de verificar la existencia del apodo recibido en base de datos.
Devuelve TRUE si el apodo existe, FALSE de lo contrario */
if(!empty($registro)) return TRUE; else return FALSE;
}
if(isset($_POST["ingreso"])) {
// Quito espacios en blanco al comienzo y fin de la cadena
$valor=trim($_POST["ingreso"]); // Si el valor recibido es valido...
if(validaIngreso($valor))
{
conectar();
// Verifico que la base de datos no rebase los 600 registros (numero arbitrario)
if($registro[0]>=600) { echo "Hay demasiados registros en la Base de Datos"; die(); }
// Si el apodo ya existe en base de datos...
if(verificaExistencia($valor)) echo "Tu apodo ya existe en la base de datos";
else
{
// Ingreso el nuevo apodo
echo "Tu apodo ha sido ingresado";
}
desconectar();
}
}
elseif(isset($_POST["verificacion"])) {
// Quito espacios en blanco al comienzo y fin de la cadena
$valor=trim($_POST["verificacion"]); // Si el valor recibido es valido...
if(validaIngreso($valor))
{
conectar();
// Si el apodo ya existe en base de datos...
if(verificaExistencia($valor)) echo "El registro ya existe Chequea bien aver";
else echo "Apodo disponible";
desconectar();
}
}
?>
<body>
<center>
<div id="demo" style="width:600px;" align="center">
<input type="text" id="verificacion">
<button type="button" id="botonVerificacion" onclick="nuevoEvento('verificacion')">Comprobar</button>
<div class="mensaje" id="error"></div>
</div>
</center>
</body>
</html>
Creo q el porblema paso por aqui :
var ajax=nuevoAjax();
ajax.open("POST", "uno.html.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(evento+"="+valor);
Cuando llama de nuevo vuelve a cargar creo no se que dicen ??