-
creare il file di log-in
io ho creato un sistema in php per registrare gli utenti ho creato il file parte1utenti.php
Codice:
<doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!--tuttosultennis@copyright 2008//-->
<head>
<title>Iscriviti al mio sito!</title>
</head>
<body>
Iscriviti al mio sito, cosi potrai accedere alle aree riservate. La procedura è semplice: compila il modulo sottostante. Ti ricordo che i campi segnati con l'asterisco (*) sono obbligatori.
<form name="modulo" action="parte_2_utenti.php" method="post">
<table>
<tr><td>Scegli un username*:</td><td><input type="text" name="ob_username" size="12" maxlength="12"></td></tr>
<tr><td>Scegli una password*:</td><td><input type="password" name="ob_password" size="12" maxlength="12"></td></tr>
<tr><td>Nome:</td><td><input type="text" name="nome" size="20" maxlength="30"></td></tr>
<tr><td>Cognome:</td><td><input type="text" name="cognome" size="20" maxlength="30"></td></tr>
<tr><td>Indirizzo:</td><td><input type="text" name="indirizzo" size="40" maxlength="200"></td></tr>
<tr><td>Città:</td><td><input type="text" name="citta" size="40" maxlength="100"></td></tr>
<tr><td>Email*:</td><td><input type="text" name="ob_indirizzo_email" size="40" maxlength="100"></td></tr>
<tr><td>Data di nascita:</td><td>
<select name="giorno">
<?php
/**
*
*
* @version php5.0 $Id$
*tuttosultennis@copyright 2008
*/
for ($i=1;$i<32;$i++){
echo "<option value=\"$i\">$i</option>\n";
}
?>
</select>
<select name="mese">
<?php
/**
*
*
* @version php5.0 $Id$
*tuttosultennis@copyright 2008
*/
for ($i=1;$i<13;$i++){
echo "<option value=\"$i\">$i</option>\n";
}
?>
</select>
<select name="anno">
<?php
/**
*
*
* @version php5.0 $Id$
*tuttosultennis@copyright 2008
*/
for ($i=1920;$i<2015;$i++){
echo "<option value=\"$i\">$i</option>\n";
}
?>
</select>
</td></tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="iscriviti!" name="invio">
</tr>
</table>
</form>
</body>
</html>
e il file parte_2_utenti.php
Codice:
<?php
$connessione=mysql_connect("localhost", "tuttosultennis", "*******");
$selezione_db=mysql_select_db("my_tuttosultennis", $connessione);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--copyrigt2008 by tuttosultenns //-->
<html>
<head>
<title>iscrizione in corso...</title>
</head>
<body>
<?php
$flag_controllo=0;
while(list($chiave, $valore)=each($_POST)){
if(substr($chiave,0,3)=="ob_"){
if($valore ==""){
echo "non hai compilato il campo obbligatorio $chiave, l'iscrizione non può essere processata.";
$flag_controllo=1;
break;
}
}
}
if($flag_controllo==0){
$stringa_query="insert into u (a,b,c,d,e,f) values(\"$_POST[ob_username]\",\"$_POST[ob_password]\",\"$_POST[nome]\",\"$_POST[ob_indirizzo_email]\",\"$data_nascita\",now())";
$iscrizione_utente=mysql_query($stringa_query) or die(mysql_error());
echo: " iscrizione avvenuta con successo";
}
?>
vorrei sapere come posso creare il log-in ec come posso se log-in effettuato scrivere in alto alla pagina benvenuto nomeutente
-
Per-piacere puoi-scrivere login, senza il trattino:)
Dato che sembra tu sappia usare un po' di php e mysql:
1- form per il login (campo nome+password)
2- form per la registrazione (campo nome+password + quelli che vuoi)
3- pagina di collegamento al database che all'invio della registrazione prenda i dati e li 'scriva' su database
3- pagina di login che dopo l'invio del form login controlli nel database se esiste l'utente e che la password sia giusta, dopodiche setta una sessione con il nome utente e con la variabile di login effettuato
4- nelle pagine che vuoi metti un controllo (semplice IF) per vedere se è collegato, in caso positivo stampi a video il nome utente precedentemente registrato nel login in una sessione.
Per il resto il forum è pieno zeppo di esempi e domande simili alla tua:D
Ho voluto farti una panoramica anche se vedo che hai già scritto alcune righe di codice...
[simpatia=on] Se hai dubbi qui debug ha dato un'ottima spiegazione su come creare un login: http://forum.it.altervista.org/php-m...-di-login.html [simpatia=off]
-
i punti fino alla 3 ci sono gia nelle pagina che sopra ti ho fatto vedere pero non so come fare a far controllare al database (punto 3)
-
Scrolli il database e controlli se user e password sono uguali a quelle da te immesse:
Esempio:
Codice PHP:
$check = mysql_query("SELECT * FROM utenti WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($password!= $info['password'])
{
// non accettato
}
else
{
// accettato
}
O come dicono qua sotto, è più veloce e molto meglio :-P
Purtroppo la stanchezza non risparmia nessuno... neanche me!
-
Potresti sostituire la query con qualcosa del tipo:
Codice PHP:
"SELECT * FROM utenti WHERE username = '" . $username . "' AND password = '" . md5($password) . "'"
Ovviamente quando un utente si registra la password la salverai criptata nel database.
In questo modo eviti di confrontare molti record del database.
Fai attenzione a filtrare $username onde evitare sql injection.:wink:
Ciao
-
hey tuttosultennis non mettere la password altrimenti alcuni utenti potrebbero anke cancellare il sito oppure rubare il tuo lavoro!
-
allora, quando slavi la password dopo la registrazione fai in moo di salvarla in md5 o sha1, questa opzione è possibile in php o mysql
poi quando fai la pagina di login fai un qualcosa del genere:
crea la pagina login.html e scrivici:
Codice HTML:
<html>
<head>
...
</head>
<body>
<form action="check.php" method="POST">
username: <input name="username"><br>
password: <input type="password" name="password"><br>
<input type="submit" value="accedi!">
</form>
</body>
</html>
poi crei la pagina check.php e ci srivi dentro:
Codice PHP:
<?php
$username = htmlspecialchars($_POST['username']); // consiglio htmlspecialchars o rischi ti manomettano poi la query
$password = md5($_POST['password']);
$conn = mysql_connect(...);
mysql_select_db(...);
$sql = "SELECT * FROM tabella WHERE username='" . $username . "' AND password='" . $password . "';";
$result = mysql_query($sql);
// se vuoi proprio essere sicuro fai così:
$row = mysql_fetch_assoc($result);
if ($username = $row['username'] AND $password = $row['password']) {
// setta la sessione
$_SESSION['username'] = $username;
$_SESSION['password'] = $password; // la password è criptata
echo 'login riuscito<br>complimenti';
}
else {
echo 'qualcosa è andato storto<br>riprova';
}
// se non ti interessa così tanta sicurezza:
if ($result) {
// setta la sessione
$_SESSION['username'] = $username;
$_SESSION['password'] = $password; // la password è criptata
echo 'login riuscito<br>complimenti';
}
else {
echo 'qualcosa è andato storto<br>riprova';
}
}
ora ti consiglio una funzione del tipo:
Codice PHP:
function is_logged() {
if (isset($_SESSION['username']) AND isset($_SESSION['passord']) {
return TRUE;
}
else {
return FALSE;
}
}
e la potrai richiamare così:
Codice PHP:
<?php
include 'funzione.php';
if (is_logged()) {
echo 'bentornato ' . $_SESSION['user'];
}
else {
echo 'non hai ancora fatto il login oppure non ti sei registrato';
}
io uso questi codici per le mie pagine. se non hai ancora capito qualcosa posta pure, se vuoi anche la funzione che memorizzi il cookie basta che chiedi
bene
ciao
lol.21