Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

Integración login php a joomla

Estas en el tema de Integración login php a joomla en el foro de Joomla en Foros del Web. Hola a todos! Me acabo de registrar en este gran foro y principalmente tengo una gran duda. He visto opción por internet a mi problema, ...
  #1 (permalink)  
Antiguo 24/04/2013, 05:47
Avatar de csuarez91  
Fecha de Ingreso: abril-2013
Ubicación: Barcelona
Mensajes: 8
Antigüedad: 6 años
Puntos: 0
Integración login php a joomla

Hola a todos! Me acabo de registrar en este gran foro y principalmente tengo una gran duda. He visto opción por internet a mi problema, pero exactamente no se si fiarme y sinceramente no se que fichero tengo que modificar.

Tengo un login.php que se conecta a mi MySQL y cuando el login es correcto, va a index.php de mi joomla. El problema que tengo es que las sesiones no se pasan (logicamente), a ver si alguien sería tan amable de decirme como poder pasar esas sesiones y que cuando entre a joomla, el usuario continue logueado.

Muchas gracias!


index.php
Cita:
<!DOCTYPE html>
<?php
session_start();
?>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Login</title>
<link rel="stylesheet" href="login/subc_login/css/style.css">

</head>
<body>
<form method="post" action="auth.php" class="login">
<p>
<label for="login">Email:</label>
<input type="text" name="login">
</p>

<p>
<label for="password">Password:</label>
<input type="password" name="password">
</p>

<p class="login-submit">
<button type="submit" class="login-button">Login</button>
</p>

<p class="forgot-password"><a href="recupe_pass.php">Has olvidado la contraseña?</p></a>
</form>
</body>
</html>
auth.php
Cita:
<?php
session_start();
require "conexion.php";

$login = $_POST["login"];
$password = $_POST["password"];

$password = sha1(md5($password));

$sql = "SELECT id FROM users WHERE email='$login' and password='$password'";
$rec = mysql_query($sql,$con) or die (mysql_error());

if($row = mysql_fetch_array($rec))
{
$_SESSION["id_username"] = $row['id'];
header("Location: http://www.estigiapp.com/joomla/index.php");
}
else
{
header("Location: http://www.estigiapp.com/index.php");
}
?>
conexion.php
Cita:
<?php
$DB_SERVER = 'localhost';
$DB_NAME = 'EAPP';
$DB_USER = 'EU';
$DB_PASS = 'friendlyfire';

$con = mysql_connect($DB_SERVER,$DB_USER,$DB_PASS);
mysql_select_db($DB_NAME,$con) or die("Cannot select database");
?>
  #2 (permalink)  
Antiguo 24/04/2013, 08:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 10 años, 9 meses
Puntos: 1531
Respuesta: Integración login php a joomla

¿y ese CMS no tiene una capa de RBAC?, a lo sumo tendrías que integrar tu código en alguna parte de su core, si lo permite, o usar el mismo session_name que use el CMS, eso, si es que usa la Liberia session de PHP, porque bien podría tener una propia, en tal caso emular sus cookies.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 24/04/2013, 08:18
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 10 años, 6 meses
Puntos: 4
Respuesta: Integración login php a joomla

porque no loe haces modificando directamente el ACL de joomla, o utilizas algun componente que te ayude con esas sessiones, checate el manual oficial joomlaspanish.org
  #4 (permalink)  
Antiguo 24/04/2013, 08:29
Avatar de csuarez91  
Fecha de Ingreso: abril-2013
Ubicación: Barcelona
Mensajes: 8
Antigüedad: 6 años
Puntos: 0
Respuesta: Integración login php a joomla

Gracias por contestar, ahora mismo estoy en clase, pero en cuanto pueda miraré vuestras opciones!
Igualmente estoy abierto a otras opciones de otros usuarios o los mismos que han contestado.

Gracias!
  #5 (permalink)  
Antiguo 24/04/2013, 09:01
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 10 años, 6 meses
Puntos: 4
Respuesta: Integración login php a joomla

Bueno ya viendo el codigo mas a fondo, una vez que validas que la session es correcta, puedes hacer algo asi;

index.php
Código:
<?php
session_start();
$var_sesion= ($_SESSION["autentificado"]= 1); // Donde uno seria que si esta autenticado

?>
Dspues en tus otros archivos puedes recibir tu variable $var_sesion y la validas que si es uno permita la navegacion y mostrar tu contenido si no pues rebotar el acceso

Archivo 3
Código:
session_start();
if($_SESSION["var_sesion"]=1){

contenido...

}else {

 robotar ....
}
  #6 (permalink)  
Antiguo 24/04/2013, 09:16
Avatar de csuarez91  
Fecha de Ingreso: abril-2013
Ubicación: Barcelona
Mensajes: 8
Antigüedad: 6 años
Puntos: 0
Respuesta: Integración login php a joomla

Es decir, si yo pongo que si es cierto, puedo poner el index.php de joomla, la sesion del login que ha introducido, se quedaría guardada y podria utilizar su cuenta perfectamente?

En este tema estoy algo perdido, pero tendria que poner el session start(); en todos los ficheros de joomla?

Cita:
if($_SESSION["var_sesion"]=1) {
index.php
}else {

login.php
}

Etiquetas: html, integración, login, mysql, php, select, sql
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 23:25.