[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