Ho trovato uno script carino ma non mi funziona.
Questo è lo script:
index.php
Codice PHP:
<?php
// Inclusioni
define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// Inizio sessione
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
// Verifica se utente o no
if( $userdata['session_logged_in'] ) {
/* PARTE IN CUI DIAMO IL BENTORNATO AL NOSTRO UTENTE E GLI LINKIAMO IL LOGOUT */
echo "Bentornato". $userdata['username'];
echo "<br>";
echo "<a href=\"login.$phpEx?logout=true\">Log out</a>";
} else {
/* CREO IL FORM PER IL LOGIN */
echo '<!--- FORM PER LOGIN PHPBB --->
<form method="post" action="login.php">
Username:
<input class="post" name="username" size="15" type="text">
<br>
Password:
<input class="post" name="password" size="15" type="password">
<br>
Login automatico ad ogni visita
<input class="text" name="autologin" type="checkbox">
<br>
<input class="mainoption" name="login" value="Login" type="submit">
</form>
<!--- FINE FORM PER LOGIN PHPBB --->';
}
?>
poi ho il file
login.php
Codice PHP:
<?php
// Inclusioni
define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// Inizio sessione
$userdata = session_pagestart($user_ip, PAGE_LOGIN);
init_userprefs($userdata);
// Session ID
if (!empty($HTTP_POST_VARS['sid']) || !empty($HTTP_GET_VARS['sid'])) {
$sid = (!empty($HTTP_POST_VARS['sid'])) ? $HTTP_POST_VARS['sid'] : $HTTP_GET_VARS['sid'];
} else {
$sid = '';
}
if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) ) {
// Script per il login
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) ) {
$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
// Formulazione query
$sql = "SELECT user_id, username, user_password, user_active, user_level
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\\'", "''", $username) . "'";
// Esecuzione query
if ( !($result = $db->sql_query($sql)) ) {
/* PARTE IN CUI NON E' POSSIBILE ESEGUIRE LA QUERY */
echo "Impossibile eseguire la query sul database";
}
// Ricerca del Username nel database
if( $row = $db->sql_fetchrow($result) ) {
// Verifica dell'esattezza della password
if( md5($password) == $row['user_password'] && $row['user_active'] ) {
$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;
$admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0;
$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin);
if( $session_id ) {
/* PARTE IN CUI IL LOGIN E' STATO EFFETTUATO CON SUCCESSO */
echo "Log in avvenuto correttamente";
} else {
/* PARTE IN CUI LA SESSIONE NON E' COMINCIATA PER VARI MOTIVI */
echo "Errore: non riesco a cominciare la sessione";
}
} else {
/* PARTE IN CUI LA PASSWORD E' SBAGLIATA */
echo "La tua password è sbagliata";
}
} else {
/* PARTE IN CUI LO USERNAME NON è PRESENTE NEL DATABASE */
echo "Non riesco a trovare il nick nel database";
}
// Script per il logout
} else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] ) {
if( $userdata['session_logged_in'] ) {
session_end($userdata['session_id'], $userdata['user_id']);
/* PARTE IN CUI IL LOGOUT E' STATO ESEGUITO CON SUCCESSO */
echo "Logout eseguito con successo";
} else {
/* PARTE IN CUI IL LOGOUT NON E' STATO ESEGUITO CON SUCCESSO PERCHE' LA SESSIONE NON ERA STATA COMINCIATA PRECEDENTEMENTE */
echo "La tua sessione non è cominciata quindi non puoi eseguire il logout";
}
// Condizioni che non soddisfa le altre
} else {
/* PARTE IN CUI I DATI SONO STATI TRAFERITI MALE */
echo "Errore di passaggio dati";
}
// Condizione che non porta nessuna variale con se! Questo è il caso di un link del tipo <a href="login.php">Esegui log in</a>
} else {
if( $userdata['session_logged_in'] ) {
/* PARTE IN CUI NON VENGONO TRASFERITI I DATI. L'UTENTE ACCEDE ALLA PAGINA PER IL LOGIN MA IN REALTA' SI E' GIA' LOGGATO */
echo "Attenzione: sei già riconosciuto come utente registrato";
} else {
/* PARTE IN CUI NON VENGONO TRASFERITI I DATI. IN QUESTO SPAZIO SI POTREBBE METTERE UN'ALTRO FORM PE RIL LOGIN */
echo "Non hai eseguito il log in";
}
}
echo "<br><a href=\"index.$phpEx\">Clicca qui</a> per andare alla pagina principale";
?>
Mi da questo errore:
Codice HTML:
Fatal error: Call to undefined function: session_pagestart() in /membri/barbo91/index.php on line 254
Cosa posso fare? sono in panico aiutooo