cari amici
cercando su altervista non ho trovato e non sono riuscito ha trovare quello che mi serve...
io ci ho provato molte volte ma niente
su questo ankio ho provato e ti do la soluzione ke sta anke nel mio sito (questo)
devo creare una registrazione per il mio sito se qualcuno mi puo aiutare e vi do anche i vari punti che deve rispettare
1 Nome
2 password
3 ripeti password
4 generatore di password se l'utente non sa cosa mettere
5 Email
6 Ripeti Email
7 Sito Web
8 (risposta segreta per modificare la pass se si puo fare se no niente)
9 il codice captcha
l'8 e il 9 nn te li so fare...
poi ke viene inviata l mail al utente con l indirizzo per verificare se e stato lui ad registrarsi o no per fare attivare l'account
questa si...
e un panello di controllo per l'utente per modificare il proprio profilo la pass immagine personale e altro...
invece questa no...
allora ti dico tutto, crei i seguenti files:
questo è del db:
Codice:
CREATE TABLE `utenti` (
`user_id` mediumint(8) NOT NULL auto_increment,
`username` varchar(25) NOT NULL default '',
`user_password` varchar(32) NOT NULL default '',
`user_email` varchar(255) NOT NULL default '',
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
poi config.php
Codice PHP:
<?php
// edita i parametri sottostanti
$dbms = 'mysql';
$dbhost = 'localhost';
$dbname = 'nome_database';
$dbuser = 'utente_database';
$dbpasswd = 'password_database';
// non cambiare più nulla !!
$db = mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname, $db);
?>
poi registration.php
Codice PHP:
<?
//include header.php
include('../site/header.php');
//collegamento dal database
require_once('../site/config.php');
//controlla se l'utente è già loggato
if($_SESSION['logged_in'] == 1)
{
//reindirizzamento alla home page : edita il parametro con il tuo indirizzo
header('Location: http://www.miosito.com');
}
//l'utente non è loggato
else {
//il modulo non è stato ancora inviato
if(isset($HTTP_POST_VARS['submit']))
{
//controlla dati relativi all'username
if(!$_POST['username']) die('Attenzione : il campo username è vuoto');
//array di caratteri non ammessi
$bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
'*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
'|', '{', '}', '<', '>', '?', ':', '"', '=');
//controlla lunghezza username
$len = strlen($_POST['username']);
//sostituisce caratteri non ammessi
$_POST['username'] = str_replace($bad, '', $_POST['username']);
$dato = $_POST['username'];
//se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
if(strlen($dato) != $len) {
die('Hai usato dei caratteri non validi nel campo username. Puoi usare solo lettere, numeri e il trattino basso _ !!');
}
//Controlla se l'username è già utlizzato nel database...
$q2 = mysql_query("SELECT * FROM `utenti` WHERE `username` = '".$_POST['username']."'");
$q3 = mysql_fetch_object($q2);
if($q3->username == $_POST['username']) {
die('Siamo spiacenti ma l\'username "'.$q3->username.'" è già attivo nel nostro database<br /><br />
Per favore ne scelga un altro.');
}
//controlla dati relativi alla password
if(!$_POST['password']) {
die('Errore: Il campo password risulta non compilato');
}
if(!$_POST['verify_password']) {
die('Errore: Il campo verfica password risulta non compilato');
}
if($_POST['password'] != $_POST['verify_password']) {
die('Errore: Le passwords non corrispondono.');
}
//Inserisce il nuovo membro nel database
$insert ="INSERT INTO `utenti` (username, user_password, user_email) VALUES ('".$_POST['username']."',
'".md5($_POST['password'])."', '".$_POST['email']."')";
$insert2 = mysql_query($insert);
if(!$insert2) die(mysql_error());
//Edita i parametri sottostanti con i dati relativi al tuo sito
$yoursite = 'Il tuo sito';
$webmaster = 'Il tuo nickname';
$youremail = 'La tua mail';
// Fine modifica
//Passa i dati per il login a variabili da mandare via mail all'utente
$_POST['username'] = $nome_utente;
$_POST['password'] = $tua_password;
// Edita l'oggetto e il messaggio
$subject = "Ti sei registrato con successo su $yoursite...";
$message = "Gentile $username, da adesso sei un utente registrato su $yoursite.
Per usufruire dei nostri servizi devi semplicemente inserire questi dati nel login apposito:
Username: $nome_utente
Password: $tua_password
Conserva queste informazioni o meglio ancora stampa questa mail.
Grazie infinite,
$webmaster";
// Spedisce la mail
mail($_POST['email'], $subject, $message, "From: $yoursite <$youremail>\nX-Mailer:PHP/" . phpversion());
echo('Registrazione avvenuta, Benvenuto !!!<br />
Le informazioni che ci hai fornito ti sono state spedite via mail.');
}
//il modulo non è stato ancora compilato
else {
?>
<table>
<form action="<? $_SERVER['PHP_SELF']; ?>" method="post" name="signup" id="signup">
<tr>
<td width="285">Username: <br />
(sono permessi solo lettere e numeri)<br /></td>
<td width="180"><input type="text" id ="username" name="username" value="" maxlength="30" />
<br /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" id="password" name="password" value="" maxlength="30" />
<br />
(minimo 6
caratteri)</td>
</tr>
<tr>
<td>Verifica Password:</td>
<td><input type="password" id="verify_password" name="verify_password" value="" maxlength="30" />
<br />
</td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" id="email" name="email" value="" size="30" />
<br /></td>
</tr>
<tr>
<td>Invia il modulo per completare la registrazione</td>
<td><input type="submit" id="submit" name="submit" value="Invia" /></td>
</tr>
</form>
</table>
<?
} //fine utente non loggato
} //fine modulo non inviato
?>
poi header.php
Codice PHP:
<?
//edita i parametri con i tuoi dati
//none cookies
$nome_cookie = "login_cookie";
//tempo scadenza cookie espresso in secondi
$scadenza = 3600;
//percorso del cookie, di default valido per tutte le cartelle del sito
$percorso = '/' ;
//dominio del cookie, rispettare la forma espressa nell'esempio
$dominio = '.tuodominio.com';
//non modificare più nulla
//invia dati al buffering
ob_start();
//apre sessione
session_start();
//connessione database
require_once('config.php');
//controlla cookies se non siamo loggati
if ($_SESSION['logged_in'] != 1 && isset($_COOKIE['login_cookie']))
//preleva username e password dal cookies
{
list($user, $pass) = explode('[]', $_COOKIE['login_cookie']);
//preleva username e password dal database
$qu = mysql_query("SELECT `user_password` FROM `utenti` WHERE `username` = '".addslashes($user)."'");
if (mysql_num_rows($qu) == 1) {
$passw = mysql_fetch_object($qu);
//confronta i due dati
if ($passw->user_password == $pass)
//se i dati coincidono apre la sessione utente
{
$_SESSION['logged_in'] = 1;
$_SESSION['username'] = $user;
$_SESSION['password'] = $pass;
$username = $_SESSION['username'];
}
}
}
//non siamo loggati -> modalità ospite
if(!isset($_SESSION['username']) && !isset($_SESSION['password'])) {
$_SESSION['logged_in'] = 0;
$username = "Guest";
}
?>