P
Pcx89
Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
<?php
session_start();
include('acceso_db3.php');
if(isset($_SESSION['usuario_nombre'])) {
?>
emm, disculpa, ¿pero en que parte de mi código debería cambiarlo?Tu problema de seguro estas usando la misma variable de session para los dos... tendrias que o usar un campo distinto, o si se logea como empresa crear un campo $_SESSION['admin'] = 0; y si se logea como admin $_SESSION['admin']= 1; y chequeas el valor de ese campo...
Quizás me expresé mal XDNo comprendi my bien pero al parecer logueaste dos veces?
Sera que destruiste la session antes de loguarte?
Si no lo haces la session seguira..
emm, disculpa, ¿pero en que parte de mi código debería cambiarlo?
Quizás me expresé mal XD
Imaginate que como empresa estás logueada y tecleas www.nobmredelsitio.com/paneldeladmin.php y puede modificar datos como si nada. Eso es lo que me sucede.
<?php
session_start();
include('acceso_db3.php');
if(isset($_SESSION['usuario_nombre']) && $_SESSION['admin']=="1") {
... veamos... cuando la empresa o el admin se logean... ahi tienes que diferenciar uno de otro... y los accesos al panel...
PHP:<?php session_start(); include('acceso_db3.php'); if(isset($_SESSION['usuario_nombre']) && $_SESSION['admin']=="1") {
como ves solo agregas una variable mas... tu problema es que estas logeando admin y empresas con la misma variable de session, en tu caso: usuario_nombre, por eso pueden acceder a cualquier panel...
<?php
session_start();
include('acceso_db3.php');
if(isset($_SESSION['adminame'])) {
?>
Lo que hice fue poner lo siguiente al comienzo de mipanel.php
Como verás cambié el nombre de la variable, ahora sucede que cuando voy de Empresa a Admin me pide loguearme (perfecto) pero no pasa lo mismo al revés. :/PHP:<?php session_start(); include('acceso_db3.php'); if(isset($_SESSION['adminame'])) { ?>
if(isset($_SESSION['usuario_nombre']) || isset($_SESSION['adminame'])){
}
if(isset($_SESSION['adminame'])) {
if(isset($_SESSION['usuario_nombre']) || isset($_SESSION['adminame'])){
}
si como admin quieres entrar a la empresa... pues tienes que hacer otra verificación en la empresa... ejemplo
PHP:if(isset($_SESSION['usuario_nombre']) || isset($_SESSION['adminame'])){ }
Resumiendo... en admin tendrias:
y en empresa tendrias:PHP:if(isset($_SESSION['adminame'])) {
PHP:if(isset($_SESSION['usuario_nombre']) || isset($_SESSION['adminame'])){ }
if(isset($_SESSION['usuario_nombre']) || isset($_SESSION['adminame'])){
}
if(isset($_SESSION['adminame']) || isset($_SESSION['usuario_nombre'])){
}
cicklow, agradezco mucho tiempo de verdad!!
lo que quiero es que: Empresa solo entra a Empresa y Admin solo a Admin. Si no entendí mal entonces sería:
PHP:if(isset($_SESSION['usuario_nombre']) || isset($_SESSION['adminame'])){ }
y por otra parte:
PHP:if(isset($_SESSION['adminame']) || isset($_SESSION['usuario_nombre'])){ }
¿Es esto correcto? :O
if(isset($_SESSION['adminame'])){
}
if(isset($_SESSION['usuario_nombre'])){
}
heee.... estas poniendo exactamente lo mismo... sino quieres que uno acceda al otro solo deja:
panel admin:
PHP:if(isset($_SESSION['adminame'])){ }
panel empresa:
PHP:if(isset($_SESSION['usuario_nombre'])){ }
con eso listo... desde ya en el login vos tendras que diferenciar cual es cual y crear la session para cada caso...
¿Mmm, pero el código va en el login o en el código de restricción de la página?
SI(USER=="admin"){
incluir('acceso_db3.php');
VAR T = CONULTA_MYSQL("USER='admin' AND PASS='".PASSWORD."'");
SI(T==VERDADERO){
SESSION['adminame'] = T['nombre'];
}SINO{
//ERROR datos incorrectos
}
}SINO{
incluir('acceso_db2.php');
VAR T = CONULTA_MYSQL("USER='".USER."' AND PASS='".PASSWORD."'");
SI(T==VERDADERO){
SESSION['usuario_nombre'] = T['nombre'];
}SINO{
//ERROR datos incorrectos
}
}
te puse donde va cada uno... creo que no estas entendiendo que hacer... veamos... usemos pseudo lenguaje...
(de igual forma no se para que tienes dos bases de datos distintas... pero en fin)...
login.php
PHP:SI(USER=="admin"){ incluir('acceso_db3.php'); VAR T = CONULTA_MYSQL("USER='admin' AND PASS='".PASSWORD."'"); SI(T==VERDADERO){ SESSION['adminame'] = T['nombre']; }SINO{ //ERROR datos incorrectos } }SINO{ incluir('acceso_db2.php'); VAR T = CONULTA_MYSQL("USER='".USER."' AND PASS='".PASSWORD."'"); SI(T==VERDADERO){ SESSION['usuario_nombre'] = T['nombre']; }SINO{ //ERROR datos incorrectos } }
y el code del post anterior en los paneles... ya sino se entiende listo... porque el que la estas liando sos vos... es algo bien simple de comprender, y te ahorrarias muuucho codigo y dramas, con una sola base de datos y una variable que identifique uno de otro... como dije al inicio...
<?php
session_start(); // comprobamos que se haya iniciado la sesión
include('acceso_db3.php'); // incluímos los datos de acceso a la BD
if(isset($_SESSION['adminame'])) {
?>
<?php
session_start();
include('acceso_db3.php');
$sql = "SELECT adminame FROM administrador";
$query = mysql_query($sql);
$result = mysql_fetch_assoc($query);
if(empty($_SESSION['adminame'])) {
?>
<?php
session_start();
include('acceso_db2.php');
if(isset($_SESSION['usuario_nombre'])) {
?>
<?php
session_start();
include('acceso_db2.php');
$sql = "SELECT usuario_nombre FROM empreg";
$query = mysql_query($sql);
$result = mysql_fetch_assoc($query);
if(empty($_SESSION['usuario_nombre'])) {
?>
if(isset($_SESSION['usuario']) and $_SESSION['usuario']=="Administrador"){
}
Puedes cambiar la ruta de acceso a tu panel 😛
mejor has una comprobacion asi como:
PHP:if(isset($_SESSION['usuario']) and $_SESSION['usuario']=="Administrador"){ }
Primero, como compruebas que el usuario hizo un login correcto en la base de datos?
y ademas como comprueba los privilegios que tiene este usuario?
segun yo con un formulario haces POST, el que recibe los datos del post los revisa y miras si el usuario es administrador, y si asi lo es pues defines la session con el usuario o con una Bandera para decir que esta correcto o tiene permisos
pero por eso pregunto como diferenceas que es un usuario comun a un usuario administrativo? que campo en la base de datos te dice que es correcto ? y donde seteas esta variable de session?
pero por eso pregunto como diferenceas que es un usuario comun a un usuario administrativo? que campo en la base de datos te dice que es correcto ? y donde seteas esta variable de session?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?