Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    problema Undefined index con PHP in un tutorial

    salve avrei questo problema ve ne sarei molto grati se mi dareste una mano:

    quando accedo alla home page mi esce questo errore.

    Notice: Undefined index: uid in c:\programmi\easyphp1-8\www\software beta\registrazione\include\auth.lib.php on line 55

    questa è la pagina auth.lib.php

    <?php

    $_AUTH = array(
    "TRANSICTION METHOD" => AUTH_USE_COOKIE
    );

    function auth_set_option($opt_name, $opt_value){
    global $_AUTH;

    $_AUTH[$opt_name] = $opt_value;
    }

    function auth_get_option($opt_name){
    global $_AUTH;

    return is_null($_AUTH[$opt_name])
    ? NULL
    : $_AUTH[$opt_name];
    }

    function auth_clean_expired(){
    global $_CONFIG;

    $result = mysql_query("SELECT creation_date FROM ".$_CONFIG['table_sessioni']." WHERE uid='".auth_get_uid()."'");
    if($result){
    $data = mysql_fetch_array($result);
    if($data['creation_date']){
    if($data['creation_date'] + $_CONFIG['expire'] <= time()){
    switch(auth_get_option("TRANSICTION METHOD")){
    case AUTH_USE_COOKIE:
    setcookie('uid');
    break;
    case AUTH_USE_LINK:
    global $_GET;
    $_GET['uid'] = NULL;
    break;
    }
    }
    }
    }

    mysql_query("
    DELETE FROM ".$_CONFIG['table_sessioni']."
    WHERE creation_date + ".$_CONFIG['expire']." <= ".time()
    );
    }

    function auth_get_uid(){

    $uid = NULL;

    switch(auth_get_option("TRANSICTION METHOD")){
    case AUTH_USE_COOKIE:
    global $_COOKIE;
    $uid = $_COOKIE['uid'];
    break;
    case AUTH_USE_LINK:
    global $_GET;
    $uid = $_GET['uid'];
    break;
    }

    return $uid ? $uid : NULL;
    }

    function auth_get_status(){
    global $_CONFIG;

    auth_clean_expired();
    $uid = auth_get_uid();
    if(is_null($uid))
    return array(100, NULL);

    $result = mysql_query("SELECT U.name as name, U.surname as surname, U.username as username
    FROM ".$_CONFIG['table_sessioni']." S,".$_CONFIG['table_utenti']." U
    WHERE S.user_id = U.id and S.uid = '".$uid."'");

    if(mysql_num_rows($result) != 1)
    return array(100, NULL);
    else{
    $user_data = mysql_fetch_assoc($result);
    return array(99, array_merge($user_data, array('uid' => $uid)));
    }
    }

    function auth_login($uname, $passw){
    global $_CONFIG;

    $result = mysql_query("
    SELECT *
    FROM ".$_CONFIG['table_utenti']."
    WHERE username='".$uname."' and password=MD5('".$passw."')"
    );

    if(mysql_num_rows($result) != 1){
    return array(AUTH_INVALID_PARAMS, NULL);
    }else{
    $data = mysql_fetch_array($result);
    return array(AUTH_LOGEDD_IN, $data);
    }
    }

    function auth_generate_uid(){

    list($usec, $sec) = explode(' ', microtime());
    mt_srand((float) $sec + ((float) $usec * 100000));
    return md5(uniqid(mt_rand(), true));
    }

    function auth_register_session($udata){
    global $_CONFIG;

    $uid = auth_generate_uid();

    mysql_query("
    INSERT INTO ".$_CONFIG['table_sessioni']."
    (uid, user_id, creation_date)
    VALUES
    ('".$uid."', '".$udata['id']."', ".time().")
    "
    );
    if(!mysql_insert_id()){
    return array(AUTH_LOGEDD_IN, $uid);
    }else{
    return array(AUTH_FAILED, NULL);
    }
    }

    function auth_logout(){
    global $_CONFIG;

    $uid = auth_get_uid();

    if(is_null($uid)){
    return false;
    }else{
    mysql_query("
    DELETE FROM ".$_CONFIG['table_sessioni']."
    WHERE uid = '".$uid."'"
    );
    return true;
    }
    }
    ?>

    che cosa ci può essere di sbagliato il codice l'ho preso da questo sito ecco:

    http://php.html.it/articoli/leggi/90...nti-con-php/1/

    la cartella autenticazione.

  2. #2
    il notice di undefined index/variable ti viene mostrato quando non dichiari una variabile prima di usarla oppure non esiste. Quindi è molto probabile che $_COOCKIE['uid'] non sia ancora stato definito.
    Puoi ovviare usando la funzione isset
    if ( isset ( $_COOCKIE['uid'] ) )
    {
    // Yea, the uid is defined !!, what i have to do ?
    }
    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

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.