basta aggingere nel file logga.php
sotto
echo "Login corretto";e ti reindirizza se giusto alla pagina che decidi tuecho"<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=nomepagina.php\"> ";
basta aggingere nel file logga.php
sotto
echo "Login corretto";e ti reindirizza se giusto alla pagina che decidi tuecho"<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=nomepagina.php\"> ";
Se smetti di imparare e evolverti sei morto dentro
si adesso funziona...
Ma ora dovrei inserire ad ogni pagina privata il login?! suppongo di nO! Cioè se un utente nn registrato entra su una sezione privata....dovrebbe uscire il login, mentre l'utente effettua il login la pagina deve uscire tranquillamente....
allinizio nell'index c'è una tabella x effettuare il login e da lì l'utente lo effettuerà, ma kome faccio a kollegare le altre pagine?
inseriti nelle pagine che restano per i registrati il codice di login.php , nel codice dove c'è scritto
al posto di contenuto della pagina ci metti tutto il codice della pagina e chiudi con{ <?Contenuto pagina ?>
}
Se smetti di imparare e evolverti sei morto dentro
Mak scusa, ma nn ho capito...:/
sul tuo forum c'è un errore grammaticale programazione = programmazione due mOriginalmente inviato da safety
il problema e ke nn so kome komportarmi adesso kon le alrre pagine
qui www.ut0pi4.altervista.org ci sarà il login
ma ci sono anke altre sezioni
musica, avatar bisogna fare in modo ke se l'utente nn fa il login nn può eccedere
nn momento il kui lo fa...accede
post mio sopra
basta aggiungere quel codice alle pagine ( con estensione php però)
Se smetti di imparare e evolverti sei morto dentro
il codice originale l'ho modificato...
alla fine ho fatto così:
session_start( );
$_SESSION['login'] = "ok";
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=index.php\"> ";
} else {
echo "Login incorretto!";
};
mysql_close($db);
?>
<?
session_start( );
if ($_SESSION['login'] != "ok") {
echo "Devi eseguire il login x vedere questa pagina";
} else { ?>Attendere...<? };
?>
meglio se continui sul forum di safety .. comunque prendi
e sei a posto, è visibile se loggato.<?
session_start( );
if ($_SESSION['login'] != "ok") {
echo "Devi eseguire il login x vedere questa pagina";
} else { ?>
<body>
ecc.ecc. ( tutto il codice attualmente presente nella pagina
<? };
?>
Se smetti di imparare e evolverti sei morto dentro
io ho modificato quello originale xkè qualkosa nn andava...
come puoi vedere...:http://ut0pi4.altervista.org/avatar.php
nn và!
sorry... mi è scappato di vista.. ehehOriginalmente inviato da neoscript
Dipende da cosa hai cambiato.... cmq makpaolo ha detto tutto.... devi inserire tutto il codice della tua pagina html (come ti ha fattol 'esempio nell'ultimo post)..... e poi è fatto...Originalmente inviato da Ut0PI4
facendo in quel modo, la pagina esce anche se l'utente nn è registrato, solo ke in cima esce la scritta ke nn è registrato -__-
a me apparecomunque puoi modificare inParse error: parse error in /membri/ut0pi4/avatar.php on line 6
ovvero anziche dirgli se diverso .. altrimenti ... parti con se uguale ... altrimenti ...<?
session_start( );
if ($_SESSION['login'] == "ok")
{ ?>
<body>
ecc.ecc. ( tutto il codice attualmente presente nella pagina
<? } else { echo "Devi eseguire il login x vedere questa pagina";
};
?>
Se smetti di imparare e evolverti sei morto dentro
.. ma quindi dite che c'è un errore nello script? makpaolo, secondo te è un errore suo o è nello script l'errore? se è nellos cript mipuoi comunicare l'errore? grazie ;)
a me sembra a posto, unica cosa NON logga sul forum.
domani vedo se trovo il problema.
Se smetti di imparare e evolverti sei morto dentro
c'è questo problemino da risolvere.... cmq presto lo risolverò... magari domani... poi posterò sul mio sito il codice fixato.... o se magari qualcuno si offre di farlo.. io adesso sono mega pieno di cose da fare....$query = "SELECT user_password FROM phpbb_users WHERE username='$_POST[username]';";
scusa ma c'è un'errore di sicurezza... fai un controllo sul dato $_POST xkè è molto probabile che un semplice sql injection permetta il login senza pass...
magari controlla con ereg... ciao e complimenti...
..... mi sono prerso dopo i primi post.... quando ci riuscite fatemi un fischio....
Risolvo la cosa: NIENTE LOGIN SUL MIO SITO! -_-
se Maometto non va alla montagna......... è probabile che soffra di vertigini....
strano.... a me funziona benissimo!!Originalmente inviato da Ut0PI4
safey, ho visto come mischiare la parte che ho postato io e il tuo ... dovrebbe uscirne una cosa funzionale al 99% ( a me login ok, ma non sul forum :( )
domattina ci lavoro un pò e vi faccio sapere.
Se smetti di imparare e evolverti sei morto dentro
ok, così funziona!!!
file login.php
nella index basta mettere<?
define('IN_PHPBB', true);
$phpbb_root_path = 'phpbb2/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.' . $phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if(!$userdata['session_logged_in']) {
?>
<form action="" method="post">
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td colspan="2" align="center"> </td>
</tr>
<tr>
<td ><span class="gen">Username:</span><br>
<input type="text" name="username" size="25" maxlength="40" value="" />
</td>
</tr>
<tr>
<td ><span class="gen">Password:</span><br>
<input type="password" name="password" size="25" maxlength="32" />
</td>
</tr>
<tr align="center">
<td ><span class="gen">Ricordami: <input type="checkbox" name="autologin" /></span></td>
</tr>
<tr align="center">
<td ><input type="submit" name="login" class="mainoption" value="login" /></td>
</tr>
</table>
</form>
<?php
define("IN_LOGIN", true);
define('IN_PHPBB', true);
$userdata = session_pagestart($user_ip, PAGE_LOGIN);
init_userprefs($userdata);
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']) )
{
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
{
$username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
$username = substr(str_replace("\\'", "'", $username), 0, 25);
$username = str_replace("'", "\\'", $username);
$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
$sql = "SELECT user_id, username, user_password, user_active, user_level
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\\'", "''", $username) . "'";
if ( !($result = $db->sql_query($sql)) )
{
}
if( $row = $db->sql_fetchrow($result) )
{
if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
{
redirect(append_sid("../", true));
}
else
{
if( md5($password) == $row['user_password'] && $row['user_active'] )
{
$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;
$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);
if( $session_id )
{
$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "../";
redirect(append_sid($url, true));
}
else
{
}
}
else
{
$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
$redirect = str_replace('?', '&', $redirect);
$template->assign_vars(array(
'META' => "<meta http-equiv=\"refresh\" content=\"3;url=../\">")
);
$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"../\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("../") . '">', '</a>');
}
}
}
else
{
$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "";
$redirect = str_replace("?", "&", $redirect);
$template->assign_vars(array(
'META' => "<meta http-equiv=\"refresh\" content=\"3;url=../\">")
);
$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"../\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("../") . '">', '</a>');
}
}
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']);
}
if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect']))
{
$url = (!empty($HTTP_POST_VARS['redirect'])) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : htmlspecialchars($HTTP_GET_VARS['redirect']);
$url = str_replace('&', '&', $url);
redirect(append_sid($url, true));
}
else
{
redirect(append_sid("../", true));
}
}
else
{
$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "../";
redirect(append_sid($url, true));
}
}
else
{
if( !$userdata['session_logged_in'] )
{
$page_title = $lang['Login'];
if( isset($HTTP_POST_VARS['redirect']) || isset($HTTP_GET_VARS['redirect']) )
{
$forward_to = $HTTP_SERVER_VARS['QUERY_STRING'];
if( preg_match("/^redirect=([a-z0-9\.#\/\?&=\+\-_]+)/si", $forward_to, $forward_matches) )
{
$forward_to = ( !empty($forward_matches[3]) ) ? $forward_matches[3] : $forward_matches[1];
$forward_match = explode('&', $forward_to);
if(count($forward_match) > 1)
{
$forward_page = '';
for($i = 1; $i < count($forward_match); $i++)
{
if( !ereg("sid=", $forward_match[$i]) )
{
if( $forward_page != '' )
{
$forward_page .= '&';
}
$forward_page .= $forward_match[$i];
}
}
$forward_page = $forward_match[0] . '?' . $forward_page;
}
else
{
$forward_page = $forward_match[0];
}
}
}
else
{
$forward_page = '';
}
$username = ( $userdata['user_id'] != ANONYMOUS ) ? $userdata['username'] : '';
$s_hidden_fields = '<input type="hidden" name="redirect" value="' . $forward_page . '" />';
}
else
{
redirect(append_sid("../", true));
}
}
}else {
echo"sei già loggato";
}
?>
dove voglio che appaia il login, se loggato appare "sei già loggato" ->modificabile, ultima riga del login.include("login.php");
nelle pagine riservate a chi è loggato inserisco
provate e fatemi sapere, se funziona correttamente anche a voi lo metto in how-todefine('IN_PHPBB', true);
$phpbb_root_path = 'phpbb2/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.' . $phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if(!$userdata['session_logged_in']) {
echo"non sei loggato";
} else {
** codice della pagina **
}
in locale mi funziona al 100%
Ultima modifica di makpaolo : 29-07-2004 alle ore 09.26.36
Se smetti di imparare e evolverti sei morto dentro
Mak la pagina di Login da questo errore:
Fatal error: Call to undefined function: session_pagestart() in /membri/ut0pi4/login.php on line 6
terza riga
controlla maiuscole/minuscole/nomecartella$phpbb_root_path = 'phpbb2/';
lo stesso nella parte da inserire nelle pagine protette
Se smetti di imparare e evolverti sei morto dentro
nno ho guardato, ma a memoria mi sa che la cartella è phpBB2
in locale non avendo il case sensitive non ci faccio caso, normalmente scrivo tutto minuscolo
Se smetti di imparare e evolverti sei morto dentro
scusa, ma che modifiche hai fatto??
ho modificato un pochino il codice del login.php di phpbb per permettere l'esecuzione senza il tema del forum, modificato i redirect ...
comunque di base è bastato prendere pezzi di codice e metterli insieme
Se smetti di imparare e evolverti sei morto dentro
ehm.. il login non funziona neanche a me..... boh... io mi tengo quello che ho fatto che funziona....