Foros del Web » Programando para Internet » PHP »

meter un if dentro de otro if

Estas en el tema de meter un if dentro de otro if en el foro de PHP en Foros del Web. Como puedo meter un if dentro de otro if para hacer una autollamada en la misma pagina. Lo que hago primero es checar si usuario ...
  #1 (permalink)  
Antiguo 17/06/2012, 12:08
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años
Puntos: 0
meter un if dentro de otro if

Como puedo meter un if dentro de otro if para hacer una autollamada en la misma pagina.

Lo que hago primero es checar si usuario esta registrado y mostrar su pedido y luego quiero poner un boton que diga confirmar pedido todo esto dentro de la misma pagina, es por eso que quiero hacer un autollamado en la misma pagina.



Código PHP:
Ver original
  1. <?php session_start();
  2.  
  3.  
  4. if (isset($_SESSION['ke_usuario'])) {
  5.     echo '<b>'.$_SESSION['ke_usuario'].'</b>.';
  6.     echo '<p><a href="logout.php">salir de session</a></p>';
  7.    
  8. if (!$_GET) //<--primer get
  9. {
  10. require_once("conexion.php");
  11.  
  12. $imagen=$_GET['id'];
  13.      
  14.      
  15. mysql_select_db ("base_datos",$conexion);
  16.  
  17. $sql="SELECT * FROM productos WHERE imagen='".$imagen."'";
  18. $respuesta= mysql_query($sql,$conexion) or die("Error: ".mysql_error());
  19.  
  20.  
  21. if (mysql_num_rows($respuesta) > 0){
  22.      while ($row = mysql_fetch_assoc($respuesta)){
  23.         if($row['imagen']!=''){
  24.             echo '<td>
  25.             <div style="text-align:left">
  26.            <IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
  27.      <A href="comprar.php?id='.$row['imagen'].'">'.HacerPedido.'</A>
  28.            </div>
  29.            </td>';
  30.    }
  31.  }
  32.  }
  33.  
  34.  
  35.  
  36. echo "</tr>
  37. </table>";
  38. }
  39. //Desde aqui veo los detalles del producto
  40. else {
  41.    
  42.        
  43.   $imagen=$_GET['imagen'];
  44.  
  45.   echo "$imagen";
  46.      
  47.      
  48.  
  49.                
  50.              
  51.    
  52.  
  53.     }
  54.      }
  55. else{
  56.     echo 'Necesitas iniciar session.
  57.    <p><a href="loguearse.php">Login</a></p>
  58.     <p><a href="registrarse.php">Registrar</a></p>';
  59. }
  60. ?>
__________________
:cool: aprendiz :cool:
  #2 (permalink)  
Antiguo 17/06/2012, 12:12
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: meter un if dentro de otro if

creo que debes de plantear mejor la duda, un if dentro de otro según veo ya lo tienes hecho,

Código PHP:
Ver original
  1. if($condic) {
  2.     if($condic2) {
  3.         if($condic3) {
  4.         }
  5.     }
  6. }
y así sucesivamente, ahora a que te refieres con autollamada?
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 17/06/2012, 12:27
Avatar de jpint  
Fecha de Ingreso: junio-2012
Ubicación: Ciudad Real - España
Mensajes: 97
Antigüedad: 11 años, 10 meses
Puntos: 12
Respuesta: meter un if dentro de otro if

no se si lo que quieres hacer es una llamada a la misma pagina, que seria así

//Si existe el usuario
if (isset($_SESSION['usuario']))
{
//lo que hagas
}
else
{
//tupagina.php es la pagina de loggin o la actual imagino
$url="tupagina.php";
header( "Location: $url");
}
  #4 (permalink)  
Antiguo 17/06/2012, 12:31
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: meter un if dentro de otro if

es que si lo hace así caería en una redirección recursiva, ya que cada vez que intente entrar a tupagina.php y lo este logueado va a ser enviado a tuagina.php y al no estar logueado que crees que va a hacer?? por eso pregunto a que se refiere con una auto-llamada, luego de llenar un form?? luego de loguearse?? habrá que esperar que el amigo nos indique lo que desea hacer, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 17/06/2012, 13:29
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años
Puntos: 0
Respuesta: meter un if dentro de otro if

me refiero a que una vez presionando el enlace:

Código HTML:
Ver original
  1. <A href="comprar.php?id='.$row['imagen'].'">'.HacerPedido.'</A>

debe enviar la variable imagen donde la recojo despues es este else:

Código PHP:
Ver original
  1. else {
  2.    
  3.        
  4.   $imagen=$_GET['imagen'];
  5.  
  6.   echo "$imagen";

pero ese echo no me muestra nada cuando me deberia de mostrar:

imagen.jpg
__________________
:cool: aprendiz :cool:
  #6 (permalink)  
Antiguo 17/06/2012, 13:41
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: meter un if dentro de otro if

Cita:
Iniciado por towi62 Ver Mensaje
me refiero a que una vez presionando el enlace:

Código HTML:
Ver original
  1. <A href="comprar.php?id='.$row['imagen'].'">'.HacerPedido.'</A>

debe enviar la variable imagen donde la recojo despues es este else:

Código PHP:
Ver original
  1. else {
  2.    
  3.        
  4.   $imagen=$_GET['imagen'];
  5.  
  6.   echo "$imagen";

pero ese echo no me muestra nada cuando me deberia de mostrar:

imagen.jpg
claro pero por supuesto que no te va a mostrar nada
fijate


$_GET['imagen']; != id

es decir si tu le dices que el campo donde se va a guardar la imagen se llama id por supuesto que cuando muestres $_GET['imagen'] no te va a mostrar nada, si haces esto
Código PHP:
echo $_GET['id']; 
te mostrara algo?? saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 17/06/2012, 14:14
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años
Puntos: 0
Respuesta: meter un if dentro de otro if

Cita:
Iniciado por carlos_belisario Ver Mensaje
claro pero por supuesto que no te va a mostrar nada
fijate


$_GET['imagen']; != id

es decir si tu le dices que el campo donde se va a guardar la imagen se llama id por supuesto que cuando muestres $_GET['imagen'] no te va a mostrar nada, si haces esto
Código PHP:
echo $_GET['id']; 
te mostrara algo?? saludos
no me muestra nada
__________________
:cool: aprendiz :cool:
  #8 (permalink)  
Antiguo 17/06/2012, 14:21
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: meter un if dentro de otro if

has esto para ver que te trae el $_GET
Código PHP:
Ver original
  1. echo "<pre>";
  2. print_r($_GET);
  3. echo "</pre>";
e indícanos que te muestra
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 17/06/2012, 14:25
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años
Puntos: 0
Respuesta: meter un if dentro de otro if

Array
(
[id] => imagen.jpg
)
__________________
:cool: aprendiz :cool:
  #10 (permalink)  
Antiguo 17/06/2012, 14:41
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: meter un if dentro de otro if

pues lo que indicas me dices que si haces
Código PHP:
Ver original
  1. echo $_GET['id'];
debería de imprimir imagen.php porque es lo que esta trayendo de la url,
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 17/06/2012, 16:50
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años
Puntos: 0
Respuesta: meter un if dentro de otro if

Cita:
Iniciado por carlos_belisario Ver Mensaje
pues lo que indicas me dices que si haces
Código PHP:
Ver original
  1. echo $_GET['id'];
debería de imprimir imagen.php porque es lo que esta trayendo de la url,
una pregunta y como saco esa imagen de ese array
__________________
:cool: aprendiz :cool:
  #12 (permalink)  
Antiguo 17/06/2012, 16:55
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: meter un if dentro de otro if

$_GET es un arreglo con todos los parámetros que pases por url, es decir al acceder a $_GET['nombre_de_parametro'] estas accediendo a su valor, es por eso que te digo que si haces
Código PHP:
Ver original
  1. echo $_GET['id'];
debería de imprimir en pantalla "imagen.jpg", saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #13 (permalink)  
Antiguo 17/06/2012, 17:07
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años
Puntos: 0
Respuesta: meter un if dentro de otro if

Cita:
Iniciado por carlos_belisario Ver Mensaje
$_GET es un arreglo con todos los parámetros que pases por url, es decir al acceder a $_GET['nombre_de_parametro'] estas accediendo a su valor, es por eso que te digo que si haces
Código PHP:
Ver original
  1. echo $_GET['id'];
debería de imprimir en pantalla "imagen.jpg", saludos
Amigo ya entiendo lo que me estas explicando, pero mi problema no es ese, mi problema esta en esta parte:
Código PHP:
Ver original
  1. if (!$_GET) //<--primer get
  2. {
  3. require_once("conexion.php");
  4.  
  5. $imagen=$_GET['id'];
  6.      
  7.      
  8. mysql_select_db ("base_datos",$conexion);
  9.  
  10. $sql="SELECT * FROM productos WHERE imagen='".$imagen."'";
  11. $respuesta= mysql_query($sql,$conexion) or die("Error: ".mysql_error());
  12.  
  13.  
  14. if (mysql_num_rows($respuesta) > 0){
  15.      while ($row = mysql_fetch_assoc($respuesta)){
  16.         if($row['imagen']!=''){
  17.             echo '<td>
  18.             <div style="text-align:left">
  19.            <IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
  20.      <A href="comprar.php?id='.$row['imagen'].'">'.HacerPedido.'</A>
  21.            </div>
  22.            </td>';

cuando me debería de mostrar una imagen y el enlace para que me envie despues de haberle picado al enlace a esta parte del codigo y no me imprime.

Código PHP:
Ver original
  1. else {
  2.  
  3. echo $_GET['id'];

que es la parte que si me muestra
__________________
:cool: aprendiz :cool:
  #14 (permalink)  
Antiguo 17/06/2012, 17:20
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: meter un if dentro de otro if

pues sencillamente no te muestra la imagen o porque la misma no existe o no tienes permiso sobre ella para ser mostrada, ahora revisa bien que hayas colocado la ruta correcta, si puedes nos muestras cual es la estructura de los archivos es decir la ubicación de donde estas llamando a la imagen y la ubicación donde esta la imagen, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #15 (permalink)  
Antiguo 17/06/2012, 17:24
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años
Puntos: 0
Respuesta: meter un if dentro de otro if

Cita:
Iniciado por carlos_belisario Ver Mensaje
pues sencillamente no te muestra la imagen o porque la misma no existe o no tienes permiso sobre ella para ser mostrada, ahora revisa bien que hayas colocado la ruta correcta, si puedes nos muestras cual es la estructura de los archivos es decir la ubicación de donde estas llamando a la imagen y la ubicación donde esta la imagen, saludos
Mira tengo otro codigo con el cual si funciona muy bien, pero pues lo que quiero es hacer evitarme la pena de que cuando pinche el enlace se tenga que abrir otra pagina.
Osease que quiero ir por bloques.
Código PHP:
Ver original
  1. <?php session_start();
  2.  
  3.  
  4. if (isset($_SESSION['ke_usuario'])) {
  5.     echo '<b>'.$_SESSION['ke_usuario'].'</b>.';
  6.     echo '<p><a href="logout.php">salir de session</a></p>';
  7.     require_once("conexion.php");
  8.  
  9. $imagen=$_GET['id'];
  10.      
  11.      
  12. mysql_select_db ("base_datos",$conexion);
  13.  
  14. $sql="SELECT * FROM productos WHERE imagen='".$imagen."'";
  15. $respuesta= mysql_query($sql,$conexion) or die("Error: ".mysql_error());
  16.  
  17.  
  18. if (mysql_num_rows($respuesta) > 0){
  19.      while ($row = mysql_fetch_assoc($respuesta)){
  20.         if($row['imagen']!=''){
  21.             echo '<td>
  22.             <div style="text-align:left">
  23.            <IMG style="WIDTH: 120px; HEIGHT: 81px" src="img/'.$row['imagen'].'">
  24.      <A href="pedidos.php?id='.$row['imagen'].'">'.HacerPedido.'</A>
  25.            </div>
  26.            </td>';
  27.    }
  28.  }
  29.  }
  30.  
  31.  
  32.  
  33. echo "</tr>
  34. </table>";
  35.  
  36.                
  37. }else{
  38.     echo 'Necesitas iniciar session.
  39.    <p><a href="loguearse.php">Login</a></p>
  40.     <p><a href="registrarse.php">Registrar</a></p>';
  41. }
  42. ?>

Si te fijas en el enlace al presionarlo me va a enviar a otra pagina que se llama pedidos, pero pues en ves de que se vaya a otra pagina quiero que se vaya a otro bloque de la misma pagina.
__________________
:cool: aprendiz :cool:

Etiquetas: meter, mysql, sql, usuarios
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 17:43.