Foros del Web » Programando para Internet » PHP »

Listar 3 menus, muy facil pero algo no va

Estas en el tema de Listar 3 menus, muy facil pero algo no va en el foro de PHP en Foros del Web. Wenas amigos de php, intentare explicarme de la forma mas breve que pueda y espero que me ayudeis. estoy haciendo un proyecto de una tienda ...
  #1 (permalink)  
Antiguo 27/02/2009, 05:48
 
Fecha de Ingreso: diciembre-2008
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Listar 3 menus, muy facil pero algo no va

Wenas amigos de php, intentare explicarme de la forma mas breve que pueda y espero que me ayudeis.

estoy haciendo un proyecto de una tienda virtual ok, con su bd y todo. Mi probelma es que yo tengo dos menu, uno para usuarios registrados y otro para usuarios normales. vale, yo kieor que si me regsitro com admin me muestre el agregar producto, modificar porducto, lo tipico de un administrador, todo correcto, ok y si me registro como usuario normal me muestre los diferentes tipos de productos, todo correcto mi problema esta en que si entro en la pagina sin loguearme ni nada, es decir cuando entro por priemra vez me da eroores y no me muestra el menu del usario normal que es que quiero que me muestre cuando no este loguado, es decir usar este menu para dos fomas.

cuando no estoi registrado me da estos errores:

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /var/www/videogames/index2.php on line 157

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/videogames/index2.php on line 160

justamente en el ultimo else, pensaba que era porque no se puden repetir el conectar y eso por eso en el ultimo else pongo conectar2, salida2..

el codigo es muy sencillo joder, no se porque falla, es este

if ($row['tipo'] == admin)
{


echo "<a href='registro_producto.php'>Registra un producto</a><br><br><br>";

echo "<a href='listar_productos_admin.php'>Listar Productos (admin)</a><br><br><br>";

echo "<a href='descatalogar_productos.php'>Descatalogar Productos</a><br><br><br>";

echo "<a href='modificar_productos.php'>Modificar productos</a><br><br><br>";

echo "<a href='adminis_fo_pago.php'>Modificar formas de pago</a><br><br><br>";


}


else
{
echo "<center>";

if ($row['tipo']==usuario)
{
echo "ola";
mysql_select_db($database, $conexion);
$resultado = mysql_query("SELECT * from $tabla");

while ($salida = mysql_fetch_array($resultado))
{
printf("<center>");

$enlace = "listar_productos.php"."?id=".$salida["id_sistema"];
printf("<b><a href=%s>%s</a><br><br><br>", $enlace, $salida["sistema"]);
printf("</center>");

}
}

else
{
echo "ola prueba";


mysql_select_db($database2, $conexion2);
$resultado2 = mysql_query("SELECT * from $tabla");

while ($salida2 = mysql_fetch_array($resultado2))
{
printf("<center>");

$enlace = "listar_productos.php"."?id=".$salida2["id_sistema"];
printf("<b><a href=%s>%s</a><br><br><br>", $enlace, $salida2["sistema"]);
printf("</center>");

}
}

}

como veis kiero ke me muestre el mismo emnu que cuadno estoi logueado com usario normal cuando entre en la web, pero me da eso dos erroes de antes
  #2 (permalink)  
Antiguo 27/02/2009, 08:10
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: Listar 3 menus, muy facil pero algo no va

hmmmm
Primero creo que está mal escrito

if ($row['tipo'] == admin)
if ($row['tipo']==usuario)
Sería

if ($row['tipo'] == "admin")
if ($row['tipo']== "usuario")
A no ser que sean variables estaticas de define()

Por otro lado, el error te lo está diciendo claramente, el argumento que usas para realizar el query no es valido.
Por cierto, la variable $tabla está definida verdad?
  #3 (permalink)  
Antiguo 27/02/2009, 08:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Listar 3 menus, muy facil pero algo no va

la variable esta definida si.

Pero porque demonios me da el problema en el segundo else, y el segundo if me lo hace bien!!! si es lo mismo la misma consulta!!

Ayuda por favor, que necesito entregarlo el domingo
  #4 (permalink)  
Antiguo 27/02/2009, 09:07
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Listar 3 menus, muy facil pero algo no va

Imprime la consulta que te da problemas, de hecho está mal, así podrás analizarla y hacer un seguimiento de las variables, para que sepas donde se origina el problema.
  #5 (permalink)  
Antiguo 27/02/2009, 09:17
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Listar 3 menus, muy facil pero algo no va

Deberias de hacer una condición en el segundo else:

Código PHP:
}
else
{
  if (
$row['tipo']==""){

      echo 
"ola prueba";
  . 
  .
  .
  } 
Prueba asi, sino funciona no dudes en comentar.

Saludos.
  #6 (permalink)  
Antiguo 27/02/2009, 09:31
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: Listar 3 menus, muy facil pero algo no va

Cita:
Iniciado por ElJavista Ver Mensaje
Imprime la consulta que te da problemas, de hecho está mal, así podrás analizarla y hacer un seguimiento de las variables, para que sepas donde se origina el problema.
Asi es, el problema no tiene nada que ver con las lineas que pusiste, estan por encima de ella... Lee el error, linea 157, debe estar un poco mas arriba de eso... depende tu codigo, 155 quisa, o por ahi...

Pasa el query y lo analizamos.
  #7 (permalink)  
Antiguo 27/02/2009, 12:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Cita:
Iniciado por p3rikl3s Ver Mensaje
Deberias de hacer una condición en el segundo else:

Código PHP:
}
else
{
  if (
$row['tipo']==""){

      echo 
"ola prueba";
  . 
  .
  .
  } 
Prueba asi, sino funciona no dudes en comentar.

Saludos.

Esto de moemento me soluciona el probelam de lso errores no me los muestra, me muestra el texto que le paso, es decir me sale el ola prueba sin probelmas, estoy averiguando y probando aver si me lee los menu de las bd, sigo informando, gracias gente

rectifico, pongo las sentencias para que me muestre le menu como el primer else del primer if es decir esto

if ($row['tipo']=" ")
{


echo "ola prueba";


mysql_select_db($database, $conexion);
$resultado = mysql_query("SELECT * from sistema");

while ($salida = mysql_fetch_array($resultado))
{
printf("<center>");

$enlace = "listar_productos.php"."?id=".$salida["id_sistema"];
printf("<b><a href=%s>%s</a><br><br><br>", $enlace, $salida["sistema"]);
printf("</center>");

}


me sigue dando el mismo problema no lo consfigo resolver!!

ElJavista no seas malo y dime lo que esta mal que segun tu respuesta lo sabes.. ayudarmeeeee gentee. y os compro un jamon y eso que la crisis es muy mala en!!xd

toma toma y toma y mas toma!!

ya lo arrgele gracias por esas inddirectas se aprenden bastante y gracias a todos por las ayudas, las cosa es qeu tuve que cerra el conexion arriba y abri de nuevo una conexion con la bd y hacer una nueva consulta porque "supuestamente habria conflicto algo entre las consultas," supongo que eso seria.

Este foro e smuy muy weno nos veremos de nuevos por aki, millones de gracia y el ajmon al final pa mi xd, saludos

Jjoderrrr, perodn por comentar tanto en tan poc tiempo, pero ahora resulta que al loguearme ya sea como adminostrador o como usuario normal me da error al listar lso menus de estos... no podia ser todo tan bonito, y ahor el erro que me da es distinto

Fatal error: Cannot redeclare conectar() (previously declared in /var/www/videogames/conectar.php:2) in /var/www/videogames/conectar.php on line 25,

aver como me explico, resulta que el erro me lo da porque declaro dos veces el conectrar, si quito uno ya se meven lso menus cuando me resgitro, pero el menu el otro el de sin loguear se sigue sin ver, me da este otro error

Fatal error: Call to undefined function conectar() in /var/www/videogames/index2.php on line 109


es decir que me falta el declarar el conectar para realziar la consulta, aver en que qeudamso si lo pongo mal y si lo kito igual... ayudaaaaaa que demonio hago???

Última edición por GatorV; 27/02/2009 a las 15:04
  #8 (permalink)  
Antiguo 27/02/2009, 14:54
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 7 meses
Puntos: 56
Respuesta: Listar 3 menus, muy facil pero algo no va

Holas samos_cuco.

Podrías explicar de qué manera trabajas o tienes ligados los archivos? O en general, más detalles de tu sistema, porque el problema no se entiende muy bien.

PD: Y podrías poner lo que sea código entre las etiquetas dadas por el foro para ello, para facilitar la lectura de tu código. Gracias.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #9 (permalink)  
Antiguo 27/02/2009, 15:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Listar 3 menus, muy facil pero algo no va

Aver si me explico bien, o como explico esto, leerlo bien que esta muy clarito. y ayudarme quien sea por dios.

Proyecto, hacer una tienda, la mia es sobre videojuegos, esta tendra una bd con varias tablas.

Mi problema es que yo tengo dos tipos de usarios, unos tipos admin y otros usuarios normales lo que realizaran la compra ok?. Esto esta todo claro, (tienda con dos usarios unos admin y otros usuarios normales sin privilegios)

Lo que yo quiero conseguir es:
Que cuando se entre a la pagina se me muestre un menu con las diferentes consolas
- wii
-ps3
-..
-..

es te menu cambiara cuando al loguearme lo haga con un usarios administrador, entonces me saldra las tipicas opciones en el menu, eso lo hago con unas condiciones (mas abajo estan). este sera el menu
-introducir producto
-listar producto
-..

Yo quiero que se muestr el mismo menu a los usarios tipos usarios normales y ese mismo menu quiero mostrarlo cuando se entre o no se este logueado.
este menu para usarios registrado normales y sin resgistrar
- wii
-ps3
-..
-..

ahora mismo lo tengo puesto que cuando entro me sale el menu vacio por que no se que poner para que me muestre el menu dicho ante, este menu solo me sale cuando me logueo como usuario normal

Este es el codigo mi actualmente, necesito que alguien me ayude para ponerlo que me muestre el menu cuando no este conectado, los tipos de consola las lee de una tabla, pongo tanto la conecion como el codigo php.

include ("conectar.php");
$database="videogames";
$conexion=conectar($database);




//realizamos la consulta a la bd para comprobar que tipo de usuario se conecta a la maquina.
$sql="SELECT tipo FROM users WHERE usuario='$sessionname'";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);

if ($row['tipo'] == "admin")
{


echo "<a href='registro_producto.php".$enlace."'>Registra un producto</a><br><br><br>";

echo "<a href='listar_productos_admin.php".$enlace."'>Lista r Productos (admin)</a><br><br><br>";

echo "<a href='descatalogar_productos.php".$enlace."'>Desca talogar Productos</a><br><br><br>";

echo "<a href='modificar_productos.php".$enlace."'>Modifica r productos</a><br><br><br>";

echo "<a href='adminis_fo_pago.php".$enlace."'>Modificar formas de pago</a><br><br><br>";


}


else
{
echo "<center>";

if ($row['tipo']=="usuario")
{
mysql_select_db($database, $conexion);
$resultado = mysql_query("SELECT * from sistema");

while ($salida = mysql_fetch_array($resultado))
{
printf("<center>");

$enlace = "listar_productos.php"."?id=".$salida["id_sistema"];
printf("<b><a href=%s>%s</a><br><br><br>", $enlace, $salida["sistema"]);
printf("</center>");

}
}

}

e probado al poner esto, pero no sirve..., aver si alguein entiende mi problema

if ($row['tipo'==" "])
{
..
}
  #10 (permalink)  
Antiguo 28/02/2009, 10:09
 
Fecha de Ingreso: diciembre-2008
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Listar 3 menus, muy facil pero algo no va

nadie dice nada?? por favor ayudenme
  #11 (permalink)  
Antiguo 02/03/2009, 08:11
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Listar 3 menus, muy facil pero algo no va

Deberias trabajar con sesiones. Obtienes el tipo de usuario - administrador o visitante - y lo guardas en una variable. Luego deberias tener un archivo que tenga todo el menu - tanto para administradores como visitantes - y ahi vas a gestionar que botoenes se va a mostrar para cada uno de los tipos de usuarios. Una idea:


Código PHP:
<?php if($HTTP_SESSION_VARS["Tipo_Usuario"]=="administracion"){ ?>

echo "<a href='registro_producto.php".$enlace."'>Registra un producto</a><br><br><br>";

echo "<a href='listar_productos_admin.php".$enlace."'>Lista r Productos (admin)</a><br><br><br>";

echo "<a href='descatalogar_productos.php".$enlace."'>Desca talogar Productos</a><br><br><br>";

echo "<a href='modificar_productos.php".$enlace."'>Modifica r productos</a><br><br><br>";

echo "<a href='adminis_fo_pago.php".$enlace."'>Modificar formas de pago</a><br><br><br>";

<?php ?>


<?php if($HTTP_SESSION_VARS["Tipo_Usuario"]=="usuario_sin_permiso"){ ?>

echo "<a href='producto.php".$enlace."'>WII</a><br><br><br>";

echo "<a href='producto.php".$enlace."'>PS3</a><br><br><br>";
.
.
.
<?php ?>

Con esto restringue los botones de acuerdo al tipo de usuario. Ya quedaria validar el acceso en cada una de las paginas.

Saludos...
  #12 (permalink)  
Antiguo 02/03/2009, 10:04
 
Fecha de Ingreso: diciembre-2008
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Listar 3 menus, muy facil pero algo no va

gracias por la idea, pero al final me cre una nuava condiccion y parece qeu iva bien, parecia, de todas formas entrege ayer la practica, tu idea parece buena, gracias de todas formas
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 14:21.