1º Valida si el campo está vacio.
2º Si el número no existe en la base de datos manda el formulario.
2º Si el número existe en la base de datos me dice que el número existe y si quiero ver los resultados.
El caso es que no me funciona, solo valida el campo si está vacio y luego parece que no tiene la respuesta del php.
Por favor podéis echarle un vistazo?
Archivo con el que llamo al php:
function GuardaFormulario()
{
var _TELEFONO = document.forms['form1'].elements['TELEFONO'];
if (_TELEFONO.value.length == 0)
{
alert("Insertar el Teléfono");
_TELEFONO.focus();
return 0;
}
else
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "valida1.php?TELEFONO=" + _TELEFONO, true);
xmlhttp.send();
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var xml = xmlhttp.responseXML;
dato=xml.getElementsByTagName("datos");
if(dato[0].firstChild.nodeValue=="1")
{
num_user=xml.getElementsByTagName("numusuario");
var boton = confirm("¡Usuario existente!¿Desea hacer un nuevo registro?");
if (boton)
{
window.location.href = "menu3.php?id="+num_user[0];
}
else
{
window.location.href = "menu4.php";
}
}
if(dato[0].firstChild.nodeValue=="0")
{
alert("¡El Cliente se ha dado de alta!");
document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
}
}
}
}
valida1.php
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
header('Content-Type: text/xml');
header("Cache-Control: no-store, no-cache, must-revalidate");
$xml="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
$xml.="<respuesta>\n";
require_once('Connections/conexion.php');
$TELEFONO = isset($_GET['TELEFONO']) ? $_GET['TELEFONO']:"";
$query=mysql_query("SELECT TELEFONO,NUM_USUARIO FROM usuarios WHERE TELEFONO ='".$TELEFONO."'");
$rows = mysql_num_rows($query);
if ($rows>0)
{
$assoc=mysql_fetch_assoc($query);
$xml.="<datos><![CDATA[1]]></datos>\n";
$xml.="<numusuario><![CDATA[".$assoc['NUM_USUARIO']."]]></numusuario>\n";
}
else
{
$xml.="<datos><![CDATA[0]]></datos>\n";
}
$xml.="</respuesta>\n";
echo $xml;
?>
Puede ser que en xmlhttp.send(); falten las variables?
Gracias y un saludo