Foros del Web » Programando para Internet » PHP »

variables globales

Estas en el tema de variables globales en el foro de PHP en Foros del Web. He visto este código en un tutorial: Código: He visto este código en un tutoria: <?php $a = 1; $b = 2; function Sum() { ...
  #1 (permalink)  
Antiguo 21/08/2009, 08:41
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años, 6 meses
Puntos: 3
variables globales

He visto este código en un tutorial:

Código:
He visto este código en un tutoria:

<?php
$a = 1;
$b = 2;

function Sum()
{
global $a, $b;

$b = $a + $b;
} 

Sum();
echo $b;
?>

<?php
$a = 1;
$b = 2;

function Sum()
{
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
} 

Sum();
echo $b;
?>
Insprirándome en él he hecho un código para registrarse en una página, y en otra página, si se accede conociendo la url sin haberse registrado, quiero que ponga "la madre que te parió". Estos son los códigos de registro y de la página. Lo que hace es escribir "la madre que te parió" en cualquiera de los casos.

Código:
<?php
global $login;
$lognick=$_POST['usuario'];
$logpass=$_POST['contrasena'];
$link=mysql_connect("localhost","root","");
mysql_select_db(dbimagenes,$link);
$result = mysql_query ("select count(*) FROM autores WHERE nick='".$lognick."' AND contraseña='".$logpass."'"); 
$login=mysql_result($result,0);
if (!$login){
    echo "login incorrecto";
    }
else{
    echo "login correcto";
}
?>

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
    <title>Añadir imagen</title>
</head>
<body>
    <?php
    $ok=$GLOBALS["login"];
if (!$ok)
    echo "la madre que te parió";
    ?>
    <form action="insertimage.php" method="post">
        Introduce palabras clave: <input type = "text" name="claves"><br>
        Introduce la ruta del fichero: <input type ="file" name="fichero"><br>
        Introduce el código de clasificación:<input type = "text" name="codigo">
</body>
</html>
  #2 (permalink)  
Antiguo 21/08/2009, 08:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: variables globales

así no funciona la cosa...

recuerda que PHP es un lenguaje sin estados... osea, que no persisten las variables de ese modo...

las globales, solo sirven en el contexto de un mismo script en ejecución... no a través de muchos scripts, separados por su propio ámbito de ejecución...


te invito a revisar bien el manual de PHP al respecto... sobre el contexto de las variables

y también, a que busques un sistema de login adecuado... ya que el que usas, no esta propiamente hecho...


suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/08/2009, 09:00
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: variables globales

¿Qué le pasa a mi sistema de login? Funciona. Cuenta en la base de datos de usuarios los que tienen ese login y esa contraseña. Es lo lógico ¿no?
  #4 (permalink)  
Antiguo 21/08/2009, 09:01
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 15 años, 4 meses
Puntos: 13
Respuesta: variables globales

disculpa, pero no entiendo bien que es lo que quieres hacer...
podrias explicarlo un poco más por favor!
  #5 (permalink)  
Antiguo 21/08/2009, 09:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: variables globales

pues que el formulario no coincide con lo que pides en tu script de login... osea, el login depende del formulario....

y tu no le estas proporcionando el formulario correcto ...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 21/08/2009, 13:06
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: variables globales

Pero si ahí no está el formulario de login. El formulario de login no lo he puesto en este post. Sólo he puesto el fichero que recoje usuario y contraseña. Luego he puesto otro formulario del sitio. La única relación entre ambos ficheros es que en uno defino la variable global y en otro la uso. Pero ya me dices tú que eso no se puede hacer. O al menos que no se puede hacer así.

Voy a intentar explicar un poco mejor lo que quiero hacer. Se trata de que quiero que la gente se logee para autorizarla a hacer ciertas cosas, como ocurre en este foro. Pero cuando yo estoy programando una página ¿Como sé si el usuario se logeó o accedió a la página sabiendo la url?

Yo he accedido alguna vez a información que en teoría era reservada porque he localizado la url en google. Sólo quería evitar eso.
  #7 (permalink)  
Antiguo 21/08/2009, 13:25
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: variables globales

Puedes probar a usar sesiones con php

Así al inicio de tu pagina.php haces la validación de la sesión

si la sesión no existe lo envías a tu login.php, si la sesión si existe (osea que paso por un login.php) pues muestras la información

Si es lo que buscabas??? así tal vez podríamos ayudarte mas a detalle con las sesiones.

Saludos
  #8 (permalink)  
Antiguo 21/08/2009, 13:43
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: variables globales

Si, yo creo que es eso. Leeré sobre sesiones, gracias.
  #9 (permalink)  
Antiguo 21/08/2009, 13:43
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 15 años, 4 meses
Puntos: 13
Respuesta: variables globales

sipe, con sesiones
y la respuesta la tienes acá

te la deje facilita XD
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:13.