Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di dodo71
    Registrato dal
    Aug 2001
    Messaggi
    32

    Call to undefined function

    Ragazzi ho un problema:

    Con questo codice effettuo un login su un'altra pagina, su un hosting hostingsolutions.it , con Sistema operativo : Win 2000 - Server web : IIS 5, con installato PHP 5.0.5, e va benissimo:
    Vedi quì: http://www.masserialemarangi.it/tariffe/pass/login.php

    Codice:
    <?php
    // Variables

    // Path to the config file.

    $config = "conf.php";

    // End Variables

    // Load config file.

    require($config);

    // Initial File checks to make sure the files exist before using them.

    if(!file_exists($user_data)) {
    echo "<h1 align=\"center\">$user_data_file_not_exist</h1>";
    exit;
    }
    elseif(!is_readable($user_data)) {
    echo "<h1 align=\"center\">$user_data_file_not_readable</h1>";
    exit;
    }
    elseif($log_login) {
    if(!file_exists($log_file)) {
    echo "<h1 align=\"center\">$log_file_not_exist</h1>";
    exit;
    }
    elseif(!is_writable($log_file)) {
    echo "<h1 align=\"center\">$log_file_not_writable</h1>";
    exit;
    }
    }

    // Perform operation according to command:

    switch ($cmd) {
    case "login":
    if(check_user($username, $password, $name, $log_login)) {
    session_start("pageprotect");
    session_register('valid');
    session_register('username');
    session_register('name');
    // Uses MD5 and soundex to encode "valid" var to avoid easy access.
    $valid = strrev(soundex(name).md5($username));
    if ($log_login) {
    $fd = @fopen($log_file, "a");
    fputs($fd, time()."|$name|$username\n");
    fclose($fd);
    }
    header("Location: $first_page?".SID);
    exit;

    } else {
    header("location: $login_page?cmd=invalid");
    exit;
    }
    break;
    case "unauth":
    session_start("pageprotect");
    session_destroy();
    print_header();
    echo "<h3 align=\"center\">$unauthorised[/i]</h3>";
    print_login();
    print_footer();
    break;
    case "invalid":
    print_header();
    echo "<h3 align=\"center\">$invalid_username_password[/i]</h3>";
    print_login($username);
    print_footer();
    break;
    case "logout":
    session_start("pageprotect");
    session_destroy();
    print_header();
    echo "<h3 align=\"center\">$logged_out[/i]</h3>";
    print_login($username);
    print_footer();
    break;
    default:
    print_header();
    print_login($username);
    print_footer();
    break;
    }

    function print_header() {
    // Prints the header of the page.
    echo "<html><head><title>Login</title></head><body style=\"font-family:arial;\">";
    }

    function check_user($username, $password, &$name, &$log) {
    // Checks to see the user is valid.
    if(($username == $GLOBALS[admin_username]) && ($password == $GLOBALS[admin_password])) {
    $name = "Administrator";
    $log = false;
    return true;
    }
    else {
    $file = @file($GLOBALS[user_data]);
    $pw = md5($password);
    $valid = false;
    if(is_array($file)) {
    foreach($file as $user) {
    $dat = explode("|", $user);
    if($username==$dat[0] && $pw == trim($dat[2])) {
    $valid = true;
    $name = $dat[1];
    }
    }
    }
    return $valid;
    }
    }

    function print_login($username='') {
    // Prints the login form.
    echo "<h2 align=\"center\">$GLOBALS[user_login]</h2>
    <form method=\"post\" action=\"$GLOBALS[SCRIPT_NAME]\">
    <input type=\"hidden\" name=\"cmd\" value=\"login\">
    <table align=\"center\">
    <tr><td>Username:</td><td><input type=\"text\" name=\"username\" value=\"$username\"></td></tr>
    <tr><td>Password:</td><td><input type=\"password\" name=\"password\"></td></tr>
    <tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Login\"></td></tr></table></form>";
    }

    ?>

    --------------------------------------------------

    Lo stesso codice nello stesso server ma con installato PHP 5.0.4
    mi da un errore come:
    Fatal error: Call to undefined function print_footer() in d:\www\MW_qPcaqIPqq\hotelcecere.com\tariffe\pass\l ogin.php on line 84
    Vedi quì: http://www.hotelcecere.com/tariffe/pass/login.php

    L'hosting mi dice di contattare l'amministratore del software, ma non potrebbe essere invece un problema di settaggio nel PHP 5.0.4?

    Come posso risolvere? Ciao e Grazie!

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Ti dice che la funzione print_footer non esiste.
    Controlla che il file che include quella funzione ci sia.

  3. #3
    Utente di HTML.it L'avatar di dodo71
    Registrato dal
    Aug 2001
    Messaggi
    32
    Nel prio link che ho postato va bene, come ma nel secondo link dà quell'errore i codici sono gli stessi ed edentici.

  4. #4
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Nel codice che hai postato la funzione print_footer non è definita, presumo sia definita in un altro file che includi.
    Sai dove è definita?

  5. #5
    Utente di HTML.it L'avatar di dodo71
    Registrato dal
    Aug 2001
    Messaggi
    32
    Io credo che il problema sia proprio nel server, stessa cosa anche per questo script:

    Quì va bene:
    http://www.masserialemarangi.it/prova/prova.php

    Quì no:
    http://www.hotelcecere.com/prova/prova.php

    Ma come mai....?

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.