Buona giornata a tutti i membri del forum.
Stò cercando di realizzare un login ad una pagina in cui compaiano i dati che un utente ha immesso nella tabella iscrittii, in modo tale da permettergli di cambiare dei dati se ha commesso delle imprecisioni nello scriverle, esempio (il numero civico o una lettera sbagliata nella digitazione del cognome) e alla fine riesca a fare il logout.
Ho scaricato uno script di login da internet e vorrei adattarlo alle mie esigenze, ma non sò come fare a recuperare i dati dal DB una volta che avviene il login e come fare il logout.
Grazie
NEkE il principiante
di seguito il file scaricato:
<?php
$host = 'localhost';
$user = 'root';
$password = 'root';
$database = 'genitori';
// questa var inserire nel select $crypt_pass = md5($pass);
//check it the username exist/
$db = @mysql_connect($host, $user, $password);
if (!$db) {
die ('Non riesco a connettermi: ' . mysql_error());
}
$db_selected = mysql_select_db($database, $db);
if (!$db_selected) {
die ("Errore nella selezione del database: " . mysql_error());
}
if($_POST) {
effettua_login();
} else {
mostra_form();
}
function mostra_form()
{
// mostro un eventuale messaggio
if(isset($_GET['msg'])) {
echo ''.htmlentities($_GET['msg']).'
';
}
?>
<form name="form_login" method="post" action="">
<label>nome: <input name="nome" type="text" value="" /></label>
<label>password: <input name="password" type="password" value="" /></label>
<input name="invia" type="submit" value="Invia" />
</form>
<?
}
function effettua_login()
{
// recupero il nome e la password inseriti dall'utente
$nome = trim($_POST['nome']);
$password = trim($_POST['password']);
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
if(get_magic_quotes_gpc()) {
$nome = stripslashes($nome);
$password = stripslashes($password);
}
// verifico la presenza dei campi obbligatori
if(!$nome || !$password) {
$messaggio = urlencode("Username o Password non inseriti");
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
exit;
}
// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
$nome = mysql_real_escape_string($nome);
$password = mysql_real_escape_string($password);
// preparo ed invio la query
$query = "SELECT id FROM utenti WHERE username = '$nome' AND passwor = '$password'";
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
$record = mysql_fetch_array($result);
if(!$record) {
$messaggio = urlencode('Nome utente o password errati');
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
} else {
session_start();
$_SESSION['user_id'] = $record['id'];
$messaggio = urlencode('Login avvenuto con successo');
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
}
}
?>