Sessioni

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao! Ho fatto questo script perchè vorrei vedere nel documento.php il cognome e nome dell'utente registrato (io e i miei amici possiamo compilare medesimo modulo) e sarebbe bello vedere chi l'ha compilato.

PHP:
@session_start();
        $_SESSION["cognome_utente"] = $_POST["cognome_utente"];
        $_SESSION["nome_utente"] = $_POST["nome_utente"];
        $_SESSION["pass"] = $_POST["pass"]; 
 
if(isset($_SESSION["cognome_utente"]) && isset($_SESSION["pass"]))
     echo "Ciao " . $_SESSION["cognome_utente"] . " (Password: " . $_SESSION["pass"] . ")";

L'ho messo nel documento.php ma mi dà tutte le variabili da definire...:confused:

Grazie!
 
scusa ma il modulo richiama opportunamente tramite post il file documento.php?
 
Cavolo è vero il modulo lo devo fare :hammer:
Però anche con il modulo, come faccio a far autenticare l'utente in quella dato documento.php? non devo mettere tutto nello specifico documento php? form e session?

Grazie!
 
Dopo aver creato il file con il form ed impostato opportunamente l'action affinchè punti a documento.php evi modificare quest'ultimo afficnhè controlli username e password digititati dall'utente..
Se questi sono ok visualizza il bevento viceversa un mes di errore..

Ciro
 
Ma io il form ce l'ho già nell'autenticazione utente:

HTML:
<form action="" method="post">
 <input name="cognome_utente" type="text" id="cognome_utente" value="COGNOME" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
<input name="nome_utente" type="text" id="nome_utente" value="NOME" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
 <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
 <input name="login" type="submit" value="Login" /><br />
</form>

Ne devo fare un'altro? Come devo procedere? Ho le idee un pò confuse :confused:

Grazie!
 
Imposta l'action come segue
PHP:
<form action="documento.php" method="post">
e fai un test per verificare che venga stampato a video il messaggio di benvenuto.

Per far si che venga fatto un controllo delle credenziali, poi, modifica il file documento.php in modo che verifichi la coppia username\password.

Ciro
 
Grazie lotus :)

Metterò nell'action il documento.php...ma poi nello stesso documento.php per far vedere se le credenziali siano vere o false non devo mettere questo codice?

PHP:
@session_start(); 
        $_SESSION["cognome_utente"] = $_POST["cognome_utente"]; 
        $_SESSION["nome_utente"] = $_POST["nome_utente"]; 
        $_SESSION["pass"] = $_POST["pass"];  
  
if(isset($_SESSION["cognome_utente"]) && isset($_SESSION["pass"])) 
     echo "Ciao " . $_SESSION["cognome_utente"] . " (Password: " . $_SESSION["pass"] . ")";

Grazie!
 
perché i dati in sessione siano utilizzabili è necessario che la pagina venga ricaricata, solo allora li potrai stampare a video.
 
Se posso esserti d'aiuto c'è una discussione alla quale ho partecipato anch'io che tratta l'argomento. Vedi "Area Riservata Mysql+php"
;)
 
Ciao! Niente, non ci sono...

PHP:
<?php
// Includo la connessione al database
require('config.php');


// Se il modulo viene inviato...
if(isset($_POST['login']))
{
	
	// Dati Inviati dal modulo
	$cognome_utente = (isset($_POST['cognome_utente'])) ? trim($_POST['cognome_utente']) : '';	// Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
        $nome_utente = (isset($_POST['nome_utente'])) ? trim($_POST['nome_utente']) : '';	// Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
	$pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';	// Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
	
	// Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
	if (!get_magic_quotes_gpc()) {
        $cognome_utente = addslashes($cognome_utente);
    	$nome_utente = addslashes($nome_utente);
		$pass = addslashes($pass);
	}
	
	// Crypto la password e la confronto con quella nel database
	$pass = md5($pass);
	
	// Controllo l'utente esiste
	$query = mysql_query("SELECT id FROM utenti WHERE cognome_utente = '$cognome_utente' AND nome_utente = '$nome_utente' AND pass = '$pass' LIMIT 1");
	
	// Se ha trovato un record
	if(mysql_num_rows($query) == 1)
	{
		// prelevo l'id dal database
		$login = mysql_fetch_array($query);
		
		// Creo una variabile di sessione
		$_SESSION['login'] = $login['id'];
		
		// reindirizzo l'utente
		header('Location: privata.php?id="$id"');
		exit;
	}
	// se non esiste da l'errore
	else
		die('Nome Utente o Password errati');
}



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title>
</head>


<body>
<form action="inserimento_dati.php" method="post">
 <input name="cognome_utente" type="text" id="cognome_utente" value="COGNOME" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
<input name="nome_utente" type="text" id="nome_utente" value="NOME" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
 <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
 <input name="login" type="submit" value="Login" /><br />
</form>
</body>
</html>
Mi dà errore...

Grazie!
 
Mi pare che dopo l'ultima riga di codice:

Codice:
die('Nome Utente o Password errati');
}

manca il tag di chiusura dello script php ?>

Prova e fammi sapere:cool:
 

Discussioni simili