Ir al contenido


Foto

No me funciona codigo


  • Por favor identifícate para responder
2 respuestas en este tema

#1 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 mensajes

Escrito 02 diciembre 2012 - 02:59

Hola compañeros tengo un código que es un formulario donde tengo un campo llamado teléfono en el cúal al ingresar el número:

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
  • 0

#2 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 mensajes

Escrito 03 diciembre 2012 - 01:55

Una pregunta, como recoge las variables del archivo php el archivo js que he puesto antes?
  • 0

#3 porfi.dev

porfi.dev

    Advanced Member

  • Miembros
  • PipPipPip
  • 183 mensajes
  • LocationMy House @ México

Escrito 05 diciembre 2012 - 11:15

Bueno en primera es muy raro que llames a una variable "_TELEFONO" pero en fin.


EL JS obtiene el valor de lo que defines en la linea 3

[js]var _TELEFONO = document.forms['form1'].elements['TELEFONO'];
[/js]
yo usaria algo como

[js]var mytelefono = document.nombreformulario.telefono.value;[/js]

el nombre de formulario es el que pones en <form name="nombreformulario">... </form>
telefono es el nombre que le pones al input <input type="text" name="telefono">

Envia los datos mediante las lineas 25 y 26

[js]     
xmlhttp.open("GET", "valida1.php?TELEFONO=" + _TELEFONO, true);
      xmlhttp.send();  [/js]

Los errores que veo en valida1.php es por ejemplo linea 10:

$TELEFONO = isset($_GET['TELEFONO']) ? $_GET['TELEFONO']:"";


yo usaria algo como

if(isset($_GET['telefono']) and $_GET['telefono'] != "")
        $telefono = $_GET['telefono'];

y todo el codigo dentro del if, bueno eso hasta donde entendi de tu codigo ;)







  • 0




IP.Board spam blocked by CleanTalk.