Codifíca.me | Desarrollo web | Programación | SEOCodifíca.me | Desarrollo web | Programación | SEO
  • Monetizar
    • Adsense
    • SEO
  • Desarrollo web
    • Php
    • WordPress
    • Blogger
    • Facebook (API)
      • Aplicación Test
      • Conectar con Facebook
      • Facebook en Español
      • Publicar Facebook
    • Google Maps
    • JavaScript
    • Opencart
    • Prestashop
    • XML
    • Flash
  • Bases de datos
    • Oracle
    • MySql
    • Data Mining
    • Forms
    • SGBD
  • Código
    • Android
    • Ensamblador
    • Código ensamblador
    • Java
    • ms-dos
    • Pro*C
    • Vb.net
  • Crear Blog
  • Cajon desastre
    • Redes
    • Arquitectura
    • Ubuntu
    • Hardware
    • Software
    • Consolas
    • Iphone
  • Tools
    • Get Backlinks
    • SQL 2 XML
    • Footprints enlaces
    • Whois
Ops! Hemos pasado los 1000 comentarios!!! Gracias a vosotros llevamos 1022 comentarios.
Participa en el blog!

Control monousuario en Opencart

1 comentarioDesarrollo web, Opencart
Control monousuario en Opencart
Vota esta entrada.

Control monousuario en opencart.

Este script se hizo inicialmente para una página de videos, en la que no querían que hubiese más de una sesión abierta por usuario, ya que querían controlar que cada usuario solo pudiese ver los videos en un sitio al mismo tiempo.
Con este script lograremos que cuando un usuario tenga abierta una sesión y abra otra en otra sitio se cierre la sesión que tenía abierta anteriormente.

Primero creamos la tabla control_session con la que queremos controlar las sesiones que se abren en nuestra página web.

CREATE TABLE control_session(
id INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(id),
name VARCHAR(300), 
sessionid VARCHAR(300));

CREATE TABLE control_session( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name VARCHAR(300), sessionid VARCHAR(300));

En las páginas dónde puedan hacer login los usuarios recuperaremos estas variables (por lo general será la página Account).

//insertamos en la tabla el id del customer y la sesión
 
$session1=  $this->session->getId();
$name    = $this->customer->getId();
 
$sql12="insert into control_session (sessionid,name ) values ('$session1','$name')";
 
$this->db->query($sql12);
$pruebastock1 = mysql_query($sql12);
 
// recuperamos la última sesión abierta.
$sql1="SELECT max(id), sessionid from control_session
WHERE name='prueba'";
 
$lanzaquery = mysql_query($sql1);
$recuperaid = mysql_fetch_array($lanzaquery);
$sessionid2 = $recuperaid['sessionid'];
 
echo "**********";
echo $sessionid2;
echo "**********";

//insertamos en la tabla el id del customer y la sesión $session1= $this->session->getId(); $name = $this->customer->getId(); $sql12="insert into control_session (sessionid,name ) values ('$session1','$name')"; $this->db->query($sql12); $pruebastock1 = mysql_query($sql12); // recuperamos la última sesión abierta. $sql1="SELECT max(id), sessionid from control_session WHERE name='prueba'"; $lanzaquery = mysql_query($sql1); $recuperaid = mysql_fetch_array($lanzaquery); $sessionid2 = $recuperaid['sessionid']; echo "**********"; echo $sessionid2; echo "**********";

Ahora insertaremos este código en el footer o en algun sitio que se cargue siempre en nuestra web o en el producto si queremos que se controle la sesión cuando el cliente llegue al producto. Así cada vez que nos movamos a una página dentro de Opencart que ejecute este código comprobaremos que la sesión abierta en ese navegador es la última, sino es se cerrará esa sesión.
Con lo que finalmente lograremos que haya una solamente una sesión abierta por cliente que esté subscrito.

//footer

//comparamos el customer y la session
 
$session1=  $this->session->getId();
$name    = $this->customer->getId();
 
echo "select";
$sql12="SELECT max(id) id from control_session
WHERE name='$name'" ;
 
$result = mysql_query($sql12);
$lanzaquery2 = mysql_fetch_array($result);
$result1 = $lanzaquery2['id'];
 
$sql123="SELECT max(id) id from control_session
WHERE name='$name' and sessionid='$session1'";
 
$result = mysql_query($sql123);
$lanzaquery3 = mysql_fetch_array($result);
$result2 = $lanzaquery3['id'];
echo '*'.$this->document->getTitle().'*';
echo "-----";
 
if ($result1==$result2){
echo 'Go!';
}else{
if ('My Account'==$this->document->getTitle()){
echo "Fuera";
}else {
session_destroy();
header("Refresh:0; url=index.php?route=common/home"); 
}
}

//comparamos el customer y la session $session1= $this->session->getId(); $name = $this->customer->getId(); echo "select"; $sql12="SELECT max(id) id from control_session WHERE name='$name'" ; $result = mysql_query($sql12); $lanzaquery2 = mysql_fetch_array($result); $result1 = $lanzaquery2['id']; $sql123="SELECT max(id) id from control_session WHERE name='$name' and sessionid='$session1'"; $result = mysql_query($sql123); $lanzaquery3 = mysql_fetch_array($result); $result2 = $lanzaquery3['id']; echo '*'.$this->document->getTitle().'*'; echo "-----"; if ($result1==$result2){ echo 'Go!'; }else{ if ('My Account'==$this->document->getTitle()){ echo "Fuera"; }else { session_destroy(); header("Refresh:0; url=index.php?route=common/home"); } }

Finalmente, le reenviaremos a la página principal en el caso de que no coincida la última sesión con la sesión que el usuario tenga abierta en su navegador.

Miguel Ber
Miguel Ber Software Developer

Ingeniero informático y desarrollador de aplicaciones web. Experto en desarrollo web, Webmaster, e-commerce y SEO.

Code is {poetry}
¿Necesitas un desarrollador? Contáctame!
¿Tienes alguna pregunta? Te respondemos ya!!

Comparte esto:

  • Haz clic para compartir en Google+ (Se abre en una ventana nueva)
  • Haz clic para compartir en Twitter (Se abre en una ventana nueva)
  • Haz clic para compartir en Facebook (Se abre en una ventana nueva)
  • Haz clic para compartir en LinkedIn (Se abre en una ventana nueva)
  • Haz clic para compartir en Pinterest (Se abre en una ventana nueva)
  • Haz clic para compartir en Tumblr (Se abre en una ventana nueva)
  • Haz clic para enviar por correo electrónico a un amigo (Se abre en una ventana nueva)

1 comentarios. Comentar

Bitacoras.com
19 mayo, 2014 15:10

Información Bitacoras.com

Valora en Bitacoras.com: Control monousuario en opencart. Este script se hizo inicialmente para una página de videos, en la que no querían que hubiese más de una sesión abierta por usuario, ya que querían controlar que cada usuario solo pudiese …

Responder

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada.

Síguenos en las redes

Facebook
Twitter
Google+
Skype
GitHub
  • El mejor ordenador para empezar a programar
  • dell Opinión sobre el portátil Dell XPS 13 Review
  • Los mejores routers WiFi
  • Comparando los sistemas de almacenamiento en la nube
  • discos duros el mejor Comparativas disco duros externos
  • ips Cómo utilizar mi servidor como proxy
codifica.me
Este sitio emplea cookies para prestar sus servicios, para personalizar anuncios y para analizar el tráfico. Si utilizas este sitio web, se sobreentiende que aceptas el uso de cookies..Accept Leer más
Privacidad y Política de Cookies
loading Cancelar
La entrada no fue enviada. ¡Comprueba tus direcciones de correo electrónico!
Error en la comprobación de email. Por favor, vuelve a intentarlo
Lo sentimos, tu blog no puede compartir entradas por correo electrónico.