Código:
Gracias y un saludo window.location.href = "menu3.php?id=" . $_POST["NUM_USUARIO"];
| ||||
Respuesta: No me lleva a la pagina. Gracias por responder. Me da un error que es
Código:
Y creo que es porque no sé sacar de un php la variable NUM_USUARIO.ReferenceError: NUM_USUARIO is not defined [Parar en este error] window.location = "menu3.php?id="+NUM_USUARIO; Este es el valida1.php: Código PHP: Y pasarla a un cod js:
Código Javascript:
Ver original Gracias. |
| |||
Respuesta: No me lleva a la pagina. Hola, El problema es que tienes es que está mezclando javascript con php... Si quieres hacerlo todo con php Código PHP: Código PHP: Código PHP: Salu2 ;) Vale ahora veo que estás usando AJAX lo miro y te digo algo... |
| |||
Respuesta: No me lleva a la pagina. A ver voy a intentar echarte una mano como yo lo haría, a ver si te sirve: Javascript: Código HTML: 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=" + encodeURIComponent(_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];/////Aquí es donde no sé traer esta variable///// } 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. } } } } Código PHP: Ya me comentas algo. Lo que hacemos es enviar los datos por php en modo xml y recogemos con javascript num_user=xml.getElementsByTagName("numusuario"); o dato=xml.getElementsByTagName("datos"); y leemos con num_user[0] o dato[0] Salu2 ;) Última edición por jmdearpe; 29/11/2012 a las 18:31 |
| ||||
Respuesta: No me lleva a la pagina. Muchas gracias, pero parece que no tiene respuesta del php. Es decir hacer el alert de introducir el teléfono si el campo está vacio y ya no hace nada mas. Esto es lo que sale en Firebug: Cita: GET http://localhost:8888/sitiopruebas/v...nputElement%5D 200 OK 2ms funcdin4.js (línea 27) ParámetrosEncabezadosXMLCookies Encabezados de respuesta Cache-Control no-store, no-cache, must-revalidate Connection Keep-Alive Content-Length 0 Content-Type text/xml Date Fri, 30 Nov 2012 00:55:39 GMT Keep-Alive timeout=5, max=100 Server Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8r DAV/2 PHP/5.4.4 X-Powered-By PHP/5.4.4 Encabezados de solicitud Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding gzip, deflate Accept-Language es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3 Connection keep-alive Cookie SQLiteManager_currentLangue=10 Host localhost:8888 Referer http://localhost:8888/sitiopruebas/menu4.php User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:16.0) Gecko/20100101 Firefox/16.0 Última edición por satjaen; 29/11/2012 a las 19:07 |
| |||
Respuesta: No me lleva a la pagina. Cita: perdona me faltaba la línea de echo $xml
Iniciado por satjaen Muchas gracias, pero parece que no tiene respuesta del php. Es decir hacer el alert de introducir el teléfono si el campo está vacio y ya no hace nada mas. Esto es lo que sale en Firebug: GET [url]http://localhost:8888/sitiopruebas/valida1.phpTELEFONO=%5Bobject%20HTMLInputElement%5 D[/url] 200 OK 2ms funcdin4.js (línea 27) ParámetrosEncabezadosXMLCookies Encabezados de respuesta Cache-Control no-store, no-cache, must-revalidate Connection Keep-Alive Content-Length 0 Content-Type text/xml Date Fri, 30 Nov 2012 00:55:39 GMT Keep-Alive timeout=5, max=100 Server Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8r DAV/2 PHP/5.4.4 X-Powered-By PHP/5.4.4 Encabezados de solicitud Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding gzip, deflate Accept-Language es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3 Connection keep-alive Cookie SQLiteManager_currentLangue=10 Host localhost:8888 Referer [url]http://localhost:8888/sitiopruebas/menu4.php[/url] User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:16.0) Gecko/20100101 Firefox/16.0 Código PHP: |
| |||
Respuesta: No me lleva a la pagina. Si llamas directamente a valida1.php?TELEFONO= desde la barra de direcciones te debería de mostrar un xml asi: Si pones un telefono existente detras del '=' en la direccion (url) <respuesta> <datos>1</datos> <numusuario>eltelefonoquepusiste</numusuario> </respuesta> Si pones un telefono no existente detras del '=' en la direccion (url) o si no pones nada detras del '=' <respuesta> <datos>0</datos> </respuesta> Si no te sale un xml dime que te sale por si tienes mal algo en conexion a base de datos o en otro sitio Un saludo |
| ||||
Respuesta: No me lleva a la pagina. Cita: Perdona, sigue sin pasar de donde te indique antes.
Iniciado por jmdearpe Si llamas directamente a valida1.php?TELEFONO= desde la barra de direcciones te debería de mostrar un xml asi: Si pones un telefono existente detras del '=' en la direccion (url) <respuesta> <datos>1</datos> <numusuario>eltelefonoquepusiste</numusuario> </respuesta> Si pones un telefono no existente detras del '=' en la direccion (url) o si no pones nada detras del '=' <respuesta> <datos>0</datos> </respuesta> Si no te sale un xml dime que te sale por si tienes mal algo en conexion a base de datos o en otro sitio Un saludo |
| |||
Respuesta: No me lleva a la pagina. Mira pon en tu barra de direcciones esto: http://localhost:8888/sitiopruebas/valida1.phpTELEFONO= Y luego pon http://localhost:8888/sitiopruebas/valida1.phpTELEFONO=UNtelefono que sepas que existe Y dime en ambos casos que te sale... Te sale un documento xml o te devuelve algun error... Si te devuelve un error pon el error... Si no te devuelve ningun error seguimos mirando a ver si es por el javascript |
| ||||
Respuesta: No me lleva a la pagina. Cita: No me da ningún error. No sale nada. Gracias por tu tiempo.
Iniciado por jmdearpe Mira pon en tu barra de direcciones esto: http://localhost:8888/sitiopruebas/valida1.phpTELEFONO= Y luego pon http://localhost:8888/sitiopruebas/v...ONO=UNtelefono que sepas que existe Y dime en ambos casos que te sale... Te sale un documento xml o te devuelve algun error... Si te devuelve un error pon el error... Si no te devuelve ningun error seguimos mirando a ver si es por el javascript |
| |||
Respuesta: No me lleva a la pagina. Es que a ver estas cosas no son de coger pegar el código mágico y ya está, tenemos una aprte de servidor y otra de cliente, si algo falla hay que detectar si es el php porque no conecta bien a base de datos o porque hay algun error. Si php funciona bien ya se pasa a ver porque javascript no hace nada... Por eso te digo es ir por pasos, pero tu tranquilo que ir tiene que ir lo uso yo en un monton de websites que monto a diario ;) Salu2 ;) |
| |||
Respuesta: No me lleva a la pagina. Si estás en una máquina con php instalado, lo más probable si no muestra nada es que tengas las alertas de errores desactivadas: Código PHP: A ver ;) |
| ||||
Respuesta: No me lleva a la pagina. Cita: Perdona, pero soy nuevo en esto. Mira tanto si pongo un teléfono que existe como si no existe en Firebug me da la respuesta:
Iniciado por jmdearpe Es que a ver estas cosas no son de coger pegar el código mágico y ya está, tenemos una aprte de servidor y otra de cliente, si algo falla hay que detectar si es el php porque no conecta bien a base de datos o porque hay algun error. Si php funciona bien ya se pasa a ver porque javascript no hace nada... Por eso te digo es ir por pasos, pero tu tranquilo que ir tiene que ir lo uso yo en un monton de websites que monto a diario ;) Salu2 ;)
Código:
<?xml version="1.0" encoding="iso-8859-1"?> <respuesta> <datos><![CDATA[1]]></datos> <numusuario><![CDATA[]]></numusuario> </respuesta> |
| ||||
Respuesta: No me lleva a la pagina. Cita: Y con este me da esto:
Iniciado por jmdearpe Si estás en una máquina con php instalado, lo más probable si no muestra nada es que tengas las alertas de errores desactivadas: Código PHP: A ver ;)
Código:
<br /> <b>Warning</b>: mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>/Applications/MAMP/htdocs/sitiopruebas/valida1.php</b> on line <b>12</b><br /> <br /> <b>Warning</b>: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in <b>/Applications/MAMP/htdocs/sitiopruebas/valida1.php</b> on line <b>16</b><br /> <?xml version="1.0" encoding="iso-8859-1"?> <respuesta> <datos><![CDATA[1]]></datos> <numusuario><![CDATA[]]></numusuario> </respuesta> |
| |||
Respuesta: No me lleva a la pagina. A ver resumiendo, el script correcto es este y no tiene ningun error creo yo: Código PHP: Si el telefono por el que se pregunta existe en la base de datos, genera un xml devolviendo <respuesta> <datos>1</datos> <numusuario>elnumero de usuario que devuelva la consulta</numusuario> </respuesta> si el telefono no existe simplemente debería de devolver un xml asi <respuesta> <datos>0</datos> <respuesta> Y mientras esto no te funcione de forma correcta no habra ninguna forma de que te funcione el resto. Posibles causas para que no funcione: verificar conexión a base de datos, verificar permiso de usuario que conecta asi como clave, verficar script de conexión a base de datos. Y luego ya cuando esto funcione el javascript es tb sencillo recoges los nodos xml que genera el php y se actua en consecuencia... A ver si consigues hacerlo funcionar. Un saludo |
| ||||
Respuesta: No me lleva a la pagina. Cita: Buenos dias, ahora si meto un telefono tanto si existe como si no existe me da como respuesta en firebug:
Iniciado por jmdearpe A ver resumiendo, el script correcto es este y no tiene ningun error creo yo: Código PHP: Si el telefono por el que se pregunta existe en la base de datos, genera un xml devolviendo <respuesta> <datos>1</datos> <numusuario>elnumero de usuario que devuelva la consulta</numusuario> </respuesta> si el telefono no existe simplemente debería de devolver un xml asi <respuesta> <datos>0</datos> <respuesta> Y mientras esto no te funcione de forma correcta no habra ninguna forma de que te funcione el resto. Posibles causas para que no funcione: verificar conexión a base de datos, verificar permiso de usuario que conecta asi como clave, verficar script de conexión a base de datos. Y luego ya cuando esto funcione el javascript es tb sencillo recoges los nodos xml que genera el php y se actua en consecuencia... A ver si consigues hacerlo funcionar. Un saludo
Código:
<br /> <b>Warning</b>: mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>C:\Inetpub\vhosts\xn--electrodiseo-khb.es\httpdocs\Wedserver\valida1.php</b> on line <b>12</b><br /> <?xml version="1.0" encoding="iso-8859-1"?> <respuesta> <datos><![CDATA[0]]></datos> </respuesta> Que raro no? Aquí en lugar de esto: GET http://www.xn--electrodiseo-khb.es/w....php?TELEFONO=%5Bobject%20HTMLInputElement%5D 200 OK 1.99s %5Bobject%20HTMLInputElement%5D ----> Esto que es? No me debería de salir el número de teléfono que existe?: GET http://www.xn--electrodiseo-khb.es/w....php?TELEFONO=telefono que existe 200 OK 1.99s Y el parámetro me sale esto: TELEFONO [object HTMLInputElement] Y debería de salir: TELEFONO (Nº de teléfono que existe) Es muy raro porque antes con el cod del principio de la consulta el php me hacia bien la respuesta y creo que el error puede estar en el php último no? Un saludo Última edición por satjaen; 30/11/2012 a las 03:52 |
| |||
Respuesta: No me lleva a la pagina. Vale eso ya es más coherente, el problema es que tu usabas una llamada desde AJAX un poco distitnta y al pegar el código de la llamada de tu anterior javadcript no me di cuenta que estabas usando la función encodeURIComponent, pero en realidad aqui no hace falta, simplemente eliminandola debería de ir... Código HTML: 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];/////Aquí es donde no sé traer esta variable///// } 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. } } } } |
| ||||
Respuesta: No me lleva a la pagina. Cita: Hola, sigue igual ahora la respuesta de la variable es:
Iniciado por jmdearpe Vale eso ya es más coherente, el problema es que tu usabas una llamada desde AJAX un poco distitnta y al pegar el código de la llamada de tu anterior javadcript no me di cuenta que estabas usando la función encodeURIComponent, pero en realidad aqui no hace falta, simplemente eliminandola debería de ir... Código HTML: 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];/////Aquí es donde no sé traer esta variable///// } 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. } } } } GET http://localhost:8888/sitiopruebas/v....php?TELEFONO=[object%20HTMLInputElement] 200 OK 3ms |
| |||
Respuesta: No me lleva a la pagina. Mira crea un script en php que se llame prueba.php y pon este código Código PHP: Tienes que hacer las cosas por pasos, y sobre todo intentar entender lo que estás haciendo, sino nunca progresarás... Tienes que entender que este script en php que usas para comunicacion con javascript lo único que hace es componer una consulta a la base de datos, utilizando un parametro pasado por query string (get) ES simplemente una consulta auna base de datos. O falla la recogida de $_GET por alguna razón o falla la consulta, por error de conexion o por lo que sea. Y hay que determinar lo que falla. SI con este ejemplo que te paso te da error, tienes un problema o de conexion o en la query(por el motivo que sea). Saludos. |
| |||
Respuesta: No me lleva a la pagina. Y repito mi consejo, INTENTA ENTENDER LO QUE ESTÁS HACIENDO. Tienes un script en php que recoge por get una variable y la concatena a un string para componer una consulta sql. Desde javascript haces una 'llamada' a este php pasando el número de teléfono por get, pero ese script debe de funcionar poniendo tu un telefono directamente y escribiendo tu la dirección en el navegador, porque eso es exactamente lo mismo que hace javascript. Y no vale con decir, firebug me da esto o lo otro y ponerlo aqui, tienes que entender tu lo que estás haciendo y el porqué esos errores, leer los errores, aunque esten en inglés, saber porque estamos comprobando el script llamandolo desde la barra de direcciones y poniendo nostros mismos un telefono para ver que devuelve, lo hacemos porque es EXACTAMENTE LO MISMO QUE HACE JAVASCRIPT. Te lo digo más que nada como consejo, tienes que intentar entender lo que hace el script en php y el javascript, porque sino vas a tener problemas y vas a perder el tiempo preguntando cosas que de otro modo tu mismo resolverías porque son muy sencillas. Un claro ejemplo es el problema que tenemos. Se trata simplemente de determinar si el error es de la query o si es de que no se recoge bien la variable pasada por get(cosa bastante rara pero que puede suceder) y despues de tropecientos mensajes te lo estoy comentando de nuevo y me sigues diciendo lo que te devuelve 'firebug' Eso no sirve de mucho, en este caso el error que importa es el que devuelve php, cuando te de un error javascript , entonces mira firebug que es como una consola del navegador, pero en este caso lo que importa es lo que devuelve el servidor, y el posible error que devuelva php o sea esto 'supplied argument is not a valid MySQL result resource'. Eso significa que hay un problema con la consulta y por eso tenemos que ver si es por la consulta en si que está mal planteada, cosa difcil ya que es una consulta de lo más sencilla e implicaría que no tienes mucho conocimiento de mysql, o si es por la conexion require_once('Connections/conexion.php'); o si es porque php no recoge la variable(cosa bastante rara) http://www.php.net/manual/es/reserved.variables.get.php http://www.php.net/manual/es/function.mysql-connect.php http://www.php.net/manual/es/function.mysql-select-db.php http://www.php.net/manual/es/function.mysql-num-rows.php http://www.php.net/manual/es/function.mysql-fetch-assoc.php http://www.w3schools.com/dom/dom_http.asp Y te lo digo con toda mi buena intención. Salu2 ;) Última edición por jmdearpe; 30/11/2012 a las 21:25 |
| ||||
Respuesta: No me lleva a la pagina. Cita: Muchas gracias, lo estudio y comentamos.
Iniciado por jmdearpe Y repito mi consejo, INTENTA ENTENDER LO QUE ESTÁS HACIENDO. Tienes un script en php que recoge por get una variable y la concatena a un string para componer una consulta sql. Desde javascript haces una 'llamada' a este php pasando el número de teléfono por get, pero ese script debe de funcionar poniendo tu un telefono directamente y escribiendo tu la dirección en el navegador, porque eso es exactamente lo mismo que hace javascript. Y no vale con decir, firebug me da esto o lo otro y ponerlo aqui, tienes que entender tu lo que estás haciendo y el porqué esos errores, leer los errores, aunque esten en inglés, saber porque estamos comprobando el script llamandolo desde la barra de direcciones y poniendo nostros mismos un telefono para ver que devuelve, lo hacemos porque es EXACTAMENTE LO MISMO QUE HACE JAVASCRIPT. Te lo digo más que nada como consejo, tienes que intentar entender lo que hace el script en php y el javascript, porque sino vas a tener problemas y vas a perder el tiempo preguntando cosas que de otro modo tu mismo resolverías porque son muy sencillas. Un claro ejemplo es el problema que tenemos. Se trata simplemente de determinar si el error es de la query o si es de que no se recoge bien la variable pasada por get(cosa bastante rara pero que puede suceder) y despues de tropecientos mensajes te lo estoy comentando de nuevo y me sigues diciendo lo que te devuelve 'firebug' Eso no sirve de mucho, en este caso el error que importa es el que devuelve php, cuando te de un error javascript , entonces mira firebug que es como una consola del navegador, pero en este caso lo que importa es lo que devuelve el servidor, y el posible error que devuelva php o sea esto 'supplied argument is not a valid MySQL result resource'. Eso significa que hay un problema con la consulta y por eso tenemos que ver si es por la consulta en si que está mal planteada, cosa difcil ya que es una consulta de lo más sencilla e implicaría que no tienes mucho conocimiento de mysql, o si es por la conexion require_once('Connections/conexion.php'); o si es porque php no recoge la variable(cosa bastante rara) http://www.php.net/manual/es/reserved.variables.get.php http://www.php.net/manual/es/function.mysql-connect.php http://www.php.net/manual/es/functio...-select-db.php http://www.php.net/manual/es/functio...l-num-rows.php http://www.php.net/manual/es/functio...etch-assoc.php http://www.w3schools.com/dom/dom_http.asp Y te lo digo con toda mi buena intención. Salu2 ;) |
| ||||
Respuesta: No me lleva a la pagina. Cita: Hola, de nuevo he probado tú ejemplo y en localhost me funciona perfectamente pero al subirlo al servidor me da error:
Iniciado por jmdearpe Mira crea un script en php que se llame prueba.php y pon este código Código PHP: Tienes que hacer las cosas por pasos, y sobre todo intentar entender lo que estás haciendo, sino nunca progresarás... Tienes que entender que este script en php que usas para comunicacion con javascript lo único que hace es componer una consulta a la base de datos, utilizando un parametro pasado por query string (get) ES simplemente una consulta auna base de datos. O falla la recogida de $_GET por alguna razón o falla la consulta, por error de conexion o por lo que sea. Y hay que determinar lo que falla. SI con este ejemplo que te paso te da error, tienes un problema o de conexion o en la query(por el motivo que sea). Saludos. Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Inetpub\vhosts\xn--electrodiseo-khb.es\httpdocs\Wedserver\prueba_respuestaphp.php on line 6 En la línea 6 tengo: while($assoc=mysql_fetch_assoc($query)) EDITO: VOY A PROBAR DE NUEVO ME FALTAN LOS DATOS DE LA CONEXION. Muchas gracias por tú tiempo. Última edición por satjaen; 02/12/2012 a las 11:42 |
| ||||
Respuesta: No me lleva a la pagina. Vale, ya está la conexión esta bien y si que da el error: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Inetpub\vhosts\xn--electrodiseo-khb.es\httpdocs\Wedserver\prueba_respuestaphp.php on line 6 En la línea 6 tengo: while($assoc=mysql_fetch_assoc($query)) Así es como yo hago la recuperación de datos y no tengo ningún problema:
Código PHP:
Ver original Que diferencia hay? Última edición por satjaen; 02/12/2012 a las 12:04 |
| ||||
Respuesta: No me lleva a la pagina. He introducido esta condición: Código PHP: Código PHP: 1046: No database selected Según parece la base de datos no está seleccionada pero yo la tengo bien en require_once('Connections/conexion.php'); Puede alguien echarme un a mano por favor? |
Etiquetas: |