Jump to content


Photo

No me funciona codigo


  • Please log in to reply
2 replies to this topic

#1 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 posts

Posted 02 December 2012 - 02:59 PM

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 posts

Posted 03 December 2012 - 01:55 PM

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 posts
  • LocationMy House @ México

Posted 05 December 2012 - 11:15 AM

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.