Foros del Web » Programando para Internet » PHP »

Redirigir a los usuarios al iniciar sesión según su nivel

Estas en el tema de Redirigir a los usuarios al iniciar sesión según su nivel en el foro de PHP en Foros del Web. Necesito ayuda para iniciar una sección en una página web con dreamweaver y php, necesito que al iniciar los usuarios sean redirigidos de acuerdo a ...

  #1 (permalink)  
Antiguo 29/08/2009, 08:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Redirigir a los usuarios al iniciar sesión según su nivel

Necesito ayuda para iniciar una sección en una página web con dreamweaver y php, necesito que al iniciar los usuarios sean redirigidos de acuerdo a su nivel, administrador (nivel 3) a la página de admi.php y el usuario (nivel 0) a formulario_usuarios.php , realice la página de inicio pero no sé como redirigir según el nivel, acá esta el código de inicio, ¿qué tengo que agregar para redirigir según el nivel de usuario?
Como redirigir a los usuarios según su nivel al iniciar sesión

?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
<?php require_once('Connections/CasaRealconn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$MM_fldUserAuthorization = "nivel";
$MM_redirectLoginSuccess = "Formulario_usuario.php";
$MM_redirectLoginFailed = "mal.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_CasaRealconn, $CasaRealconn);

$LoginRS__query=sprintf("SELECT nombre_usuario, contrasena, nivel FROM usuarios WHERE nombre_usuario=%s AND contrasena=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $CasaRealconn) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {

$loginStrGroup = mysql_result($LoginRS,0,'nivel');

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
  #2 (permalink)  
Antiguo 29/08/2009, 08:52
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Una vez tengas el dato del nivel sacado, haz un switch, con la variable del nivel, que, según el nivel que tenga, asigne a la variable $MM_redirectLoginSuccess una dirección y otra. Así de sencillo =)

Un Saludo!
  #3 (permalink)  
Antiguo 29/08/2009, 09:02
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Gracias Zeuslife por responder, pero soy nueva manejando Dreamweaver y sobre todo con Php, si pudieras explicarme más, que código debo colocar y donde, disculpa mi ignorancia.
  #4 (permalink)  
Antiguo 29/08/2009, 09:37
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Hola que tal ..acá te paso lo que pides .... espero te sirva .. salu2

if (isset($_POST['usuario'])) {

... acá chequeas nombre de usuario, contraseña y nivel[admin o usuario] en las variables $usuario, $pass, $nivel


if ($nivel==3){ //nivel 3 = administrador

echo "<script>alert('Bienvenido Administrador');</script>"; //le doy la bienvenida con una alerta
echo "<script>window.location='admi.php';</script>;"; //lo redirecciono a la página de administrador

}elsif ($nivel==0){ //nivel 0 = usuario

echo "<script>alert('Bienvenido '".$usuaio.");</script>"; //le doy la bienvenida con una alerta, por su nombre
echo "<script>window.location='formulario_usuarios.php' ;</script>;" //lo redirecciono a su zona

}else{


echo "<script>alert('No Esta Autorizado a Acceder a esta Zona');</script>"; //saco una alerta de no autorizacion
echo "<script>window.location='pagina_de_login.php' ;</script>;" /// lo redirecciono a la pagina de login

}
?>

//a tener en cuenta:
// 1. en la página de admin.php debes tener un chequeo de administrador, pues por ejemplo pongo en mi barra de direcciones //de mi navegado ....ruta a tu página de admin.../admi.php y estaré navegando tranquilamente por ella,lo mismo debes //hacer en la página de formulario_usuario.php




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


Cita:
Iniciado por caminos Ver Mensaje
Gracias Zeuslife por responder, pero soy nueva manejando Dreamweaver y sobre todo con Php, si pudieras explicarme más, que código debo colocar y donde, disculpa mi ignorancia.
  #5 (permalink)  
Antiguo 29/08/2009, 11:50
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Gracias joaowizard, he colocado los códigos que me dices,
if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$nivel=$_POST['nivel'];
if ($nivel==3){ //nivel 3 = administrador

echo "<script>alert('Bienvenido Administrador');</script>"; //le doy la bienvenida con una alerta
echo "<script>window.location='admi.php';</script>;"; //lo redirecciono a la página de administrador

}elsif ($nivel==0){ //nivel 0 = usuario

pero en esta línea me dice que hay error, en la base de datos la hice con:
usuarioid int(11)
nombre_usuario varchar(100)
contrasena varchar(15)
nivel int(3)
me puedes decir que coloco mal, gracias
  #6 (permalink)  
Antiguo 29/08/2009, 12:06
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Hola Caminos ... en qué línea te da error ???? ....

--------------------------------------------------------
Cita:
Iniciado por caminos Ver Mensaje
Gracias joaowizard, he colocado los códigos que me dices,
if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$nivel=$_POST['nivel'];
if ($nivel==3){ //nivel 3 = administrador

echo "<script>alert('Bienvenido Administrador');</script>"; //le doy la bienvenida con una alerta
echo "<script>window.location='admi.php';</script>;"; //lo redirecciono a la página de administrador

}elsif ($nivel==0){ //nivel 0 = usuario

pero en esta línea me dice que hay error, en la base de datos la hice con:
usuarioid int(11)
nombre_usuario varchar(100)
contrasena varchar(15)
nivel int(3)
me puedes decir que coloco mal, gracias
  #7 (permalink)  
Antiguo 29/08/2009, 12:13
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Gracias eres un amor, por tenerme paciencia y contestarme
sale error en esta línea

}elsif ($nivel==0){ //nivel 0 = usuario
  #8 (permalink)  
Antiguo 29/08/2009, 12:16
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

MEU AMIGO !!! falta la E en el else jejejeje ... sorry ... salud


Cita:
Iniciado por caminos Ver Mensaje
Gracias eres un amor, por tenerme paciencia y contestarme
sale error en esta línea

}elsif ($nivel==0){ //nivel 0 = usuario
  #9 (permalink)  
Antiguo 29/08/2009, 12:23
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Disculpa pero como no sé nada de código estoy colocado exactamente lo que me dijiste y Ahora me sale error en la línea
}else{
  #10 (permalink)  
Antiguo 29/08/2009, 12:27
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

en la línea anterior a ese ELSE esta:

echo "<script>window.location='formulario_usuarios. php' ;</script>;" //lo redirecciono a su zona

te falta el ; .... debe quedar así:

echo "<script>window.location='formulario_usuarios. php' ;</script>;";


y tranqui ... pa eso estamos ... lo que te recomiendo es un curso básico de PHP :) ... de todas formas estamos pa ayudarnos ... salu2 !!
  #11 (permalink)  
Antiguo 29/08/2009, 12:34
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Eso me pasa por hacer solo el curso de dreamwevar sin saber nada de php,
Coloque esto

?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$nivel=$_POST['nivel'];
if ($nivel==3){
echo "<script>alert('Bienvenido Administrador');</script>";
echo "<script>window.location='Admi.php';</script>;";
}elseif ($nivel==0){

echo "<script>alert('Bienvenido '".$usuario.");</script>";
echo "<script>window.location='formulario_usuario. php' ;</script>;";
}else{


echo "<script>alert('No Esta Autorizado a Acceder a esta Zona');</script>";
echo "<script>window.location='mal.php' ;</script>;"
}
?>



pero sigue apareciendo error al final
}
?>

Última edición por caminos; 29/08/2009 a las 12:56
  #12 (permalink)  
Antiguo 29/08/2009, 12:46
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Bueno, a simple vista veo esto:

session_start(); // esta línea debe ser LA PRIMERA en tu código

Otra cosa, en tu formulario, cual es el método que usas ?? POST o GET ?? pq veo que en un lugar usas POST y en otro GET, y pienso que todas las variables vengan del mismo formulario ... si el formulario usa el método POST todas las variables debes recogerlas de la forma $_POST['VARIABLE'], si por el contrario, tu formulario usa el método GET pues la forma correcta de recogerlas es $_GET['VARIABLE'].

ahora bien .. te recomiendo que para poder ayudarte mejor sea bueno que SIEMPRE pongas o describas el ERROR que te muestra, porque es mucho mas dificil saber que sucede sin saber que TIPO de error es ... un salu2

------------------------------------------------------
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$nivel=$_POST['nivel'];
if ($nivel==3){ //nivel 3 = administrador

echo "<script>alert('Bienvenido Administrador');</script>"; //le doy la bienvenida con una alerta
echo "<script>window.location='admi.php';</script>;"; //lo redirecciono a la página de administrador

}elseif ($nivel==0){ //nivel 0 = usuario

echo "<script>alert('Bienvenido '".$usuaio.");</script>"; //le doy la bienvenida con una alerta, por su nombre
echo "<script>window.location='formulario_usuarios. php' ;</script>;";
}else{


echo "<script>alert('No Esta Autorizado a Acceder a esta Zona');</script>"; //saco una alerta de no autorizacion
echo "<script>window.location='pagina_de_login.php' ;</script>;" /// lo redirecciono a la pagina de login

}
?>



pero sigue apareciendo error al final
}
?>[/QUOTE]
  #13 (permalink)  
Antiguo 29/08/2009, 13:07
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Lo que tenia originalmente erá este codigo:

<?php require_once('Connections/CasaRealconn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$MM_fldUserAuthorization = "nivel";
$MM_redirectLoginSuccess = "Admi.php";
$MM_redirectLoginFailed = "mal.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_CasaRealconn, $CasaRealconn);

$LoginRS__query=sprintf("SELECT nombre_usuario, contrasena, nivel FROM usuarios WHERE nombre_usuario=%s AND contrasena=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $CasaRealconn) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {

$loginStrGroup = mysql_result($LoginRS,0,'nivel');

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>


con este formulario de conectar al ususrio, esta con post

<form id="IniciarSecc" name="IniciarSecc" method="POST" action="<?php echo $loginFormAction; ?>">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td align="right" valign="middle">&nbsp;</td>
<td align="left" valign="middle">&nbsp;</td>
</tr>
<tr>
<td align="right" valign="middle">Nombre del Usuario:</td>
<td align="left" valign="middle"><input name="usuario" type="text" id="usuario" size="50" maxlength="50" /></td>
</tr>
<tr>
<td align="right" valign="middle">Contraseña:</td>
<td align="left" valign="middle"><input name="contrasena" type="password" id="contrasena" size="50" /></td>
</tr>
<tr>
<td align="right" valign="middle"><input type="submit" name="button" id="button" value="Iniciar" /></td>
<td align="left" valign="middle"><input type="reset" name="button2" id="button2" value="Restablecer" /></td>
</tr>
</table>
</form>

pero solo envía a la página Admi.php. Quizás no supe donde colocar lo que me dijiste, ya me volví un 8, no se si se explicarme
  #14 (permalink)  
Antiguo 29/08/2009, 13:12
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Tome lo que me dijiste y lo coloque despues de

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$nivel=$_POST['nivel'];
if ($nivel==3){
echo "<script>alert('Bienvenido Administrador');</script>";
echo "<script>window.location='Admi.php';</script>;";
}elseif ($nivel==0){

echo "<script>alert('Bienvenido '".$usuario.");</script>";
echo "<script>window.location='formulario_usuario. php' ;</script>;";
}else{


echo "<script>alert('No Esta Autorizado a Acceder a esta Zona');</script>";
echo "<script>window.location='mal.php' ;</script>;"
} (acá es donde me sale el error)
?>
  #15 (permalink)  
Antiguo 29/08/2009, 13:18
Avatar de JoseTejada  
Fecha de Ingreso: diciembre-2007
Ubicación: Peru.Lima.Cercado.MDuarez.Granaderos172
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

el ultimo echo no tiene el puto y coma
  #16 (permalink)  
Antiguo 29/08/2009, 13:19
Avatar de JoseTejada  
Fecha de Ingreso: diciembre-2007
Ubicación: Peru.Lima.Cercado.MDuarez.Granaderos172
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

echo "<script>alert('No Esta Autorizado a Acceder a esta Zona');</script>";
echo "<script>window.location='mal.php' ;</script>;";//<<------Aki
} (acá es donde me sale el error)
?>
  #17 (permalink)  
Antiguo 29/08/2009, 13:20
Avatar de StrondA  
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

por que no pruebas asi?


Código PHP:
if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$nivel=$_POST['nivel'];
if (
$nivel==3){
echo 
"<script>alert('Bienvenido Administrador');</script>";
echo 
"<script>window.location='Admi.php';</script>;";
}elseif (
$nivel==0){

echo 
"<script>alert('Bienvenido '".$usuario.");</script>";
echo 
"<script>window.location='formulario_usuario. php' ;</script>;";
}else{


echo 
"<script>alert('No Esta Autorizado a Acceder a esta Zona');</script>";
echo 
"<script>window.location='mal.php' ;</script>";
}
?> 

Última edición por StrondA; 29/08/2009 a las 13:26
  #18 (permalink)  
Antiguo 29/08/2009, 13:30
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Cita:
Iniciado por StrondA Ver Mensaje
por que no pruebas asi?


Código PHP:
if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$nivel=$_POST['nivel'];
if (
$nivel==3){
echo 
"<script>alert('Bienvenido Administrador');</script>";
echo 
"<script>window.location='Admi.php';</script>;";
}elseif (
$nivel==0){

echo 
"<script>alert('Bienvenido '".$usuario.");</script>";
echo 
"<script>window.location='formulario_usuario. php' ;</script>;";
}else{


echo 
"<script>alert('No Esta Autorizado a Acceder a esta Zona');</script>";
echo 
"<script>window.location='mal.php' ;</script>";
}
?> 
Bravo por los colores !!!! realmente ayuda .. _ :D ... pues creo que ahora no falta ni una sola letra ni un solo ; jejeje . salu2 a todos !!!
  #19 (permalink)  
Antiguo 29/08/2009, 13:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Gracias ya lo coloque, pero sigue el error pero al final de todo en la linea 253 y no carga la pagina,

acá te dejo todo el codigo

<?php require_once('Connections/CasaRealconn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contrasena'];
$nivel=$_POST['nivel'];
if ($nivel==3){
echo "<script>alert('Bienvenido Administrador');</script>";
echo "<script>window.location='Admi.php';</script>;";
}elseif ($nivel==0){

echo "<script>alert('Bienvenido '".$usuario.");</script>";
echo "<script>window.location='formulario_usuario. php' ;</script>;";
}else{


echo "<script>alert('No Esta Autorizado a Acceder a esta Zona');</script>";
echo "<script>window.location='mal.php' ;</script>";
}
?>



Gracias por tu ayuda, si tuvieras un tiempo y me corriges el código, perdona que te moleste tanto, una ignorante que te agradecerá eternamente.
  #20 (permalink)  
Antiguo 29/08/2009, 13:34
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Sonrisa Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

pero cual es la línea 253 .. no veo . sorry :D
  #21 (permalink)  
Antiguo 29/08/2009, 13:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

es al final de toda la pagina, no puedo poner todo el código es muy largo y tampoco sé cómo colocarlo como lo puso StrondA, gracias por la ayuda son todos unos amores
  #22 (permalink)  
Antiguo 29/08/2009, 13:47
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

bueno ... al menos pon el tipo de erro .. copia y pega el error ... pa saber de que se trata
  #23 (permalink)  
Antiguo 29/08/2009, 13:51
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

este el error


Parse error: parse error in C:\wamp\www\Casa Real php\Inicio.php on line 242

y esa es la ultima linea de la pagina, que es esta

<!-- InstanceEnd --></html>
  #24 (permalink)  
Antiguo 29/08/2009, 13:58
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Sonrisa Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

bueno te comento que php no es muy bueno dando as lineas de error, pero siempre que php me da error en la ultima, según la experiencia que tengo, es porque falta cerrar una } , mi recomendación es que verifiques las llaves, que todas las que abras { pues tengan una que las cierre }...espero te ayude .. salu2
  #25 (permalink)  
Antiguo 29/08/2009, 14:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Si le faltaba una}, ya abre la pagina pero luego de salir el mensaje de bienvenida da errores en estas línea

$nivel=$_POST['nivel']; (Error acá)
if ($nivel==3){
echo "<script>alert('Bienvenido Administrador');</script>";
echo "<script>window.location='Admi.php';</script>;";
}elseif ($nivel==0){

echo "<script>alert('Bienvenido '".$usuario.");</script>"; (error acá)
  #26 (permalink)  
Antiguo 29/08/2009, 14:21
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Sonrisa Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

...avanzamos algo !!! :D

bueno, si te sale error en

$nivel=$_POST['nivel']; (Error acá) .. pues revisa el NOMBRE de tu campo en tu furmulario, debe llamarse nivel, así todo en minúscula, pues ese error en esa línea es que no está recibiendo nada cuando estás capturando la variable nivel que viene del form, revisa que en esa misma línea que sean comillas simples '


por otra parte, si te sale error en:
echo "<script>alert('Bienvenido '".$usuario.");</script>"; (error acá) ... pues la misma cosa, en la variable $usuario no está "agarrando" nada, además, tu no usas la variable usuario para capturar el usuario, creo que usas esta otra: $loginUsername=$_POST['usuario']; donde la variable es $loginUsername, es decir, sustituye esa línea por:

$usuario=$_POST['usuario']; // y debe solucionarte ese problema en esa línea ....

..salu2


--------------------------------------------------------------------
Cita:
Iniciado por caminos Ver Mensaje
Si le faltaba una}, ya abre la pagina pero luego de salir el mensaje de bienvenida da errores en estas línea

$nivel=$_POST['nivel']; (Error acá)
if ($nivel==3){
echo "<script>alert('Bienvenido Administrador');</script>";
echo "<script>window.location='Admi.php';</script>;";
}elseif ($nivel==0){

echo "<script>alert('Bienvenido '".$usuario.");</script>"; (error acá)
  #27 (permalink)  
Antiguo 29/08/2009, 14:45
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Gracias ya pude entrar al iniciar sesión pero solo me lleva a formulario_usuarios.php sea administrador. La base de datos esta:

usuarioid int(11)
nombre_usuario varchar(100)
contrasena varchar(15)
nivel int(3)
y cuando hice el formulario para ingresar datos lo hice pidiendo el nombre del usuario y la contraseña con el nivel, al utilizar el
$usuario=$_POST['usuario']; no me da la bienvenida y se va directo al formulario_usuarios, he intentado varias veces alguna veces me envía como usuario no registrado
  #28 (permalink)  
Antiguo 29/08/2009, 14:53
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

El formulario es este:

<form id="IniciarSecc" name="IniciarSecc" method="POST" action="<?php echo $loginFormAction; ?>">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td align="right" valign="middle">&nbsp;</td>
<td align="left" valign="middle">&nbsp;</td>
</tr>
<tr>
<td align="right" valign="middle">Nombre del Usuario:</td>
<td align="left" valign="middle"><input name="usuario" type="text" id="usuario" size="50" maxlength="50" /></td>
</tr>
<tr>
<td align="right" valign="middle">Contraseña:</td>
<td align="left" valign="middle"><input name="contrasena" type="password" id="contrasena" size="50" /></td>
</tr>
<tr>
<td align="right" valign="middle"><input type="submit" name="button" id="button" value="Iniciar" /></td>
<td align="left" valign="middle"><input type="reset" name="button2" id="button2" value="Restablecer" /></td>
</tr>
</table>
</form>
  #29 (permalink)  
Antiguo 29/08/2009, 15:04
 
Fecha de Ingreso: agosto-2009
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

los errores son:

Notice: Undefined index: nivel C:\wamp\www\CasaReal.php\Inicio.php on line 48
Notice: Undefined index: nivel C:\wamp\www\CasaReal.php\Inicio.php on line 54
  #30 (permalink)  
Antiguo 29/08/2009, 15:27
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Sonrisa Respuesta: Redirigir a los usuarios al iniciar sesión según su nivel

Mira, la estructura de tu sistema de LOGIN debe ser la siguiente:

FORMULARIO.
- Envias las variables nombre, password
- Eliges el método de envío, usa mejor POST por seguridad

RECIBIR DATOS DEL FORMULARIO
- capturas las variables del formulario usuario = $_POST['nombre'] y contrasena = $_POST['password']
- con dichas variables TIENES que verificar si existen en tu base de datos lo siguiente:
* existe el nombre? //si no existe el nombre [$usuario] nombre de usuario mal, redireccional al form otra vez
* si existe el nombre pues entonces ver si coincide la contraseña con la de la base de datos para este nombre?//si no coincide pues contraseña mal tecleada y redirigir para el form otra vez
* si existe el nombre, y la contraseña coincide, pues VERIFICAR si es USUARIO o administrador, y es acá donde haces el IF que se te envió antes, si es administrador lo direccionas a la página de admin, si es usuario pues lo envías a la otra.

Te escribo esto porque en ningún lugar he visto que haces estos chequeos de nivel en tu código ... si te falta alguno de esos "modulos" pues no te funcionará tu sistema de login ...
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 16:57.