- Home
- Categorie
- Coding e Sistemistica
- PHP
- Creare login
-
il campo id va messo come auto increment in modo che prenda automaticamente il numero successivo
-
Boh, non so cosa dire....ancora mi da errore...perfavore, aiutami tu...dimmi se secondo tè c'è qualche errore.
Questa è la pagina login.php:<?php
// Includo la connessione al database
require('config.php');// Se il modulo viene inviato...
if(isset($_POST['login']))
{// Dati Inviati dal modulo
$user = (isset($_POST['user'])) ? trim($_POST['user']) : ''; // 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()) {
$user = addslashes($user);
$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 user = '$user' 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');
exit;
}
// se non esiste da l'errore
else
die('Nome Utente o Password errati');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title>
</head>
<body>
<form action="" method="post">
<input name="user" type="text" id="user" value="Nome Utente" 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>Mentre questo è il database:
- phpMyAdmin SQL Dump
-- version
-- "link di php my admin"
-- Host: mysql5.netsons.org
-- Generato il: 02 Set, 2008 at 10:56 PM
-- Versione MySQL: 5.0.51
-- Versione PHP: 5.2.6-0.dotdeb.1
--
-- Database:ture70
--
--
-- Struttura della tabellautenti
CREATE TABLE
utenti
(
id
int(30) NOT NULL auto_increment,
Nome
varchar(30) NOT NULL,
Cognome
varchar(30) NOT NULL,
user
varchar(30) NOT NULL,
pass
varchar(30) NOT NULL,
mail
varchar(30) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;-- Dump dei dati per la tabella
utenti
INSERT INTO
utenti
VALUES (1, 'Salvatore', 'Di Maria', 'Amministratore', '17041991', 'mio indirizzo e-mail');Mi dice che la password o il nome utente sono sbagliati
- phpMyAdmin SQL Dump
-
la password nel database va inserita in hash md5
-
cioè??? cosa dovrei fare???
-
<?php echo md5('Di Maria'); ?>
ti restituisce l'hash della password devi mettere quello nel database
-
scusami, non prendermi per stupido ma non ho ancora capito....
-
La password non devi inserirla normalmente, perchè nello script di login la cerca cryptata quindi tu devi inserirla cryptata altrimenti da password errata...
-
Benissimo!!!!!!! Perfetto!!!! Finalmente funziona...ho levato dalla pagina login.php il pezzo che cripta la password (anche perchè è un sito personale non mi interessa molta protezione)...grazie 1000!!!!!! Sei stato molto paziente e mi hai aiutato tanto...grazie ancora....ciao!!!!
-
prego
ciao
-
hem...posso chiedervi un altra cosuccia???
Allora, vorrei creare una sezione del sito dedica solo alla mia classe.
Così ho creato nel database la tabella "classe" (era già presente la tabella "utenti")
ho creato il file config1.php (config.php esisteva già per il login degli altri utenti)
Nel file config.pHp sotto $db_name= 'ture70' ho inserito
$table= 'classe' //per farlo connettere alla tabella della classee ho inserito un solo utente nella tabella (l' utente è inserito sia nella tabella "utenti" che in quella "classe")
provando a fare il login nella sezione della mia classe anche chi è registrato SOLO nella tabella utenti (e non nella tabella "classe") viene fatto entrare...perchè???
dove sbaglio???grazie 1000 ancora una volta
-
che codice usi dopo?
-
beh...nel file config.php il codice è questo:
<?php
// avvio la sessione
session_start();
// Dati connessione al database
$db_host = 'mysql5.netsons.org'; // Host - solitamente localhost
$db_utente = 'ture70'; // Nome utente del Database
$db_password = 'sebastiano'; // Password del Database
$db_nomedb = 'ture70'; // Nome del Database
$db_table= 'classe';
// Effettua la connessione al database
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);
?>
-
bisogna controllare la query... non la connessione
-
nn ho capito cosa vuoi sapere, cmq di query ho trovato questo nel database:
id
,
Nome,
Cognome,
user,
pass,
mailSELECT * FROM
classe`
WHERE 1
LIMIT 0 , 30
-
nel codice della pagina di login ci deve essere una cosa tipo:
mysql_query("SELECT * FROM ...........");
-
$query = mysql_query("SELECT id FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");
devo cambiare utenti con classe???
-
direi proprio di si...