PDA

View Full Version : [PHP]Qualcuno mi aiuta per il login??


$te
04-08-2008, 10:44
Salve..dopo aver perso giorni nel cercare di fare un login decente per la mia pagina web, e dopo aver chiesto piu volte (su qeusto forum) un aiuto sul mio codice, mi domando se qualcuno non puo gentilmente postarmi uno script in php per il login, con la possibilità del "ricordami".

Grazie mille

tomminno
04-08-2008, 12:18
Salve..dopo aver perso giorni nel cercare di fare un login decente per la mia pagina web, e dopo aver chiesto piu volte (su qeusto forum) un aiuto sul mio codice, mi domando se qualcuno non puo gentilmente postarmi uno script in php per il login, con la possibilità del "ricordami".

Grazie mille

Cosa c'è che non va in quelli che hai trovato?
Cosa c'è che non va in quello che hai scritto?
Di script di login ne puoi fare a centinaia.

Scusa ma non ricordo di aver letto i post precedenti.

$te
04-08-2008, 12:35
Cosa c'è che non va in quelli che hai trovato?
Cosa c'è che non va in quello che hai scritto?
Di script di login ne puoi fare a centinaia.

Scusa ma non ricordo di aver letto i post precedenti.

http://www.hwupgrade.it/forum/showthread.php?t=1785450

http://www.hwupgrade.it/forum/showthread.php?t=1783264

Comunque ora il problema é questo:
ho la mia pag web, in cui a destra ho un link "login", che reindirizza su login.php. Li posso effettuare il login senza problemi.
Pero vorrei avere il loginform gia nella home, ma facendo un include o un require del login.php, mi da il solito e insopportabile errore (dopo che effettuo il login):
Warning: headers already sent by (output started ...

su internet mi dicono varie cose: elimina gli spazi (fatto, a meno che un commento sia uguale ad uno spazio), metti start_session() (fatto..mi da errore di start_session)

Dimmi che sai la soluzione:D

tomminno
04-08-2008, 13:06
Ma la pagina login.php genera un codice html completo?
Per includere correttamente (senza usare iframe) login.php non deve generare i tag html header e body.

$te
04-08-2008, 13:37
la pag login fa questo:

<?php $LOGIN_INFORMATION = array(
'bravo' => 'bravo',
);
define('USE_USERNAME', true);
if(isset($_GET['code'])) {
die('<center><font face="Verdana" size="2">Include following code into every page you would like to protect, at the very beginning (first line):<br><br><strong>&lt;?php include("' . __FILE__ . '"); ?&gt;</strong></center></font>');
}
if(isset($_GET['logout'])) {
setcookie("verify", ''); // clear password;
die('<center><font face="Verdana" size="2">Logged out.</font></center>');
}
if(!function_exists('showLoginPasswordProtect')) {
function showLoginPasswordProtect($error_msg) {
?><!-- And this is the output -->
<style>
* {
font-family:Verdana;
font-size:12px;
}
a {
color: #000000;
text-decoration: none;
}

a:hover {
color: red;
text-decoration: none;
}

input {
border: 1px solid black;
background-color: #FFFFFF;
}
.bodyform {
border-color: #000000;
border-style:solid;
border-width: 3px;

}
.title {
color: #FFFFFF;
background: #000000;
padding: 5px;

}
</style>
<? echo'
<center><br /><br />
<div class="bodyform" align="center">
<form method="post">
<div class="title">
<strong>Access restricted - Login Below:</strong>
</div>
<div style="padding-right:10px;padding-left:10px;">
<font color="red"><strong>'.$error_msg.'<strong></font><br /><br />';
if (USE_USERNAME) echo '<table>
<tr>
<td align="left">Login:</td>
<td align="right"><input type="input" name="access_login" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="access_password" /></td>
</tr>
</table>
<p></p>
<input type="submit" name="Submit" value="Submit" />
</form>
</div>
</div>
<br /> </center>';

die();
}
}
if (isset($_POST['access_password']))
{
$login = isset($_POST['access_login']) ? $_POST['access_login'] : '';
$pass = $_POST['access_password'];
if (!USE_USERNAME && !in_array($pass, $LOGIN_INFORMATION)
|| (USE_USERNAME && ( !array_key_exists($login, $LOGIN_INFORMATION) || $LOGIN_INFORMATION[$login] != $pass ) )
)
{
showLoginPasswordProtect("Incorrect password.");
}
else
{
setcookie("verify", md5($pass));
setcookie("cook", 111, time()+43200);
unset($_POST['access_login']);
unset($_POST['access_password']);
unset($_POST['Submit']);
}
}
else
{
if (!isset($_COOKIE['verify']))
{
showLoginPasswordProtect("");
}
$found = false;
foreach($LOGIN_INFORMATION as $kay=>$val)
{
if ($_COOKIE['verify'] == md5($val))
{
$found = true;
break;
}
if ($_COOKIE['cook'] == 111)
{
$found = true;
break;
}
}
if (!$found)
{
showLoginPasswordProtect("");
}
}
?>

k8__
04-08-2008, 14:45
http://www.hwupgrade.it/forum/showthread.php?t=1785450

http://www.hwupgrade.it/forum/showthread.php?t=1783264

Comunque ora il problema é questo:
ho la mia pag web, in cui a destra ho un link "login", che reindirizza su login.php. Li posso effettuare il login senza problemi.
Pero vorrei avere il loginform gia nella home, ma facendo un include o un require del login.php, mi da il solito e insopportabile errore (dopo che effettuo il login):
Warning: headers already sent by (output started ...

su internet mi dicono varie cose: elimina gli spazi (fatto, a meno che un commento sia uguale ad uno spazio), metti start_session() (fatto..mi da errore di start_session)

Dimmi che sai la soluzione:D
Per risolvere il problema della funzione header()
ti consiglio di leggere questo mio piccolo nuovo howto:
http://howto.big-bug.net/art/Php/Risolvere-problemi-con-la-funzione-header-di-php/40/

Ciao, fammi sapere:)

$te
04-08-2008, 16:04
ma dove metto l'inizio e la fine nel codice che ti ho postato?
perche io nella index metto un require_once login.php
pero nella login.php dove metto l'ob_start e l'end?

$te
04-08-2008, 22:17
:mc: :mc: :mc:

$te
05-08-2008, 23:45
proprio niente????

k8__
06-08-2008, 04:15
proprio niente????

Mettilo nell'index.php,ad inizio, e dopo header() nel login.php

k8__
06-08-2008, 04:16
proprio niente????

Mettilo nell'index.php,ad inizio, e dopo header() nel login.php