Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Redirecciones

Estas en el tema de Redirecciones en el foro de Mysql en Foros del Web. Hola ¿Es posible hacer que cuando me de un error la consulta a el mysql me redirecciones a una página en concreto... Es decir, el ...
  #1 (permalink)  
Antiguo 12/04/2006, 05:53
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
Redirecciones

Hola

¿Es posible hacer que cuando me de un error la consulta a el mysql me redirecciones a una página en concreto...

Es decir, el típico:

$result = mysql_result($sql,0,0) or die .....

Pero que en lugar de "or die" el resultado sea que me mande a otro sitio....

**Imagino que es importante (estoy usando php).

Gracias
  #2 (permalink)  
Antiguo 12/04/2006, 06:13
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
cambia el die por header('location: otrapagina.php');

__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 12/04/2006, 06:40
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
No acaba de funcionar..

He puesto:

or header('location: errorusuario.php');

Sinembargo se me queda en una página en blanco.. no redirecciona...

Gracias
  #4 (permalink)  
Antiguo 12/04/2006, 06:46
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
tu página "errorusuario.php" se encuentra en la misma carpeta de la página que hace la consulta??
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #5 (permalink)  
Antiguo 12/04/2006, 06:50
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
Si, en la misma...
  #6 (permalink)  
Antiguo 12/04/2006, 09:06
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
Te comento por si puede ayudar...

Inicialmente tengo esto:

$correo = mysql_result($result,0,0) or die (mysql_error());

Si, ha resultados bien.. Si no los hay la página se queda en blanco

Si pongo esto:

$correo = mysql_result($result,0,0) or die (Mensaje);

Cuando no hay resultados me muestra el mensaje.

Finalmente, al poner esto:

$correo = mysql_result($result,0,0) or header('location: errorusuario.php');

Cuando no hay datos NO hace la redirección si no que nuevamente se queda en blanco.
  #7 (permalink)  
Antiguo 12/04/2006, 09:13
 
Fecha de Ingreso: enero-2006
Ubicación: mi casa
Mensajes: 255
Antigüedad: 18 años, 3 meses
Puntos: 0
Cita:
Iniciado por enero
No acaba de funcionar..

He puesto:

or header('location: errorusuario.php');

Sinembargo se me queda en una página en blanco.. no redirecciona...

Gracias

Lo estas testeando en una maquina local con apache y php instalados? o lo subes a tu servidor?
  #8 (permalink)  
Antiguo 12/04/2006, 09:21
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
En un servidor fedora con apache
  #9 (permalink)  
Antiguo 12/04/2006, 10:58
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Porque no pruebas con:
$correo = mysql_result($result,0,0);
if (!$correo) header('location: errorusuario.php');
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #10 (permalink)  
Antiguo 12/04/2006, 11:41
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
Exactamente eso no pero probé algo similar pero no funciona...

El problema es que si:

$correo = mysql_result($result,0,0)

No existe.. (que es cuando yo quiero que se redireccione) la consulta se queda ahí parada y no sigue.

Entonces, si pongo

$correo = mysql_result($result,0,0);
if (!$correo) header('location: errorusuario.php');

El problema es que No va a leer la condicion ya que se ha parado en el punto anterior

**********************
Lo que intento hacer:

Un usuario quiere recuparer su contarseña en nuestra db:

Introduce el usuario y pulsa enviar...

Hago consulta ha base de datos y recibe email.. Hasta ahí todo bien...

Si no existe el usuario ... Cuando llega a correo se para y no sigue procesando con lo que no me redirije a la página de usuario inexistente....
  #11 (permalink)  
Antiguo 12/04/2006, 11:46
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
he puesto lo que me propones un poco mas arriba:

$result = mysql_query("SELECT correo FROM prospectos WHERE usuario LIKE '$usuario'", $link) or die (mysql_error());
if (!$result) header('location: errorusuario.php');

Pero igual se queda la página en blanco....

Si existe el usuario sigue sin problemas...
  #12 (permalink)  
Antiguo 12/04/2006, 12:03
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 4
yo tenia el mismo problema y lo solucione de esta forma
que te parce si lo intentas con esto:::

if( mysql_result($result,0,0)){
header('location: errorusuario.php');
}else{
echo "fallo";
}
  #13 (permalink)  
Antiguo 12/04/2006, 12:17
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
Lo que necesito es que si el resulto está vacío.. Es decir si el usuario no existe se redireccione..

Entonces, siguiento tu consejo he hecho:

$result = mysql_query("SELECT correo FROM prospectos WHERE usuario LIKE '$usuario'", $link) or die (mysql_error());
if (!$result) {
header('location: errorusuario.php');
}else{
.....
.....

No se si me he equivocadao en algo.. El caso es que sigue igual... Si existe el usuario todo va bien.. Si no, se queda la página en blanco y no redirecciona...
  #14 (permalink)  
Antiguo 12/04/2006, 12:36
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Quizás te parezca una idea un poco fácil, pero por que no haces una validación por sql si es que existe filas para el usuario que vas a modificar, haciendo un count y si no hay un usuario, haces la condición y te redireccione....
Solo como comentario....
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #15 (permalink)  
Antiguo 12/04/2006, 13:12
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Quizá cuando no existe retorne empty en vez de null, si es así el cambio sería en la condición:
$result = mysql_query("SELECT correo FROM prospectos WHERE usuario LIKE '$usuario'", $link) or die (mysql_error());
if (empty($result)) {
header('location: errorusuario.php');
}else{
.....
.....
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #16 (permalink)  
Antiguo 13/04/2006, 10:05
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
Me temo que no, tampoco funciona....

me empiezo a extrañar... He probado a que solo haga la redirección en cualquier caso y tampoco la hace...

Da la impresión de que el servidor tiene algún tipo de limitación en ese sentido. ¿es esto posible???.

El servidor es nuestro ¿donde podría revisar si es que existe esa opción??.

Gracias
  #17 (permalink)  
Antiguo 13/04/2006, 10:33
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
holas, enero no entendi bien tu duda:
Cita:
¿Es posible hacer que cuando me de un error la consulta a el mysql me redirecciones a una página en concreto...
lo que necesitas es que cuando tu consulta de error te redireccione a otra pagina o cuando tu consulta te devuelva 0 filas, en todo caso de acuerdo a lo que lei es cuando te devuelva 0 filas, por que no pruebas con esto y nos cuentas como te va:
Código PHP:
//
$result mysql_query("SELECT correo FROM prospectos WHERE usuario LIKE '$usuario'"$link) or die (mysql_error());
$numFilas=mysql_num_rows($result);
if (
$numFilas==0
{
   
header('location: http://IPdeEquipo/directorio/de/errorusuario.php');

suerte, cya
__________________
"El Conocimiento es de todos, no solo de algunos"

Última edición por deadlykyo; 13/04/2006 a las 13:22
  #18 (permalink)  
Antiguo 18/04/2006, 10:31
 
Fecha de Ingreso: enero-2006
Mensajes: 71
Antigüedad: 18 años, 3 meses
Puntos: 0
Finalmente el problema es que en el servidor no funciona "'location:".

Revisando los foros encontré a una persona que le había ocurrido lo mismo pero tampoco hubo solución en ese caso...

No se de donde venga el problema pero ya es seguro que es eso ya que lo he probado en otro alojamiento y lo mismo si funciona....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:37.