[Php-avanzado] Actualizar pagina desde otra

Leandro Schereik lschereik en hotmail.com
Vie Jun 18 18:15:36 ART 2010


Hola Leo te agrego index.php y art_show.php la query esta bien genera lo correcto.
El sabado no puedo ir pero en la semana si en que dias y horarios podria pasar?


index.php
---------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Inicio</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/styles.css">
</head>

<body>

<!-- Wrapper -->
<div id="wrapper">    
    
    <!-- Header -->
    <div id="header">    
        <? include("header.php"); ?>
    </div>
    <!-- Header -->
    
    <!-- Content -->
    <div id="content">
        <img src="images/tail-top.gif">
    
        <!-- Categorias -->
        <div id="categorias">
          
          <?  include("categorias.php"); ?>
        </div>
        <!-- Categorias -->
        
        <!-- Medio -->
        <div id="medio">
    

        </div>
        <!-- Medio -->
    
            
    
        <!-- Carrito -->
        <div id="carrito">
            <? include("login.php"); ?>
        
         </div>
        <!-- Carrito -->    
    
    
    </div>
    <!-- Content -->
    

</div>
<!-- Wrapper -->

<? // session_destroy(); ?>    
</body>

art_show.php
-------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Inicio</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/styles.css">
</head>

<body>
<!-- Wrapper -->
<div id="wrapper">    
    
    <!-- Header -->
    <div id="header">    
        <? include("header.php"); ?>
    </div>
    <!-- Header -->
    
    <!-- Content -->
    <div id="content">
        <img src="images/tail-top.gif">
    
        <!-- Categorias -->
        <div id="categorias">
          
          <?  include("categorias.php"); ?>
        </div>
        <!-- Categorias -->
        
        <!-- Medio -->
        <div id="medio">
            <? include("show.php"); ?>
        </div>
        <!-- Medio -->
        
            
    
        <!-- Carrito -->
        <div id="carrito">
            <? include("login.php"); ?>
            <? include("micarro.php");?>
        
         </div>
        <!-- Carrito -->    
    
    
    </div>
    <!-- Content -->
    

</div>
<!-- Wrapper -->

<? // session_destroy(); ?>    
</body>
</html>


> From: leonardot en pegasusnet.com.ar
> To: php-avanzado en pato2.fi.mdp.edu.ar
> Date: Fri, 18 Jun 2010 18:01:14 -0300
> Subject: Re: [Php-avanzado] Actualizar pagina desde otra
> 
> Hola Leandro,
> 
> 	tiene pinta de ser un problema del orden de las inclusiones.
> 
> 	Enviá el index.php, para ver el flujo de las llamadas, y el
> art_show.php
> 
> 	Fijate también se estás recibiendo el "id" de la categoría para armar
> el primer SELECT * FROM articulos where id_categ='$id' en show.php
> 	De hecho, hace un print de esta query, y fijate si se genera o no la
> query correcta...
> 
> 	También, si andás con tiempo, pasate el sábado entre las 11 y las 13hs
> por la FI, que estamos en la 2da parte de la clase de PHP Inicial,
> instálas lo que tenés hecho hasta ahora en el server de la facu, y lo
> vemos juntos con el código corriendo.
> 
> 	Seguimos!
> 
> El vie, 18-06-2010 a las 16:26 +0000, Leandro Schereik escribió:
> > Hola Leo paso algo de codigo por aca asi me puedo explicar mejor.
> > Cuando me logueo desde index.php esta perfecto ya que cuando hago
> > click en el menu categoria me lleva a art_show.php y carga show.php
> > con los datos de session y carga los articulos junto con la imagen de
> > comprar el mismo.
> > El problema surge cuando cuando estoy en art_show.php?1,
> > art_show.php?2, .. art_show.php?N  con el comprador sin iniciar sesion
> > al hacerlo, se loguea y no aparecen las imagenes para poder comprar el
> > articulo y el usuario esta logueado, actulizo la pagina con f5 y carga
> > articlos con las imagenes. 
> > Me explico?
> >  
> > 
> > 
> > 
> > categorias.php   :
> > --------------
> > <!--  Esta dentro de index.php y arma un menu con las categorias, le
> > pasa a art_show.php?id el id de la categoria a mostrar sus articulos
> > -->
> > 
> > <p class="p">Categorias<p>
> > <br>
> > <ul class="list">
> > <?
> > include_once("conexion.php");
> > 
> > //selecciona todos los nombres de las categorias, si no hay categorias
> > emite un mensaje
> > $sql=mysql_query("SELECT * FROM categorias  ORDER BY nom");
> > 
> > while($categ=mysql_fetch_row($sql)){
> > ?>
> > <li><span><a href="art_show.php?id=<?=$categ[0];?>"><?
> > echo($categ[1]."<br>"); ?></a></span></li> 
> > 
> > <?
> > }
> > mysql_close();
> > 
> > 
> > ?>
> > </ul>
> > 
> > 
> > login.php
> > ---------
> > 
> > <?php 
> > include("funciones.php");
> >     
> >     $_SESSION['user'] = (isset($_SESSION['user'])) ?
> > $_SESSION['user'] : '';
> > 
> > 
> >     if (isset($_POST["log"])){
> >         $user=$_POST["user"];
> >         $pass=$_POST["pass"];
> >         include("conexion.php");
> >         $sql=mysql_query("SELECT * FROM compradores WHERE
> > user='$user'");
> >         $usuario=mysql_fetch_array($sql);
> >         mysql_close();
> >         if (($pass==$usuario['pass'])&&($usuario['id_tip_user']==2)){
> >              $_SESSION['id']=$usuario['id'];
> >              $_SESSION['user']=$usuario['user'];
> >              $_SESSION['pass']=$usuario['pass'];
> >              $_SESSION['nom']=$usuario['nom'];
> >              $_SESSION['ape']=$usuario['ape'];
> >              $_SESSION['tel']=$usuario['tel'];
> >              $_SESSION['email']=$usuario['email'];
> > 
> >              
> >         }
> >         else{
> >             echo("Nombre de Usuario o Contraseña incorrectas.");
> >         }
> >         
> >     }
> > ?>
> >         
> >     <? if ($_SESSION['user']==""){ ?> 
> >     <form name="login" method="post" action="">
> >         <table>
> >             <tr>
> >                 <td>Usuario </td>
> >                 <td><input type="text" name="user" id="user"></td>
> >             
> >             </tr>
> >             <tr>    
> >                 <td>Password</td>
> >                 <td><input  type="password" name="pass"
> > id="pass"></td>    
> >             
> >             </tr>
> >             <tr>
> >                 <td></td>
> >                 <td><input type="submit" name="log" id="log"
> > value="Login" onclick="javascript:window.opener.location.reload();"> 
> >                     <input type="button" name="reg" id="reg"
> > value="Registrarse" onClick="location.href ='comp_alta.php'">
> >                 </td>
> >             </tr>
> >         </table>
> > 
> >     <?
> >                 }
> >                 else{
> >                     echo("Nombre: ".$_SESSION['nom']."
> > ".$_SESSION['ape']);
> >                     ?> <br /><br />
> >                        <input type="button" name="logout" id="logout"
> > value="Logout" onClick="location.href ='logout.php'"> 
> >                        <input type="button" name="editar" id="editar"
> > value="Editar Datos" onclick="location.href ='comp_edit.php'"> <?
> >                 }
> > 
> >             ?>
> > </form>
> > 
> > 
> > 
> > show.php
> > ---------
> > <!--  Dentro de art_show.php -->
> > 
> > 
> > <form action="" method="get" name="carro"> 
> > <?
> > // id de la categoria a buscar sus articulos
> > if (isset($_REQUEST["id"])){
> >     $id=$_REQUEST["id"];
> > 
> >     include("conexion.php");
> >     $sql=mysql_query("SELECT * FROM articulos where id_categ='$id'");
> >     //$cant: cantidad de filas consultadas para mostrar articulos o
> > mensaje error (sin articulos)
> >     $cant=mysql_num_rows($sql);
> >     if ($cant > 0){
> >             while($art=mysql_fetch_array($sql)){
> >                 //verifica stock para listar solo articulos con stock
> > mayor a 0
> >                 if($art["stock"]>0){        
> >                     if (isset($_SESSION['id'])){
> >                         if (isset($_SESSION['carro']))
> >                             $carro=$_SESSION['carro'];
> >                         else
> >                             $carro=array();
> >                         
> >                         // si no esta id del articulo en el carro lo
> > muestra con la imagen de agregar
> >                         if (!in_array($art["id"],$carro)){
> >                         ?>
> >                          
> >                             <div id="show_art">
> >                                 <div id="show_img">
> >                                     <img src="<?=$art["img1"];?>"
> > height="75" width="75"/><br>
> >                                 </div>
> >                                 <div id="show_titulo" >
> >                                     <h3><?=$art["nom"];?></h3>
> >                                 </div>
> >                                 <div id="show_detalle">
> >                                     Precio:$<?=$art["precio"];?>
> > Stock:<?=$art["stock"];?>    
> >                                 </div>
> >                                 <div id="show_carrito">
> >                                     <!-- y finaliza por -->
> >                                     <a href="agregar.php?id=<?=
> > $art["id"];?>"><img src="images/agregar.png" /></a>
> >             
> >                                 </div>
> >         
> >                             </div>
> >                         <?
> >                           } 
> >                           else{
> >                         
> >                             ?>
> >                               <div id="show_art">
> >                                     <div id="show_img">
> >                                         <img src="<?=$art["img1"];?>"
> > height="75" width="75"/><br>
> >                                     </div>
> >                                     <div id="show_titulo" >
> >                                         <h3><?=$art["nom"];?></h3>
> >                                     </div>
> >                                     <div id="show_detalle">
> >                                         Precio:$<?=$art["precio"];?>
> > Stock:<?=$art["stock"];?>    
> >                                     </div>
> >                                     <div id="show_carrito">
> >                                         <!-- y finaliza por -->
> >                                         <a href="borrar.php?id=<?=
> > $art["id"];?>">boorrar</a>
> >                                     </div>
> >             
> >                                 </div>
> >                               <?
> >                         }//cierra else (!esta($carro,$art["id"])){
> >                         }//cierra if (isset($_SESSION['user'])){
> >                     else{ //if (isset($_SESSION['user'])){
> >                           ?>
> >                             <div id="show_art">
> >                                 <div id="show_img">
> >                                     <img src="<?=$art["img1"];?>"
> > height="75" width="75"/><br>
> >                                 </div>
> >                                 <div id="show_titulo" >
> >                                     <h3><?=$art["nom"];?></h3>
> >                                 </div>
> >                                 <div id="show_detalle">
> >                                     Precio:$<?=$art["precio"];?>
> > Stock:<?=$art["stock"];?>    
> >                                 </div>
> >                                 <div id="show_carrito">
> >                                     <p>Debe estar logueado para
> > realizar compras.</p><!-- y finaliza por -->
> >                                     
> > 
> >                                 </div>
> >         
> >                             </div>
> >                           <?
> >                     }
> >                             
> >                 }
> >             } // cierra if($art["stock"]>0)
> >     }// cierra while($art=mysql_fetch_array($sql))
> >     
> >     else{
> >         echo("No hay articulos para la categoria seleccionada.");
> > }// cierra if ($cant > 0){
> > 
> > }//cierra if (isset($_REQUEST["id"])){
> > 
> > ?>
> > </form>
> > 
> > 
> > Saludos
> > 
> > Leandro 
> > 
> > 
> > 
> > > From: leonardot en pegasusnet.com.ar
> > > To: php-avanzado en pato2.fi.mdp.edu.ar
> > > Date: Thu, 17 Jun 2010 11:15:49 -0300
> > > Subject: Re: [Php-avanzado] Actualizar pagina desde otra
> > > 
> > > Hola Leandro,
> > > 
> > > se me escapa el por qué de esta necesidad tan particular....
> > > 
> > > A priori, si en show.php hay un include con un login, basta que el
> > > formulario de login tenga en su action al propio show.php, para que,
> > > cuando el usuario se loguea, vaya al servidor, se autentifique, y al
> > > recargarse naturalmente show.php, se mostrará el contenido sin
> > necesidad
> > > de tanta complicación!
> > > 
> > > La lógica de show.php es simple: si no está autentificado, se
> > incluye
> > > login.php, y si sí está autentificado, se incluye el articulos.php
> > (o
> > > como se llame) para mostrar el artículo correspondiente.
> > > 
> > > Qué esto esté en un <div> o en cualquier otro elemento HTML no
> > cambia
> > > la secuencia de ejecución del script.
> > > 
> > > O es muy fácil, o me perdí de algo ;-)
> > > 
> > > Saludos!
> > > 
> > > 
> > > PD: no cuelgues el recuperatorio!
> > > 
> > > El jue, 17-06-2010 a las 05:02 +0000, Leandro Schereik escribió:
> > > > Hola a todos:
> > > > tengo un sitio maqueteado con div y dentro de esos div includes.
> > > > 
> > > > Una de las paginas del sitio es show.php que muestra articulos con
> > una
> > > > imagen para comprar dicho articulo la idea es que la imagen se
> > muestre
> > > > si el comprador inicio sesion (hasta ahi todo bien). 
> > > > 
> > > > La consulta es la siguiente: como puedo hacer para que al iniciar
> > > > sesion (dentro de un div en show.php tengo un
> > include("login.php"))
> > > > forzar que actualice la pagina (show.php) asi entran las variables
> > de
> > > > session con datos y muestra la imagen para poder comprar el
> > producto,
> > > > ya que inicio sesion y dichas imagenes no aparecen, actualizo la
> > > > pagina con F5 y ahi si.
> > > > 
> > > > Investigando un poco encontre que en el evento onclick del
> > formulario
> > > > login podia hacer lo siguiente con javascript: 
> > > > <input type="submit" name="log" id="log" value="Login"
> > > > onclick="javascript:window.opener.location.reload();"> y de esa
> > manera
> > > > forzar a que se actualice la pagina pero no esta funcionando.
> > > > 
> > > > Espero haber sido claro
> > > > 
> > > > Muchas Gracias 
> > > > 
> > > > Leandro Schereik
> > > 
> > > -- 
> > > 
> > > Leonardo Tadei
> > > leonardot en pegasusnet.com.ar
> > > http://blog.pegasusnet.com.ar
> > > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> > > 
> > > _______________________________________________
> > > Php-avanzado mailing list
> > > Php-avanzado en pato2.fi.mdp.edu.ar
> > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > 
> > 
> > ______________________________________________________________________
> > Acceder a tu casilla ahora es mucho más rápido. Ahora Hotmail es un
> > 70% más veloz. Conocé más
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> -- 
> 
> 
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Pegasus Tech Supply
> Tel: (+54)(+223) 471-2880
> La Salle 1131 - Mar del Plata - Argentina
> http://www.pegasusnet.com.ar / http://blog.pegasusnet.com.ar
> http://www.prometeustech.com.ar / http://www.grupopegasus.com
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>                 
> 
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
 		 	   		  
_________________________________________________________________
Ahora Hotmail es un 70% más rápido. Para que chequear correos sea cada vez más fácil. Ver más
http://www.descubrehotmail.com/velocidad.asp 
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20100618/13338cd5/attachment-0001.htm 


Más información sobre la lista de distribución Php-avanzado