Foros del Web » Programando para Internet » PHP »

eBay.

Estas en el tema de eBay. en el foro de PHP en Foros del Web. Buenas, qué tal: Estoy realizando una página que, entre otras cosas, simule la web de eBay, la cual, debe recordar los usuarios y las pujas ...
  #1 (permalink)  
Antiguo 12/01/2010, 04:33
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
eBay.

Buenas, qué tal:

Estoy realizando una página que, entre otras cosas, simule la web de eBay, la cual, debe recordar los usuarios y las pujas mediante Cookies, el código es el siguiente:

Código PHP:
<?php
    setcookie
("entrada[Usuario]"$_POST['Usuario']);
    
setcookie("entrada[Puja]"$_POST['Puja']);
?>
...
<?php
                
echo "<table border=\"1\">";
                echo 
"<tr>";echo "<td>";echo "Usuario";echo "</td>";echo "<td>";echo "Puja";echo "</td>";echo "</tr>";
                echo 
"<tr>";echo "<td>";
                echo 
$_COOKIE['entrada']['Usuario'];
                echo 
"</td>";echo "<td>";
                echo 
$_COOKIE['entrada']['Puja'];
                echo 
"</td>";echo "</tr>";
                echo 
"</table>";
                
print_r($_COOKIE);
?>
        <form method="post">
            <h1>eBay</h1>
            Usuario: <input name="Usuario" type="text" /><br />
            Puja: <input name="Puja" type="text" /><br /><br />
            <input type="submit" name="Enviar" value="Enviar" />
            <input type="reset" name="Restaurar" value="Restaurar" />
        </form>
Mi pregunta es, ¿cómo consigo que recuerde todos los usuarios y todas las pujas? Tal como está, sólo recuerda el último usuario y la última puja. Sé que en la tabla sólo se mostrará la última, pero con print_r($_COOKIE); deberían aparecer todas.

Gracias de antemano.
  #2 (permalink)  
Antiguo 12/01/2010, 06:03
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

mmm... ?

no usas base de datos (?)
las cookies se almacenan en el cliente no en el servidor.. no podrás lograr recordar nada con eso =B

averigua sobre el uso de php con MySql o con PostgreSql

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 12/01/2010, 06:11
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

Lo haría con una base de datos, pero no puedo; el problema consiste en hacerlo con cookies (la segunda parte es con sesiones), así que alguna forma habrá.

No me interesa hacerlo para más de ordenador, la página no va más allá, sólo es para comprobar el funcionamiento de cookies y sesiones, es decir, en una misma cookie se guarden todos los usuarios "ficticios", es decir, que se introduzca un usuario "A" con puja "1", después, un usuario "B" con puja "2" (por ejemplo), pero desde un mismo ordenador, no me interesa hacerlo real.

De todas formas, gracias por tu respuesta Hidek1.
  #4 (permalink)  
Antiguo 12/01/2010, 06:16
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

lo primero seria que usaras la function setcookie completa, para que la caducidad de esta no fuera definida por php.ini o al cerrar el navegador,
lo segundo, intenta almacenar los nombres de las cookies sin los corchetes. y dandole un digito en aumento para q no sobrepongas los nombres
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 12/01/2010, 06:25
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

Me interesa que las cookies se eliminen tras cerrar el navegador, por eso no he establecido el último parámetro.

Con respecto a almacenar el nombre de las cookies sin los corchetes y añadir un dígito en aumento, ¿a qué te refieres? ¿Podrías poner el código?
  #6 (permalink)  
Antiguo 12/01/2010, 06:29
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

aclarame primero que significa "puja" =B.. para saber bien q es lo que intentas hacer!
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 12/01/2010, 06:36
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: eBay.

registrar usuarios en cookies no es factible debido a que las mismas se almacenan en el cliente, y de serlo el problema viene con las multisesiones, `porque navegadores como firefox tienden a conservar la misma sesión entre instancias del programa (conserva la misma cookie por sitio), a diferencia de IE que crea una nueva con cada nueva instancia del programa
  #8 (permalink)  
Antiguo 12/01/2010, 06:40
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

A ver, una puja es la acción de pujar, es decir, aumentar el precio puesto a algo que se subasta, no obstante, no tiene mucho caso saber qué es, simplemente necesito almacenar cada usuario y puja que se introduzca es una página en una cookie para después mostrarlos, es decir, necesito almacenar dos datos introducidos en dos cuadros de texto en una cookie para mostrarlos más tarde.
  #9 (permalink)  
Antiguo 12/01/2010, 06:43
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

oka..

Código PHP:
Ver original
  1. setcookie("Usuario".$_COOKIE['Contador'], $_POST['Usuario']);
  2. setcookie("Puja".$_COOKIE['Contador'], $_POST['Puja']);
  3. setcookie("Contador",$_COOKIE['Contador']+1);

se entiende la idea?
__________________
More about me...
~ @rhyudek1
~ Github
  #10 (permalink)  
Antiguo 12/01/2010, 06:51
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

Sí, se entiende la idea, pero, tal como lo has puesto, Contador debe ser introducido en la página al igual que el usuario y la puja, ¿me explico?
  #11 (permalink)  
Antiguo 12/01/2010, 07:09
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

Código PHP:
Ver original
  1. setcookie("Usuario".$_COOKIE['Contador']?$_COOKIE['Contador']:1, $_POST['Usuario']);
  2. setcookie("Puja".$_COOKIE['Contador']?$_COOKIE['Contador']:1, $_POST['Puja']);
  3. setcookie("Contador",$_COOKIE['Contador']?$_COOKIE['Contador']+1:2);

asi puedes solucionar eso
__________________
More about me...
~ @rhyudek1
~ Github
  #12 (permalink)  
Antiguo 12/01/2010, 07:46
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

Lo único que se consigue con eso es que la cookie muestre lo siguiente tras introducir tres usuarios con sus respectivas pujas:

Array ( [Contador] => 4 [2] => 1 [3] => 2 )
  #13 (permalink)  
Antiguo 12/01/2010, 07:48
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

:S
no

se consigue que aga esto

Usuario1 => pepito
Puja1 => 12400

Usuario2 => juanito
Puja2 => 25120
__________________
More about me...
~ @rhyudek1
~ Github
  #14 (permalink)  
Antiguo 12/01/2010, 07:54
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

Lo he comprobado con print_r($_COOKIE);, lo único que muestra es lo que he puesto antes.

Por cierto, y ante todo, gracias por todas tus respuestas y tiempo Hidek1.
  #15 (permalink)  
Antiguo 12/01/2010, 08:06
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

intentalo asi

Código PHP:
Ver original
  1. $usuario = ($_COOKIE['Contador'])?$_COOKIE['Contador']:1;
  2. $puja = ($_COOKIE['Contador'])?$_COOKIE['Contador']:1;
  3. $contador = ($_COOKIE['Contador'])?$_COOKIE['Contador']+1:2;
  4. setcookie("Usuario".$usuario, "Pedro");
  5. setcookie("Puja".$puja, "12500");
  6. setcookie("Contador",$contador);
__________________
More about me...
~ @rhyudek1
~ Github
  #16 (permalink)  
Antiguo 12/01/2010, 08:08
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

No puedo introducir los usuarios y pujas de esa forma, sino, todo sería más fácil, es decir, no puedo hacer algo como setcookie("Usuario".$usuario, "Pedro"); porque el valor "Pedro" es lo que se introduce en los cuadros de texto.
  #17 (permalink)  
Antiguo 12/01/2010, 08:13
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

entonces explicate bien, para entender en realidad lo que quieres hacer, ya que obiamente no es una pagina sino mas bien una prueba o algo asi... ( lo digo por que este sistema nunca sera efectivo a menos que uses bases de datos )

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #18 (permalink)  
Antiguo 12/01/2010, 08:15
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

Pensaba que no era necesario explicar algo así cuando en el código se muestran dos cuadros de texto, uno para introducir el usuario y otro para introducir la puja.
  #19 (permalink)  
Antiguo 12/01/2010, 08:32
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: eBay.

bueno lei denuevo tu pregunta para tratar de entender un poco lo que quieres

a mi parecer quieres que se almacene solo el nombre y en el.. todas sus pujas, como tu dices..

seria algo asi

Código PHP:
Ver original
  1. if(!$_COOKIE["Usuario"] && $_POST['Usuario']){
  2.     setcookie("Usuario", $_POST['Usuario']);
  3.     setcookie("Puja", $_POST["oferta_id"].":".$_POST['Puja'].";");
  4. }else if ($_COOKIE["Usuario"]){
  5.     $puja = $_COOKIE["Puja"] ? $_COOKIE["Puja"] : "";
  6.     setcookie("Puja", $puja.$_POST["oferta_id"].":".$_POST['Puja'].";");
  7. }

espero esta ves si sea lo que necesitas
__________________
More about me...
~ @rhyudek1
~ Github
  #20 (permalink)  
Antiguo 12/01/2010, 08:45
 
Fecha de Ingreso: diciembre-2009
Mensajes: 51
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: eBay.

Eso imprime lo siguiente con print_r($_COOKIE); tras introducir cuatro usuarios:

Array ( [Usuario] => A [Puja] => :1;:2;:3; )

De todas formas, no te molestes más, ya lo has hecho suficiente.

Gracias por todo.

Etiquetas: ebay
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 14:42.