Ciau , ho creato un semplice script php per il login degli utenti , la registrazione e il logout , purtroppo non mi crea gli utenti che si registrano ^_^
Posto qui il codice :
install.php
Codice PHP:
<?
include("inc/config.inc.php");
mysql_query("DROP TABLE IF EXISTS `utenti`;") or die("Errore durante la creazione della tabella");
mysql_query("CREATE TABLE `utenti` (
`id` int(5) unsigned NOT NULL auto_increment,
`utente` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;") or die("Errore durante la creazione della tabella");
mysql_query("INSERT INTO `utenti` VALUES (1, 'admin', 'admin', 'email@sito.it');") or die("Errore durante la creazione della tabella");
echo "Tabella creata con successo!";
?>
login.inc.php
Codice PHP:
<?
session_start(); // apro le sessioni
include("inc/config.inc.php"); // includo il file di connessione al Database
?>
<?
function check($user,$password){
$user = addslashes($user); // controllo e (e ci sono) cambio le " in \"
$password = addslashes($password); // controllo e (e ci sono) cambio le " in \"
$r = mysql_query("SELECT * FROM utenti WHERE utente = '$user' AND password = '$password'"); //seleziono dalla tabella utenti l'user e la password
$n = mysql_num_rows($r);
if (!($n)){
return false;
}else{
return true;
}
}
function form_login(){ // eseguo la funzione che stamperà a video il form
?>
<form name="form1" method="post" action="">
<div align="center">LOGIN<br>
<br>
Nome :
<input name="utente" type="text" id="utente" size="15">
<br>
Password :
<input name="password" type="password" id="password" size="15">
<br>
<input type="submit" name="Submit" value="Invia">
<input name="Pulsante" type="button" onClick="location.href='registrazione.inc.php'" value="Registrati">
</div>
</form>
<? }
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"])){
$_SESSION["utente"] = $_POST["utente"]; // scrivo nelle sessioni l'user
$_SESSION["password"] = $_POST["password"]; // scrivo nelle sessioni la password
echo "ora sei loggato!";
echo "<meta http-equiv=\"refresh\" content=\"1;url=pagina_protetta.php\">"; // reindirizzo verso la pagina protetta
}else{
form_login();
}
}else{
form_login();
}
?>
registrazione.inc.php
Codice PHP:
<form name="form1" method="post" action="registrazione2.inc.php">
<div align="center">REGISTRAZIONE<br>
<br>
Nome :
<input name="utente" type="text" id="utente" size="15">
<br>
Password :
<input name="password" type="password" id="password" size="15">
<br>
E-Mail :
<input name="email" type="text" id="email" size="15">
<br>
<input name="Invia" type="submit" value="Registrati">
</div>
</form>
registrazione2.inc.php
Codice PHP:
<?
include "inc/config.inc.php";
$utente = $_POST['utente'];
$passwordword = $_POST['password'];
$email = $_POST['email'];
$utente = stripslashes($utente);
$password = stripslashes($password);
$email = stripslashes($email);
if((!$utente) || (!$email) || (!$password)){
echo 'Non hai inserito tutte le informazioni richieste nel modulo di registrazione! <br />';
if(!$utente){
echo "Inserisci il utente come richiesto nel modulo di registrazione!<br />";
}
if(!$email){
echo "Inserisci l'email come richiesto nel modulo di registrazione!.<br />";
}
include 'registrazione.php';
exit();
}
$sql_email_check = mysql_query("SELECT email FROM utenti WHERE email='$email'");
$sql_username_check = mysql_query("SELECT utente FROM utenti WHERE utente='$utente'");
$email_check = mysql_num_rows($sql_email_check);
$username_check = mysql_num_rows($sql_username_check);
if(($email_check > 0) || ($username_check > 0)){
echo "Correggi i seguenti errori: <br />";
if($email_check > 0){
echo "<strong>Cambia email, il tuo indirizzo è gia in uso!<br />";
unset($email_address);
}
if($username_check > 0){
echo "Cambia utente, il utente scelto è già in uso!<br />";
unset($username);
}
include 'registrazione.php';
exit();
}
$MySql = "INSERT INTO utenti (utente,passwordword,email) VALUES ('".$utente."','".$password."','".$email."')";
$Result = mysql_query($MySql);
$subject = "Registrazione avvenuta su $nomesito";
$message = "Lo staff di $nomesito informa $utente dell'avvenuta registrazione,
di seguito vi inviamo i dati con cui effettuare il login nel nostro sito:
Username: $utente
Password: $password
Lo staff inoltre prega di conservare questi dati in un luogo sicuro e di tenerli privati.
Grazie!
QUESTA E' un'email AUTOMATICA, NON RISPONDERE!";
mail($email, $subject, $message, "From: $nomesito \nX-emailer: PHP/" . phpversion());
echo 'I dati da lei immessi sono stati inviati alla sua casella postale con successo!';
include("login.inc.php");
echo "<meta http-equiv=\"refresh\" content=\"3;url=login.inc.php\">";
?>
config.inc.php
Codice PHP:
<?
//Dati di connessione al database
$db_host = "localhost"; //host del database
$db_user = "root"; //username del database
$db_password = ""; //password del database
$db_name = "prova"; //nome del database
//Connessione al database
$connessione = @mysql_connect($db_host,$db_user,$db_password)
or die
("Non è possibile connettersi!!!");
$db = @mysql_select_db($db_name,$connessione);
$nomesito = "topogigio" // nome del sito
?>
pagina_protetta.php
Codice PHP:
<?
session_start();
if(!isset($_SESSION["utente"])){
echo "Ciao <strong>Anonimo , NON sei connesso!</strong></div>" ;
}else{
echo "ciao $utente";
}
?>
logout.php
Codice PHP:
<?php
// Inizializza la sessione.
// Se state usando session_name("qualcosa"), non dimenticatevelo adesso!
session_start();
// Resetta tutte le variabili di sessione.
session_unset();
// Infine , distrugge la sessione.
session_destroy();
include("login.inc.php");
?>
Grazie a chiunque mi aiuti , il mio vero problma è che la sintassi è corretta e che non da errori di per sè , solo non crea gli utenti ^_^