Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Milver
    Registrato dal
    Dec 2006
    Messaggi
    179

    Problema con is_logged_in

    Ciao a tutti ragazzi, premetto che non sono esperto di php, ho scaricato uno script per la gestione utenti ci ho lavorato poco sopra ed adesso mi trovo dinanzi ad un problema non mio ma dello script. Vi spiego.....
    Io nella pagina index.php ho messo questo codice qui:
    Codice PHP:
    <?PHP

    include ("functions.php");

    //if the user is logged in.
    if (is_logged_in($user)) {

          
    $cookie_read explode("|"base64_decode($user));
          
    $username $cookie_read[1];
          
    //put your code here (protected page).
          
    echo "<div style=\"width:270px; background-color: #E1F9FF; font-family: Arial; font-size: 12px; color:black;\">Ciao  [b]$username[/b], [[b] <a href=\"users.php\" style=\"color:navy;\">Il Mio Account</a>[b] ] [[/b] <a href=\"users.php?maa=Logout\" style=\"color:navy;\">Logout</a>[/b] ]</div>

    "
    ;

       }else{

         
    //header("Location: users.php");  die();
         
    echo "<div style=\"width:270px; background-color: #E1F9FF; font-family: Arial; font-size: 12px; color:black;\">Salve visitatore, puoi effettuare il [b] <a href=\"users.php\" style=\"color:black;\">Login</a> [/b] o in alternativa puoi  [b]<a href=\"users.php?maa=Register\" style=\"color:black;\">Registrarti</a> [/b]</div>

    "
    ;

    }

    ?>
    Ho già letto qui sopra un topic su questo script ma non ho trovato la soluzione.
    Praticamente fin qui va tutto bene, quando effettuo il login nella pagina users.php e torno sulla home mi dice Ciao Mimmo etc. etc.
    Il problema sta nel fatto che se io mi collego ad esempio alla pagina index.php?pag?=scriviinbacheca che è una pagina riservata e quindi ci metto il controllo con la funzione is_logged_in , mi da un errore perchè richiamo due volte questa funzione stando sia nella index principale, sia nella pagina che ho scriviinbacheca.php che ho richiamato con la funzione include. C'è un modo per non fare questo errore? ripeto, ho letto un topic dove c'era lo stesso errore ma non è stata data la soluzione. L'errore è il seguente ora lo scrivo....

    Codice PHP:
    Fatal errorCannot redeclare is_logged_in() (previously declared in /web/htdocs/www.unitiperilmondo.it/home/sito/functions.php:124in /web/htdocs/www.unitiperilmondo.it/home/sito/functions.php on line 141 
    mentre invece la pagina functions.php è la seguente
    Codice PHP:
    <?
    ###########################################
    #-----------Users login system------------#
    ###########################################
    /*=========================================\
    Author      :  Mohammed Ahmed             \\
    Version     :  1.2                        \\
    Date Created:  Aug 20  2005               \\
    ----------------------------              \\
    Last Update:    26-APR-2008               \\
    ----------------------------              \\
    Country    :   Palestine                  \\
    City       :   Gaza                       \\
    E-mail     :   [email]m@maaking.com[/email]              \\
    WWW        :   [url]http://www.maaking.com[/url]     \\
    Skype      :   maaking                    \\
                                              \\
    ===========================================\
    ------------------------------------------*/

    //skip the functions file if somebody call it directly from the browser.
    if (eregi("functions.php"$_SERVER['SCRIPT_NAME'])) {
        
    Header("Location: index.php"); die();
    }


    // Report all errors and ignor notices
    error_reporting(E_ALL E_NOTICE);

    // Disable magic_quotes_runtime
    set_magic_quotes_runtime(0);

    if (!
    ini_get("register_globals")) {
        
    import_request_variables('GPC');
    }

    $phpver phpversion();
    if (
    $phpver '4.1.0') {
        
    $_GET $HTTP_GET_VARS;
        
    $_POST $HTTP_POST_VARS;
        
    $_SERVER $HTTP_SERVER_VARS;
    }
    $phpver explode("."$phpver);
    $phpver "$phpver[0]$phpver[1]";
    if (
    $phpver >= 41) {
        
    $PHP_SELF $_SERVER['PHP_SELF'];
    }


    if(isset(
    $admin)){
    $admin base64_decode($admin);
    $admin addslashes($admin);
    $admin base64_encode($admin);
    }
    if(isset(
    $user)){
    $user base64_decode($user);
    $user addslashes($user);
    $user base64_encode($user);
    }

    foreach (
    $_GET as $sec_key => $secvalue) {
        if ((
    eregi("<[^>]*script*\"?[^>]*>"$secvalue)) ||
        (
    eregi("<[^>]*object*\"?[^>]*>"$secvalue)) ||
        (
    eregi("<[^>]*iframe*\"?[^>]*>"$secvalue)) ||
        (
    eregi("<[^>]*applet*\"?[^>]*>"$secvalue)) ||
        (
    eregi("<[^>]*meta*\"?[^>]*>"$secvalue)) ||
        (
    eregi("<[^>]*style*\"?[^>]*>"$secvalue)) ||
        (
    eregi("<[^>]*form*\"?[^>]*>"$secvalue)) ||
        (
    eregi("<[^>]*img*\"?[^>]*>"$secvalue)) ||
        (
    eregi("<[^>]*onmouseover*\"?[^>]*>"$secvalue)) ||
        (
    eregi("\([^>]*\"?[^)]*\)"$secvalue)) ||
        (
    eregi("\""$secvalue))) {
            die (
    "not allowed");
        }
    }
    foreach (
    $_POST as $secvalue) {
        if ((
    eregi("<[^>]*onmouseover*\"?[^>]*>"$secvalue)) ||
            (
    eregi("<[^>]script*\"?[^>]*>"$secvalue)) ||
            (
    eregi("<[^>]meta*\"?[^>]*>"$secvalue)) ||
            (
    eregi("<[^>]style*\"?[^>]*>"$secvalue))) {
            die (
    "not allowed");
        }
    }

    //set root path
    $ROOT_DIR realpath(dirname(__FILE__));
    $ROOT_DIR str_replace('\\''/'$ROOT_DIR);

    include (
    "$ROOT_DIR/config.php");

    include(
    "$ROOT_DIR/mysql.class.php");

    $db = new sql_db($db_host$db_username$db_password$databse_namefalse);
    if(!
    $db->db_connect_id) {
          include(
    "header.php");

          
    //if connection to database/login faild, print error.
          
    echo "
    <font color=\"red\"><h5>
    <center>Error:[/b]
    <hr>

                [b]Connection to database has faild!

                check mysql server/database name/username/password </center>
                








    "
    ;
                  echo 
    mysql_error();
          include(
    "footer.php");
          die();
    }
    //load the site options and info from db.
    $options_sql $db->sql_query("SELECT * FROM ".$prefix."_options");
    $options $db->sql_fetchrow($options_sql);

    $site_name stripslashes($options['site_name']);
    $site_emailstripslashes($options['site_email']);
    $site_url stripslashes($options['site_url']);
    $site_info stripslashes($options['site_info']);
    $language stripslashes($options['language']);
    $tmp_header stripslashes($options['tmp_header']);
    $tmp_footer stripslashes($options['tmp_footer']);
    $validate intval($options['validate']);

    //load the language
    include ("$ROOT_DIR/lang/$language.php");

    //global function for checkig whethar user is logged in or not.
    //you will notice we will use it everwhere in the script.
    function is_logged_in($user) {
        global 
    $db,$prefix;

        
    $read_cookie explode("|"base64_decode($user));
        
    $userid addslashes($read_cookie[0]);
        
    $passwd $read_cookie[2];
        
    $userid intval($userid);
        
        if (
    $userid != "" AND $passwd != "") {
            
    $result $db->sql_query("SELECT password FROM ".$prefix."_users WHERE userid='$userid'");
        
    $row $db->sql_fetchrow($result);
            
    $pass $row['password'];
        if(
    $pass == $passwd && $pass != "") {
               return 
    1;
        }
        }
        return 
    0;
    }

    function 
    is_logged_in_admin($admin) {
        global 
    $db,$prefix;

        
    $read_cookie explode("|"base64_decode($admin));
        
    $adminid addslashes($read_cookie[0]);
        
    $passwd $read_cookie[2];
        
    $adminid intval($adminid);
            
        if (
    $adminid != "" AND $passwd != "") {
            
    $result $db->sql_query("SELECT password FROM ".$prefix."_admin WHERE adminid='$adminid'");
        
    $row $db->sql_fetchrow($result);
            
    $pass $row['password'];
        if(
    $pass == $passwd && $pass != "") {
               return 
    1;
        }
        }
        return 
    0;
    }


    function 
    msg_redirect($msg,$url,$seconds){
             global 
    $site_name$site_url;

             echo 
    "<html dir=\""._LTR_RTL."\">\n"
                  
    ."<head>\n"
                  
    ."<title>$site_name</title>\n"
                  
    ."<meta http-equiv=\"Refresh\" content=\"$seconds; URL=$url\">\n"
                  
    ."<meta http-equiv=\"Content-Type\" content=\"text/html; charset="._CHARSET."\">\n"
                  
    ."<link rel=\"stylesheet\" href=\"style.css\" type=\"text/css\">\n"
                  
    ."</head>\n\n"
                  
    ."<body>\n"
                  
    ."
    \n"
                  
    ."
    \n"
                  
    ."
    \n"
                  
    ."
    \n\n\n"
                  
    ."<div align=\"center\">\n"
                  
    ."<table cellpadding=\"6\" cellspacing=\"1\" border=\"0\" width=\"70%\" bgcolor=\"#E1E1E1\">"
                  
    ."<tr>"
              
    ."<td bordercolor=\"#808080\">"._REDIRECTING."</td>"
                  
    ."</tr> "
                  
    ."<tr> "
              
    ."<td align=\"center\" bgcolor=\"#FFFFFF\">"
              
    ."<blockquote> "
                  
    ."

    </p>"
              
    ."

    <h3>
    $msg</h3></p>"
                  
    ."

    <a href=\"
    $url\" style=\"color: black;\"> "
              
    .""._CLICK_HERE_BROWSER_REDIRECT."</a></p>
    "
                  
    ."</blockquote>"
              
    ."</div>\n"
              
    ."</td>\n"
                  
    ."</tr>\n"
                  
    ."</table>\n\n\n"
                  
    ."</body>\n"
                  
    ."</html>";
    }


    ?>
    Mi aiutate? GRAZIE MILLE!!!!!!!!!!!!
    Mimmo

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Sostituisci

    include ("functions.php");

    con

    include_once ("functions.php");


    Certo che, se il livello è questo, non mi fiderei troppo di quello script

  3. #3
    Utente di HTML.it L'avatar di Milver
    Registrato dal
    Dec 2006
    Messaggi
    179
    EDIT: Ho risolto il problema da solo, era un codice nella index.php un casino da spiegare cmq non c'entrava con lo script del login.


    Cmq purtroppo non sono esperto di php, lo script GESTIONE DEGLI UTENTI CON PHP di cui c'è la guida sul sito è buono ma non è completo come questo scaricato. se poi mi sai dire uno script migliore ben venga..

    Grazie mille
    Mimmo

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.