Foros del Web » Programando para Internet » PHP »

No me cambia el contenido de la variable

Estas en el tema de No me cambia el contenido de la variable en el foro de PHP en Foros del Web. hola chicos, empiezo copiandoos el código para que me podáis entender mejor: Código PHP: require( "../inclus/head.php" );  if(!isset( $_SESSION [ "nr_usu" ]) and !isset( $_SESSION [ "nr_pass" ...
  #1 (permalink)  
Antiguo 27/03/2009, 08:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 9 meses
Puntos: 0
No me cambia el contenido de la variable

hola chicos, empiezo copiandoos el código para que me podáis entender mejor:

Código PHP:
require("../inclus/head.php");

 if(!isset(
$_SESSION["nr_usu"]) and !isset($_SESSION["nr_pass"]))
    {
    
$usualog="no";
    if(isset(
$_POST["usu"]) and isset($_POST["pas"]))
        {
        
$nick=$_POST["usu"];
        
$pass=$_POST["pas"];
        
$pass=md5($pass);
        
$sql="Select * from usuarios where nick='$nick' and pass='$pass'";
        
$resul=mysql_query($sql);
        
$temamysql_fetch_array($resul);
            
    
        if (
$tema["nick"]==$nick and $tema["pass"]==$pass )
            {
            
$_SESSION["nr_usu"]=$nick;
            
$_SESSION["nr_pass"]=$pass;
            
header ("location: ./panel.php");
            }
        else
            {
            
$usuexist="no";
            }
        }
    else
        {
        
$varilog="no";
        }
    
    }
else
    {
    
$usualog="si";
    } 
Bueno, la cuestión es que la ultima variable que se llama usualog que esta a "si" no me lo coge... he intentado cambiarle el resultado a otra palabra y todo, cambiar la variable de nombre, etc. pero no entiendo el porque sigue cogiendo la primera que esta a "no".

Alguien me puede ayudar... varias horas con esto...
  #2 (permalink)  
Antiguo 27/03/2009, 09:10
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: No me cambia el contenido de la variable

Haz cerrado sesión?
Recuerda que estas comparando con variables de sesión, que con salir del script no se pierden como variables normales.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 27/03/2009, 09:12
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: No me cambia el contenido de la variable

Si me equivoco que alguien me corrija

if(!isset($_SESSION["unr_us"]) and !isset($_SESSION["nr_pass"]))

Estas diciendo que si no existen las variables de session unr_us and nr_pass le dices que tome el valor de $usualog="no";

Tienes que comprobar que efectivamente esten iniciadas las sessiones
  #4 (permalink)  
Antiguo 27/03/2009, 09:30
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: No me cambia el contenido de la variable

acoevil, referente a lo que me has dicho, si, que inicio la sesion.... asique directamente tendria que pasar al ultimo ELSE que es el suyo.


the_web_saint no entiendo lo que me quieres decir con cerrar la sesion...
  #5 (permalink)  
Antiguo 27/03/2009, 09:30
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: No me cambia el contenido de la variable

O puede ser que no estas iniciando con session_start y es obvio que no verá las sesiones.

EDITADO: Olvida lo que mencione arriba, lo que pasa es que pense que decia isset, no me fije en el !isset, así que no vale lo que dije, pensé que siempre te veía las sesiones, pero es lo contrario.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #6 (permalink)  
Antiguo 27/03/2009, 09:43
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: No me cambia el contenido de la variable

el session_start esta en otra pagina que la llamo con require, he probado a quitarlo y tampoco... yo creo que tiene que esta el problema en que ignora el el else del final...

Edito: acabo de probar poner el primer no de usualog a "si", lo mas curioso es que el ultimo usualog como el primero esta en "si" y me sigue diciendo que esta en "no"...

Esto me esta dando miedo... XD
  #7 (permalink)  
Antiguo 27/03/2009, 09:50
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: No me cambia el contenido de la variable

mm creo q aki esta medio confuso
if(!isset($_SESSION["nr_usu"]) and !isset($_SESSION["nr_pass"]))
{
$usualog="no";



siempre seran diferente por lo tanto siempre sera no


$usualog="si";

cuando le dices q parametros tomar para q sea si??
si dije una burrada me corrijen por fis saludines!!
  #8 (permalink)  
Antiguo 27/03/2009, 09:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: No me cambia el contenido de la variable

Código PHP:
require("../inclus/head.php"); 
// esto comprueba si las variables session existe si es asi, pasa al ultimo else
 
if(!isset($_SESSION["nr_usu"]) and !isset($_SESSION["nr_pass"])) 
    { 
    
$usualog="no"
     
//esto comprueba si existen las variables Post si no es asi varilog sera no
    
if(isset($_POST["usu"]) and isset($_POST["pas"])) 
        { 
        
$nick=$_POST["usu"]; 
        
$pass=$_POST["pas"]; 
        
$pass=md5($pass); 
        
$sql="Select * from usuarios where nick='$nick' and pass='$pass'"
        
$resul=mysql_query($sql); 
        
$temamysql_fetch_array($resul); 
             
     
// comprueba que en la base de datos estan este usuario y esa es la contraseña sino usuexist sera no
        
if ($tema["nick"]==$nick and $tema["pass"]==$pass 
            { 
            
$_SESSION["nr_usu"]=$nick
            
$_SESSION["nr_pass"]=$pass
            
header ("location: ./panel.php"); 
            } 
        else 
            { 
            
$usuexist="no"
            } 
        } 
    else 
        { 
        
$varilog="no"
        } 
     
    } 
else 
    { 
    
$usualog="si"
    } 
Creo que así entenderéis que quiero hacer esto y la función de esto...

si os fijáis la primera vez que carga no existen la variables de sesión, así que las creara si el usuario existe y a la vez, refresca la pagina, así las variables de sesión existen y usualog debería de pasar a "si"
  #9 (permalink)  
Antiguo 27/03/2009, 10:02
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: No me cambia el contenido de la variable

Eso que dices que estan las dos en si, y aún te sigue diciendo que no, es probable que le estes cambiando el valor en otro lado, quizás cuando sales de este script?.

EDITADO: extraño, extraño. Uhmmm.
Que hay en el archivo que incluyes con require?
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #10 (permalink)  
Antiguo 27/03/2009, 10:11
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: No me cambia el contenido de la variable

nada macho... he cambiado la variable de nombre a uno que me acabo de inventar y sigue igual... :S

edito: como podeis comprobar, no estaban las variables definidas a "Si" ,asi que las he añadido, pero sigue igual... es mas, me dice en todas que "no"


edito2: esto ya es muy raro, estoy por reinstalar el wamp por si acaso.. (tal vez no tenga mucho que ver pero bueno ya no me extrañaria..)

Código PHP:
<?php
session_start
();

mysql_connect("localhost","root","");
mysql_select_db("nigs");


//BBCODE

$bb_code = array( 
// emoticonos: debéis apuntar a vuestras imágenes en el código HTML 
':)' => '<img src="http://www.zonamultiple.com/img/feliz.png" />'
':(' => '<img src="http://www.zonamultiple.com/img/triste.png" />'
':D' => '<img src="http://www.zonamultiple.com/img/sonrisa.png" />',
';)' => '<img src="http://www.zonamultiple.com/img/guino.png" />',
':O' => '<img src="http://www.zonamultiple.com/img/aluzina.png" />',
';(' => '<img src="http://www.zonamultiple.com/img/lloron.png" />',
'(K)' => '<img src="http://www.zonamultiple.com/img/beso.png" />',

// letra negrita 
'[b]' => '<span style="font-weight:bold">'
'[/b]' => '</span>'

// letra cursiva 
'[i]' => '<span style="font-style:italic">'
'[/i]' => '</span>'

// letra subrayada 
'[u]' => '<span style="text-decoration:underline">'
'[/u]' => '</span>'

// imagenes 
'[IMG]' => '<img src="'
'[/IMG]' => '" />',
'[img]' => '<img src="'
'[/img]' => '" />',

//Enlaces
'[URL]' =>'<a href="',
'[/URL]' =>'" />',
'[NURL]' => '</a>',
'[url]' =>'<a href="',
'[/url]' =>'" />',
'[nurl]' => '</a>',

//acentos
'á' => '&aacute;',
'é' => '&eacute;',
'í' => '&iacute;',
'ó' => '&oacute;',
'ú' => '&uacute;',
'ñ' => 'ntilde;',
'Á' => '&Aacute;',
'É' => '&Eacute;',
'Í' => '&Iacute;',
'Ó' => '&Oacute;',
'Ú' => '&Uacute;',
'Ñ' => 'Ntilde;'

// recordad que después del último elemento no hay coma 
); 
function 
reemplazar$codigo 
                { 
                
$search array_keys$GLOBALS['bb_code'] ); 
                
$codigo str_replace$search$GLOBALS['bb_code'], $codigo); 
                return 
$codigo
                }




?>
este es es el include... los otros solo tienen codigo html


EDITO 3: Acabo de ver el fallo, resulta que mas abajo hago lo siguiente.
Código PHP:
if($usuariologin="no")
            {
            if(
$varilog="no")
                {
                echo 
"Tienes que iniciar sesi&oacute;n usualog:$usuariologin<br> varilog $varilog<br> usuexist $usuexist";
                }
            else
                {
                if(
$usuexist="no")
                    {
                    echo 
"El usuario o contrase&ntilde;a es incorrecta";
                    }
                }
            }
        else
            {
            echo 
"muy bien has conseguido hacer login, esto ser&iacute;a el panel";
            } 
Vale, el codigo creo que está bien, pero lo mas curioso esque he cambiado los valores dentro de los if estos, y en vez de hacer la comparacion, lo que me esta haciendo es cambiar el valor!!! esto es lo mas raro que me ha pasao nunca...

Última edición por frins89; 27/03/2009 a las 10:55
  #11 (permalink)  
Antiguo 27/03/2009, 11:18
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: No me cambia el contenido de la variable

Perdonar el doble post pero me parece que no sale que he editado...
  #12 (permalink)  
Antiguo 27/03/2009, 11:42
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: No me cambia el contenido de la variable

if($usuariologin="no")
Si estas comparando es con doble signo de igual.
Así:
if($usuariologin=="no")

Y eso es para todos los if.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #13 (permalink)  
Antiguo 27/03/2009, 12:01
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: No me cambia el contenido de la variable

bendito seas!!! El caso es que lo sabía y al no funcionarme por no se que fallo anterior lo he cambiado...

gracias y perdón por las molestias
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 12:57.