[PHP] AutoLogin

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, ho questo autologin che mi stampa i dati solo se faccio "autologin".
Mi dite come mai?

questo è i login.php
PHP:
<?php
session_start();
require_once(dirname(__FILE__) . '/../inc.php');

	if(isset($_POST['Login']))
	{
		if($_POST['username']!='' && $_POST['password']!='')
		{
				$query = mysql_query('SELECT * FROM users WHERE Username = "'.mysql_real_escape_string($_POST['username']).'" AND Password = "'.mysql_real_escape_string(md5($_POST['password'])).'"');
			
			if(mysql_num_rows($query) == 1)
			{
				$row = mysql_fetch_assoc($query);
				if($row['Active'] == 1)
				{
					session_start();
					$_SESSION['user_id'] = $row["ID"];
					$_SESSION['username'] = $row["Username"];
					$_SESSION['password'] = $row["Password"];
					
						if(isset($_POST['autolog'])){
							setcookie('autolog','loggato',time()+864000);
							setcookie('user',$row["Username"],time()+864000);
							setcookie('user_id',$row["ID"],time()+864000);
							setcookie('pass',$row["Password"],time()+864000);
							}
					
					
					header("Location: mem.php");
				}
				else {
					$error = 'Your membership was not activated. Please open the email that we sent and click on the activation link';
				}
			}
			else {		
				$error = 'Login failed !';		
			}
		}
		else {
			$error = 'Please user both your username and password to access your account';
		}
	}
?>

<?php if(isset($error)){ echo $error;}?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
	User<input type="text" id="username" name="username" size="32" value="" />
	Pass<input type="password" id="password" name="password" size="32" value="" />
	Ricordami <input type="checkbox" name="autolog" value="1"/>
	<input type="submit" name="Login" value="Login" />
</form>

questo è il check che sta nelle pagine riservate:
PHP:
<?php
if (!isset($_SESSION['username']) && !isset($_SESSION['password']) && !isset($_SESSION["user_id"])) {
    $loggato = 0; //NON loggato
 
    }else {
        $loggato = 1;  //LOGGATO!
    }
if($_COOKIE['autolog'] == 'loggato'){
    $_SESSION['username'] = $_COOKIE['user'];
    $_SESSION['password'] = $_COOKIE['pass'];
	$_SESSION['user_id']  = $_COOKIE["user_id"];
    $loggato = 1;
    //rinfresca cookies
    $usern = $_SESSION['username'];
    $passw = $_SESSION['password'];
	$userid = $_SESSION['user_id'];
   
	setcookie('autolog','loggato',time()+864000);
	setcookie('user',$usern,time()+864000);
	setcookie('user_id',$userid,time()+864000);
	setcookie('pass',$passw,time()+864000);
					
    }
?>

e questo è l'area riservata:
PHP:
<?php
require_once(dirname(__FILE__) . '/check.php');
?>					
 <strong><?php echo $usern;?></strong>
 <strong><?php echo $userid;?></strong>
 <strong><?php echo $passw;?></strong>
Mi sapete dire come fare prenderli tutte due sia sessioni/cookie nello solito tempo.

Grazie mille.

Per favore uno che mi aiuti.

Grazie.
 

TheTrigger

Utente Attivo
3 Giu 2011
38
0
0
Non ho afferrato bene qual'è il problema.. cmq non salvare i dati dell'utente nei cookie, li devi salvarci solo un valore che sta a dire se vuoi l'autologin o meno (che sarà riconosciuto dal codice php), io avrei dato alle sessioni una lunga vita.. ma se proprio vuoi usare i cookie, devi criptarli..

Nel secondo e terzo codice che hai postato non cè il session_start(), mentre nel primo ce ne sono 2 :p
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ciao, quindi devo prendere solo username e id ? (senza la password).?

No sai perché questo lo trovato su un'altro forum e lo copiato e modificato alle mie esigenze ... solo che non so cosa devo prendere i cookie.


solo questi dici?

Ho visto anche altri esempi che usano setcookie per fare il Remember login.

Mi dici meglio come fare?

Ho vedo se era il problema dei session_start che non lo messi.

ora controllo

ciao.
grazie mille.
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ciao, ho provato ma nulla.

ora ti posto i codici modificati:
mem.php (Area riservata):
PHP:
<?php
session_start();
require_once(dirname(__FILE__) . '/check.php');
if(isset($usern)&& isset($userid) && isset($_SESSION["username"]) && isset($_SESSION["user_id"]))
{

?>
 <strong><?php echo $usern;?></strong>
 <strong><?php echo $userid;?></strong>
 <strong><?php echo $passw;?></strong>
<?php
echo $_SESSION["username"];
echo $_SESSION["user_id"];
}else{
echo "Accesso non consentito";
}
?>

login.php
PHP:
<?php
require_once(dirname(__FILE__) . '/../inc.php');

	if(isset($_POST['aggiorna']))
	{
		if($_POST['username']!='' && $_POST['password']!='')
		{
				$query = mysql_query('SELECT * FROM users WHERE Username = "'.mysql_real_escape_string($_POST['username']).'" AND Password = "'.mysql_real_escape_string(md5($_POST['password'])).'"');
			
			if(mysql_num_rows($query) == 1)
			{
				$row = mysql_fetch_assoc($query);
				if($row['Active'] == 1)
				{
					session_start();
					
					$_SESSION['user_id'] = $row["ID"];
					$_SESSION['username'] = $row["Username"];
					$_SESSION['password'] = $row["Password"];
					
						if(isset($_POST["autolog"]) == 1){
							setcookie('autolog','loggato',time()+864000);
							setcookie('user',$row["Username"],time()+864000);
							setcookie('user_id',$row["ID"],time()+864000);
							setcookie('pass',$row["Password"],time()+864000);
							}
					
					
					header("Location: mem.php");
				}
				else {
					$error = 'Your membership was not activated. Please open the email that we sent and click on the activation link';
				}
			}
			else {		
				$error = 'Login failed !';		
			}
		}
		else {
			$error = 'Please user both your username and password to access your account';
		}
	}
?>

<?php if(isset($error)){ echo $error;}?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
	User<input type="text" id="username" name="username" size="32" value="" />
	Pass<input type="password" id="password" name="password" size="32" value="" />
	Ricordami <input type="checkbox" name="autolog" value="1"/>
	<input type="submit" name="aggiorna" value="Login" />
</form>

e il check.php

PHP:
<?php
session_start();
if (!isset($_SESSION['username']) && !isset($_SESSION['password']) && !isset($_SESSION["user_id"])) {
    $loggato = 0; //NON loggato
 
    }else {
        $loggato = 1;  //LOGGATO!
    }
if($_COOKIE['autolog'] == 'loggato'){
    $_SESSION['username'] = $_COOKIE['user'];
    $_SESSION['password'] = $_COOKIE['pass'];
	$_SESSION['user_id']  = $_COOKIE["user_id"];
    $loggato = 1;
    //rinfresca cookies
    $usern = $_SESSION['username'];
    $passw = $_SESSION['password'];
	$userid = $_SESSION['user_id'];
   
	setcookie('autolog','loggato',time()+864000);
	setcookie('user',$usern,time()+864000);
	setcookie('user_id',$userid,time()+864000);
	setcookie('pass',$passw,time()+864000);
					
    }
?>

idee??

Dopo levo il cookie della password . che non so come mai quello che ha postato il codice ha messo pure il cookie della password.

L'ho trovato su altervista. ora non mi ricordo più che post era.

Mi poi dare una mano?

grazie mille.
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0

Discussioni simili