Visualizzazione dei risultati da 1 a 10 su 10

Discussione: funzione empty()

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192

    funzione empty()

    Salve a tutti,
    sono sempre io

    Non capisco perchè mettendo questa funzione (proprio per iniziare una sessione) mi restituisce sempre TRUE, quindi il parametro lo trova vuoto!
    Codice PHP:
    <?
    session_start
    ();
    if ( empty( 
    $first_name ) ) 
    {
     echo 
    "$first_name";
    ?> No Guest, only admin!!
    <?
    } else { 
    include 
    'db.php'
    echo 
    "Welcome, "$_SESSION['first_name'] .""
    ...
    Mettendo una echo mi dice: Undefined variable: first_name
    ma perche se è definita?!

  2. #2
    allora nella if ti consiglio di mettere $_SESSION['first_name'] al posto di $first_name poiche si possono generare degli errori nell'uso delle variabili con le register_globals,
    poi se provi a fare un var_dump della var vedi che è null quindi x php non è vuota, sostituisci empty() con isset() che verifica se la variabile esiste.

    poi puoi anche fare un controllo se è vuota ma l'isset ci va x forza sennò ti darà sempre true,
    ce nn hai capito qualcosa, sono qui disponibile
    phac
    www.service4pc.it
    Servizi per il computer e non solo!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Ok phac, ho fatto come mi hai consigliato:
    Codice PHP:
    <?
    session_start
    ();
    if ( isset( 
    $_SESSION['first_name']  ) ) 
    {
     echo 
    "$first_name";
    ?> No Guest, only admin!!
    <?
    } else { 
    include 
    'db.php'
    echo 
    "Welcome, "$_SESSION['first_name'] .""

    echo 
    "<table width=\"35%\" border=\"1\" align=\"center\" cellpa
    Solo che il discorso non cambia! Isset l'avevo provato anche io prima, pero ovviamente ora con la isset entra (è il contrario dell'empty!), ma da sempre errore ora nell'else:
    echo "Welcome, ". $_SESSION['first_name'] ."";
    Cioè scrive welcome ma mi da variabile first_name undefinied!

  4. #4
    da quello ke ho capito l'if controlla se la var di sessione non è vuota,
    se è vuota non fa loggare, viceversa ti fa entrare, giusto?

    <?
    session_start();
    // la riga qui sotto verifica che la var di sessione non è impostata oppure è vuota
    if (!isset($_SESSION['first_name']) || empty($_SESSION['first_name'])) {
    // non sono loggato
    echo "$first_name";
    ?>
    No Guest, only admin!!
    <?
    } else {
    // sono loggato
    include 'db.php';
    echo "Welcome, ". $_SESSION['first_name'] ."";
    ...
    }
    ?>

    non so se non ho capito bene stavolta
    phac
    www.service4pc.it
    Servizi per il computer e non solo!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Esatto, e da proprio errore undefined nella variabile first_name!!!
    Ma dove dovrei definirla?

  6. #6
    da come hai strutturato lo script penso che devi definirla all'interno del file db.php magari quando fai il controllo, se lo fai, tramite query sql se è autenticato o meno.
    nn so come l'hai impostato il db.php cmq la dovresti dichiarare li assegnandogli qualcosa...
    phac
    www.service4pc.it
    Servizi per il computer e non solo!

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Questo è il file db.php:
    Codice PHP:
    <?
    $dbhost 
    'localhost';
    $dbusername 'root';
    $dbpasswd '';
    $database_name 'database';
    /* Database Stuff, do not modify below this line */

    $connection mysql_connect("$dbhost","$dbusername","$dbpasswd")
        or die (
    "Couldn't connect to server.");

    $db mysql_select_db("$database_name"$connection)
        or die(
    "Couldn't select database.");
    ?>
    Ma è solo la connessione al db... mah..

  8. #8
    allora dovresti dichiararla da qualche parte...non so dirti dove
    phac
    www.service4pc.it
    Servizi per il computer e non solo!

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    edito perche "Forse" ho risolto
    Grazie davvero phac

  10. #10
    di niente ciao ciao
    phac
    www.service4pc.it
    Servizi per il computer e non solo!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.