Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    36

    Problema con verifica $_SESSION/$_COOKIES

    Salve a tutti...io ho uno script di login che usa sia le sessione che i cookies (se richiesto) unico problema è quando devo verificare la sessione o il cookie

    Script:
    Codice PHP:
    <?php 
    require('connessionedb.php');
    session_start(); 
    if(isset(
    $_COOKIE['ID']))  
    {  
    $user $_COOKIE['ID'];  
    $password $_COOKIE['Key'];  
    $check mysql_query("SELECT * FROM user WHERE user_password = '$password'")or die(mysql_error());  
    while(
    $info mysql_fetch_array$check ))  

    if (
    $_SESSION['log'] != || $pass != $info['user_password']) { 
    header("Location: index.php"); 
    }else { 
    ?> 
    admin area 
    <?php 



    ?>
    tralasciando il fatto che l'impostazione è un pò da cani...lo script non controlla assolutamente nulla e mostra una pagina bianca...se elimino la parte dei cookie lo script funziona perfettamente,dov'è l'errore?
    Grazie anticipatamente!

  2. #2
    Utente di HTML.it L'avatar di mgfx
    Registrato dal
    Feb 2008
    Messaggi
    173
    metti
    session_start();
    sopra
    require('connessionedb.php');

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    36
    Originariamente inviato da mgfx
    metti
    session_start();
    sopra
    require('connessionedb.php');
    niente da fare...compare sempre una pagina bianca

  4. #4
    cosa stampa $_COOKIE['ID']???
    è impostato correttamente?
    tu ora fai il controllo solo se è settato il cookie e non su cookie/sessione
    Codice PHP:
    if(isset($_COOKIE['ID'])) 

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    36
    ho provato a fare così
    Codice PHP:
    <?php 
    require('connessionedb.php');
    if(isset(
    $_COOKIE['ID_my_site'])) 

    $username $_COOKIE['ID_my_site']; 
    $pass $_COOKIE['Key_my_site']; 
    $check mysql_query("SELECT * FROM user WHERE user_password = '$password'")or die(mysql_error()); 
    while(
    $info mysql_fetch_array$check )) 
    {  
    if (
    $pass != $info['password']) 
    header("Location: index.php"); 
    } else {
    ?>
    admin area
    <?php

    }
    }
    ?>
    ma mostra comunque una pagina bianca...e il cookie sono sicuro che esiste perchè l'ho cercato nella cartella sul pc
    P.S: il nome corretto era $_COOKIE['ID_my_site'];

  6. #6
    adesso non c'è traccia di sessioni :master:
    ora invece cosa stampa $_COOKIE['ID_my_site'] e $_COOKIE['Key_my_site']???
    se esegui la query "SELECT * FROM user WHERE user_password = '$password'" sul db ti estrae qualcosa?

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    36
    Ho provato a fare così:
    Codice PHP:
    <?php
    require('connessionedb.php');
    $user $_COOKIE['ID_my_site']; 
    $pass $_COOKIE['Key_my_site']; 
    $check mysql_query("SELECT * FROM user WHERE user_password = '$pass'")or die(mysql_error()); 
    while(
    $info mysql_fetch_array$check )) {
    echo 
    $info;
    }
    ?>
    ma compare la parola array...non sono sicuro se quello che ho scritto vada bene...è un pò che non uso il php
    P.S: $_COOKIE['ID_my_site'] e $_COOKIE['Key_my_site'] stampandoli mostrano correttamente l'user e la password...

  8. #8
    non echo $info;

    ma visto che e' un array:

    print_r($info);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    36
    ok fatto...la query funziona correttamente: mostra tutto ciò che richiede WHERE user_password = '$pass'.

    Per verificare la presenza di errori nel primo script ho inserito error_reporting(E_ALL); ma riporta comunque una pagina bianca :master:

    EDIT: mi sono appena accorto che se è presente il cookie lo script mostra admin area invece se non è presente lo script mostra una pagina bianca

    Mi riferisco a questo script:
    Codice PHP:
    <?php 
    error_reporting
    (E_ALL);
    require(
    'connessionedb.php');
    if(isset(
    $_COOKIE['ID_my_site'])) 

    $user $_COOKIE['ID_my_site']; 
    $pass $_COOKIE['Key_my_site'];   
    $check mysql_query("SELECT * FROM user WHERE user_password = '$pass'")or die(mysql_error());   
    while(
    $info mysql_fetch_array$check ))   

    if (
    $pass != $info['user_password']) { 
    header("Location: index.php"); 
    }else { 
    ?> 
    admin area 
    <?php 



    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    355
    Per caso la pagina dove è questo script è index.php?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.