Foros del Web » Programando para Internet » PHP »

link en falso

Estas en el tema de link en falso en el foro de PHP en Foros del Web. Haber tengo un menu con una serie de links a ciertas páginas y quiero q ciertos enlaces este en falso o no se vean, a ...
  #1 (permalink)  
Antiguo 22/06/2003, 20:11
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
Pregunta link en falso

Haber tengo un menu con una serie de links a ciertas páginas y quiero q ciertos enlaces este en falso o no se vean, a no ser que el usuario este logeado


la idea es la siguente:

Menu:

<a href="link" name="nombre">link</a>


Esto lo pongo al inicio del codigo:


<?php

session_start();
if (empty($usuario))
{

$name = value = "false";


}

?>


me devuelve este error:

Parse error: parse error, unexpected '='

la idea es hacer un boleano q si eres un usuario logeado puedas darle a link y si no q no puedas darle o q no aparezca o q aparezca en gris sin poder darle al link?
  #2 (permalink)  
Antiguo 22/06/2003, 21:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues todo depende de como registres tu variable de sesión ..

Lo recomendable es que uses los arrays superglobales: $_SESSION para registrar tus variables de sesión. Así podras hacer:

Código PHP:
<?
session_start
(); // al principio de tu página o al menos antes de cualquier otro HTML ..

// etc tu código (ahora PHP/HTML incrustado si necestias ..


// En tu menú .. donde tengas que presentar tu "link":
if (!empty($_SESSION['usuario'])){
// Le muestras el link 
echo "<a href=\"nose.php\">nose sólo usuarios registrados</a>"
} else {
// Le muestras un texto o no se lo muestras .. le das las propiedades HTML de color y lo que necesites ..
echo "nose sólo usuarios registrados";
}

// etc. código.

?>
empty() te devuelve "true" si está definida y con algún valor tu variable (incluido un elemento de un array como lo es $_SESSION ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 22/06/2003 a las 21:19
  #3 (permalink)  
Antiguo 23/06/2003, 03:49
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

No entiendo lo que pretendes con esta linea:
Código PHP:
$name value "false"
El error te lo da porque intentas asignar un valor a un rvalue (valor derecho), en castellano, a un valor constante. En este caso, 'value' lo toma como el nombre de una constante (o como un valor constante). Si podrias hacer:
Código PHP:
$name $value "false"
Porque aqui estas asignando el valor a una variable.

Lo que no veo es como estas dando un valor a la variable solo dentro del if. Deberias darle un valor fuera del if y otro dentro del if.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 23/06/2003, 06:45
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
Cluster e probado tu codigo, pero devuelve este error:

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\apache 2\Apache2\htdocs\index.php on line 491

pero, la linia 491 es html sin codigo php ni por arriba ni por abajo

un poco mas abajo esta:

if (!empty($_SESSION['usuario']))
{

echo "<a href=\"nose.php\">nose sólo usuarios registrados</a>"
}
else
{

echo "nose sólo usuarios registrados";
}

?>

pero una cosa q no entiendo si lo q quiero es q solo puedan acceder usuarios registrados no tendria q ser:


if (empty($_SESSION['usuario']))

//Sin el "!"
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #5 (permalink)  
Antiguo 23/06/2003, 06:54
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
ahora funciona e tenido q hacer esto:

<?

if (!empty($_SESSION['usuario']))
{

?>

<a href=\"nose.php\">nose sólo usuarios registrados</a>

<?

}
else
{

?>

nose sólo usuarios registrados

<?

}

?>

Ahora el problema es q el link no funciona estes logeado o no, podria ser pq..... el index lo tengo extrutudado en iframes, y donde te logeas es un iframe, y el menu se encuentra en en el index, si yo me logeo en el iframe, esto puede ser el problema?
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #6 (permalink)  
Antiguo 23/06/2003, 06:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
El fallo en tu anterior codigo es que se te habia olvidado un ; al final del primer echo.

Si es en tu iframe donde creas la variable de sesion, para que esa variable sea accesible en cualquier otra pagina se debe recargar la pagina donde quieres usar la variable de sesion. Es decir, si en la pagina donde se muestra el menu quieres usar la sesion creada en el iframe, debes recargar la pagina que muestra el menu (el index).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 23/06/2003, 07:13
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
ya me habia imaginado q por hay andan los tiros, pero como lo podria hacer, para q desde el iframe me refrescara el index?
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #8 (permalink)  
Antiguo 23/06/2003, 07:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
No estoy familiarizado con los iframes, pero creo que funcionan igual que los frames. Si es asi, creo que no puedes hacer nada desde PHP. Tendrias que usar javascript para refrescar o recargar el padre del iframe. Busca en el foro de javascript.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 23/06/2003, 07:29
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
ok, eso are,gracias
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #10 (permalink)  
Antiguo 24/06/2003, 06:42
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 874
Antigüedad: 14 años, 6 meses
Puntos: 2
ya consegui recargar el padre del iframe, pero me recarga tb el iframe, osea q no consigo nada, tendria q logear a los usuarios en una ventana aparte?
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
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 18:10.