Foros del Web » Programando para Internet » PHP »

Distinguir usuario!

Estas en el tema de Distinguir usuario! en el foro de PHP en Foros del Web. Hola haber si me podeis hechar un cable, quiero hacer un sistema de pago muy simple. Tnego contratada una pasarela que uso en un oscommerce, ...
  #1 (permalink)  
Antiguo 23/07/2009, 13:18
 
Fecha de Ingreso: abril-2009
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Distinguir usuario!

Hola haber si me podeis hechar un cable, quiero hacer un sistema de pago muy simple. Tnego contratada una pasarela que uso en un oscommerce, y ahora, quiero hacer que una pequeña pagina que tengo en el mismo serve, tenga un sistema de pago con la misma pasarela, pero mucho mas simple.

Lo que quiero hacer es que haya una pagina donde pongas el nombre de cliente, el concepto, y la cantidad a pagar, y con esto pulsar un botón y acceder a la pasarela con estos datos. Esta parte todavia nose muy bien como hacerla, pero pensando me ha surgido una duda.

No queria hacer que el usuario no tuviera que registrarse, y no se si podria distinguir de forma independiente a cada usuario que este comprando en el mismo momento.

Me han comentado que con variable de session, pero no se bien como funcionan, es posible hacer lo que comento?

Muchas gracias, saludos
  #2 (permalink)  
Antiguo 23/07/2009, 15:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 62
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Distinguir usuario!

Mira, es simple, el logueo de los usuarios lo hago con esta función:

Código PHP:
Ver original
  1. function loguear($usuario,$clave,$link)
  2. {
  3. $sql="select * from clientes where email='".$usuario."' and clave='".$clave."'";
  4.  
  5. $res=mysql_query($sql,$link)or die("error seleccionando los datos");
  6.         if($res!="")
  7.         {
  8.         $row=mysql_fetch_array($res);
  9.        
  10.                 if($row[0]!="")
  11.                 {
  12.                  $_SESSION["NOMBRE_USUARIO"]=$row["nombre"];
  13.                  $_SESSION["TELEFONO_USUARIO"]=$row["telefono"];
  14.                  $_SESSION["TIPO_USUARIO"]=$row["tipo"];
  15.                  $_SESSION["EMAIL_USUARIO"]=$row["email"];
  16.                  $_SESSION["CELULAR_USUARIO"]=$row["celular"];
  17.                  $_SESSION["ID_USUARIO"]=$row["id_clientes"];        
  18.                  $_SESSION["VALIDADO_USUARIO"]=1;
  19.                  
  20.                  }
  21.                  else
  22.                  {
  23.                    $_SESSION["MENSAJE_ERROR"]="El usuario o clave no es valido";                             
  24.                  }     
  25.         }
  26. }

Con esto, ya tienes las variables abiertas con los datos que el usuario tiene grabados en la tabla de datos.

Con estos datos en las variables, en cualquier parte puedo mandar por ejemplo un mail SIN volver a preguntarlos al usuario:

Código PHP:
Ver original
  1. <?
  2. $contenido2.="<h3>Reservación en Línea</h3><br><br>";
  3. $contenido2.="Fecha: ".$_REQUEST["fecha"]."<br>";
  4. $contenido2.="Hora: ".$_REQUEST["hora"]."<br>";
  5. $contenido2.="Adultos: ".$_REQUEST["adultos"]."<br>";
  6. $contenido2.="Niños: ".$_REQUEST["ninos"]."<br>";
  7. $contenido2.="A nombre de: ".$_SESSION["NOMBRE_USUARIO"]."<br>";
  8. $contenido2.="Celular: ".$_SESSION["CELULAR_USUARIO"]."<br>";
  9. $contenido2.="Teléfono Fijo: ".$_SESSION["TELEFONO_USUARIO"]."<br>";
  10. $email = "".$_SESSION["EMAIL_USUARIO"]."";

Espero que te sirva, saludos!
  #3 (permalink)  
Antiguo 24/07/2009, 13:01
 
Fecha de Ingreso: abril-2009
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Si me podria servir, lo que tengo unas dudas, ya que no controlo mucho de php.

La primera duda, cuando defines las variables de session veo que no tienen nombre, sino que introduces directamente el contenido de la variable, no entiendo muy bien si se trata como una variable norma o como.
La segunda duda es, que no se como se distinguen las variables de session cuando haya diferente usuario conectado usando la misma funcion, hace referencia a la ip del usuario?

Muchas gracias por la ayuda.

--------------------------

Mas o menos tengo aclaradas las dudas, digamos que las variable de session las trata como si fuera una matriz.

Y la forma de distinguir me imagino que es por ip o algo asi, pero el caso es que distingue cada session.

Ahora la duda que me surje es como puedo direccionar un campo de introducion de una pagina, a una variable de session?

---------------------------

He visto por ahi que usan HTTP_POST_VAR pero nose muy bien como funciona y si ami me sirve para hacer lo que quiero.

Que alguien me heche un cable, plis

Última edición por jpinedo; 25/07/2009 a las 10:04
  #4 (permalink)  
Antiguo 28/07/2009, 02:33
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Distinguir usuario!

Hola.

En primer lugar HTTP_POST_VAR es una variable global según tengo entendido, aunque si utilizas PHP en su versión 5 en adelante te recomendaría utilizar la similar: $_POST para tratar los datos.

En cuanto a las variables, primero debes crear la sesión: session_start();

Esto te crea una sesión y mientras tengas abierto el internet explorer los valores que les des a tus variables de sesión estarán disponibles.

Cada vez que creas una sesión, se crea automáticamente un identificador de sesión. Aunque el nombre de sesión sea igual (por defecto viene predefinido en PHP como PHPSSID), el ID que asigna es distinto, por lo que los datos que tratas son distintos también.

Ahora bien, un usuario ingresa su nombre, apellidos, password, etc... y cuando le das al botón ENVIAR, tomas esos valores con $_POST['nombre'];

Ese valor lo guardas en tu variable de sesión: $_session['nombre'] = $_post['nombre'];

Cuando cierres el navegador o bien tengas un botón FINALIZAR SESION, lo que tienes que hacer es eliminar las variables de sesión o destruir la sesión para que esos datos no sigan estando disponibles.

Para destruir una variable de sesión utilizas: session_unregister('nombre');
Para destruir la sesión: session_destroy();

Espero te sirva de ayuda.
Saludos.
  #5 (permalink)  
Antiguo 28/07/2009, 11:58
 
Fecha de Ingreso: abril-2009
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Respuesta: Distinguir usuario!

Mas o menos me va quedando claro, pero los valores del formulario, se mantienen aunque haya varios usuarios usandolo a la vez, digamos que tiene su propia gestion de variables de session?

Mas o menos mi codigo seria asi:

<html>
<head>
<title>formulario de pago</title>
</head>

<body>

<form action="pago_visa.php" method="post">
<input type="text" name="Nombre" size="50">
<input type="text" name="Mail" size="50">
<input type="text" name="Articulo" size="50">
<input type="text" name="Precio" size="4">
<input type="submit" value="Entrar">
</form>
</body>
</html>

<html>
<head>
<title>pago_visa.php</title>
</head>
<body>

<?
session_start();

$_session['Nombre'] = $_POST['Nombre'];
$_session['Mail'] = $_POST['Mail'];
$_session['Articulo'] = $_POST['Articulo'];
$_session['Precio'] = $_POST['Precio'];

//session_destroy() //en otro la pagina principal
?>

</body>
</html>
  #6 (permalink)  
Antiguo 29/07/2009, 02:33
 
Fecha de Ingreso: abril-2009
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Respuesta: Distinguir usuario!

Bueno he hecho la prueba y con ese codigo ya leo los datos del formulario.

Gracias
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.