Foros del Web » Programando para Internet » PHP »

Dudas php y ccs y mysql para mostar menu segun perfil

Estas en el tema de Dudas php y ccs y mysql para mostar menu segun perfil en el foro de PHP en Foros del Web. ESTE ES MI VALIDAR USUARIO PHP <?php include("utils/Usuarios.php"); $es = new Usuarios(); $es -> SetIdusuario (); if(trim($HTTP_POST_VARS["idusuario"]) != "" && trim($HTTP_POST_VARS["contrasenia"]) != "") { // ...
  #1 (permalink)  
Antiguo 02/12/2008, 12:53
 
Fecha de Ingreso: diciembre-2008
Ubicación: Mexico DF
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
Exclamación Dudas php y ccs y mysql para mostar menu segun perfil

ESTE ES MI VALIDAR USUARIO PHP

<?php
include("utils/Usuarios.php");

$es = new Usuarios();
$es -> SetIdusuario ();

if(trim($HTTP_POST_VARS["idusuario"]) != "" && trim($HTTP_POST_VARS["contrasenia"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["idusuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["contrasenia"];
$result = ('SELECT idusuario, idperfil, contrasenia, idlocalidad, nombre FROM usuarios WHERE idusuario=\''.$this->_idusuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["contrasenia"] == $contrasenia){
$_SESSION["idusuario"] = $row['idusuario'];
echo '<a href="header.php">Index</a></p>';
}
}
?>

Me sale este error
[client 127.0.0.1] PHP Parse error: syntax error, unexpected $end in D:\\Apache2\\htdocs\\Copia de manlogics1.0\\validar_usuario.php on line 24, referer: http://localhost/Copia%20de%20manlogics1.0/

Y en usuarios PHP me sale el error
en la linea 133

<?php
include("MySQLBD.php");

class Usuarios
{
var $_idusuario;
var $_contrasenia;
var $_nombre;
var $_e_mail;
var $_idperfil;
var $_telefono;
var $_idlocalidad;
var $conn;
var $arrmenu;



public function __construct()
{
$this->conn = new MySqlBD();
$this->conn->Open();
}

function SetIdusuario( $st )
{
$this->_idusuario = $st;
}

function GetIdusuario()
{
return $this->_idusuario;
}

function SetContrasenia( $desc )
{
$this->_contrasenia = $desc;
}

function GetContrasenia()
{
return $this->_contrasenia;
}

function SetNombre( $st )
{
$this->_nombre = $st;
}

function GetNombre()
{
return $this->_nombre;
}

function SetE_mail( $st )
{
$this->_e_mail = $st;
}

function GetE_mail()
{
return $this->_e_mail;
}

function SetIdperfil( $st )
{
$this->_idperfil = $st;
}

function GetIdperfil()
{
return $this->_idperfil;
}

function SetTelefono( $st )
{
$this->_telefono = $st;
}

function GetTelefono()
{
return $this->_telefono;
}

function SetIdlocalidad( $st )
{
$this->_idlocalidad = $st;
}

function GetIdlocalidad()
{
return $this->_idlocalidad;
}

function InsertaRegistro()
{
$query="INSERT INTO usuarios (idusuario, contrasenia, nombre, e_mail, idperfil, telefono, idlocalidad) VALUES ('$this->_idusuario','$this->_contrasenia','$this->_nombre','$this->_e_mail','$this->_idperfil','$this->_telefono','$this->_idlocalidad')";
//echo "$query";
$this->conn->EjecutaTransaccion( $query );
}

function ModificaRegistro()
{
$query="UPDATE usuarios SET idusuario = '$this->_idusuario' WHERE contraseniao = '$this->_contrasenia'";
$this->conn->EjecutaTransaccion( $query );
}

function EliminaRegistro()
{
$query="DELETE FROM usuarios WHERE idusuario = '$this->_idusuario'";
$this->conn->EjecutaTransaccion( $query );
}

function DespliegaInfo( $maxrows )
{
$query="SELECT * FROM usuarios";
$result = $this->conn->ExecuteSQL( $query, $maxrows );
echo "$result";
}

function Login (&$arrmenu)
{
try
{
$rs = false;
//$arrmenu=array ();

$result = mysql_query('SELECT idusuario, idperfil, contrasenia, idlocalidad, nombre FROM usuarios WHERE idusuario=\''.$this->_idusuario.'\'');
if($row = mysql_fetch_array($result))
{
if($row["contrasenia"] == $this->_contrasenia)
{
$arrmenu=CreaAccesos( $row["idperfil"] )
$rs = true; ///aqui me sale el error en apache----<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<
}
else
{
echo 'Password incorrecto';
}
}
else
{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
return $rs;
}
catch( Exception e)
{
return $rs;
}
}

function CreaAccesos ( $perfil )
{
$arrmenu = array ();
try
{
$rs = false;

$result = mysql_query('SELECT b.descripcion FROM accesos a, menu b WHERE idperfil=\''.$perfil.'\' and a.accesa = 1 and a.idmenu = b.idmenu');
$arrmenu = mysql_fetch_array($result))
mysql_free_result($result);
return $arrmenu;
}
catch( Exception e)
{
return $arrmenu;
}
}

public function __destruct()
{
$this->conn->Close();
}


}
?>

No se que onda
[client 127.0.0.1] PHP Parse error: syntax error, unexpected T_VARIABLE in D:\\Apache2\\htdocs\\Copia de manlogics1.0\\utils\\Usuarios.php on line 133, referer: http://localhost/Copia%20de%20manlogics1.0/index.html
[client 127.0.0.1] PHP Parse error: syntax error, unexpected T_VARIABLE in

Una vez que eso se arreglase solo faltaría poner en header común un php para decir cuales son las cosas que se deben mostrar y cuales no, lo que intente hacer en el valida es que si todo es bien te direccione a header.php que es la primera pantalla después del index no lo hace ni me pela creo, ese seria el primer paso y el segundo lo de el menú que hasta ahora no tiene código escrito, pero el problema es que no se que pasa pues el navegador no manda los mensajes que debería solo blanco debería decir contraseña mala o usuario no existente o algo pero nada, supongo por los errores..


Este es el codigo del index el cual no veo nada malo en el action ni en nada...

<html>
</div></td>
</tr>
<tr>
<td width="192" height="124" rowspan="2" bgcolor="#D4D6D3"><p align="center" class="style54">Visi&oacute;n</p>
<p align="center" class="style53">Ser vistos como el mejor proveedor en control e informaci&oacute;n de tarimas y contenedores de la cadena de suministro.</p></td>

<td width="335" rowspan="4" valign="top" bgcolor="#CCCCCC"><p class="style30">&nbsp;</p>
<p align="center" class="style53"><strong>Informaci&oacute;n General</strong></p>
<p class="style32">&nbsp;</p>
<p class="style30">&nbsp;</p>
<p class="style31">
<tr>
<td height="125" align="center" valign="middle" background="images/login/loginver copy.jpg" bgcolor="#66FF00"><table width="164" border="0" align="center">
<tr>
<td><span class="style52">Usuario
<label></label>
</span></td>
<td width="82"><input name="idusuario" type="text" id="idusuario" size="10"></td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="58"><span class="style52">Password</span></td>
<td><input name="contrasenia" type="password" id="contrasenia" size="10"></td>
<td width="10">&nbsp;</td>
</tr>
<tr>
<td height="31" colspan="3">


<div align="center">
<input type="submit" value="Enviar" />

</div>
</form></td>
</tr>

</table></td>
</tr>

como puedo hacer que me haga caso y que haga las cosas como deben ser ademas se supone que entre o que mande un mensaje y no manda nada, despues deberia en una cabecera comun mostrarme solo las partes del menu que dependan de un perfil en la base de datos y no se como hacer eso esta en ccs
  #2 (permalink)  
Antiguo 02/12/2008, 13:21
Avatar de david_f  
Fecha de Ingreso: mayo-2007
Ubicación: Santiago De Los Caballeros, Santiago, Dominican Republic, Dominican Republic
Mensajes: 52
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: Dudas php y ccs y mysql para mostar menu segun perfil

En el primer codigo, te falta un "}" al final para cerrar el primer if

En la Linea 132 de usuarios.php te falta un ";" aqui:

$arrmenu=CreaAccesos( $row["idperfil"] )

deberia ser

$arrmenu=CreaAccesos( $row["idperfil"] );
  #3 (permalink)  
Antiguo 02/12/2008, 13:22
Avatar de david_f  
Fecha de Ingreso: mayo-2007
Ubicación: Santiago De Los Caballeros, Santiago, Dominican Republic, Dominican Republic
Mensajes: 52
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: Dudas php y ccs y mysql para mostar menu segun perfil

Arreglado el codigo se veria asi:

Código PHP:
<?php
include("utils/Usuarios.php");

$es = new Usuarios();
$es -> SetIdusuario ();

if(
trim($HTTP_POST_VARS["idusuario"]) != "" && trim($HTTP_POST_VARS["contrasenia"]) != "")
{
    
// Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    
$usuario strtolower(htmlentities($HTTP_POST_VARS["idusuario"], ENT_QUOTES));
    
$password $HTTP_POST_VARS["contrasenia"];
    
$result = ('SELECT idusuario, idperfil, contrasenia, idlocalidad, nombre FROM usuarios WHERE idusuario=\''.$this->_idusuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["contrasenia"] == $contrasenia){
            
$_SESSION["idusuario"] = $row['idusuario'];
            echo 
'<a href="header.php">Index</a></p>';
        }
    }
}
?>
  #4 (permalink)  
Antiguo 02/12/2008, 13:29
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Dudas php y ccs y mysql para mostar menu segun perfil

Bienvenido jaffa .

Primero, temo que es complicado leer un tema con el tuyo, sin tener clara la separación de lo que es código, mensajes de error y texto tuyo.

Leo hasta aquí:
Cita:
Iniciado por jaffa Ver Mensaje
Me sale este error
[client 127.0.0.1] PHP Parse error: syntax error, unexpected $end in D:\\Apache2\\htdocs\\Copia de manlogics1.0\\validar_usuario.php on line 24, referer: http://localhost/Copia%20de%20manlogics1.0/
El mensaje te dice que es un error de sintaxis, osea, lo básico. Te ha de faltar un punto y coma (;) o estarás concatenando mal algo, alguna llave ({) que se te olvidó cerrar ... o abrir. Como sea, deberías poder localizarlo, ayúdate de un editor con coloreado de sintaxis.

Entonces, si hay más allá de eso, vuelve a plantear tu tema, apoyate del editor avanzado, y del coloreado de sintaxis no importa que sea el básico, colocando tu código dentro de las etiquetas [PHP], de este modo:

[PHP] echo "Hola";[/PHP]

para obtener algo como:

Código PHP:
 echo "Hola"
Nuevamente, bienvenido
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 21:56.