Ciao a tutti. Oggi pomeriggio ho creato il seguente foglio di funzioni in php
Ed ho anche creato il seguente form html
In pratica è come se la pagina si aggiornasse invece di eseguire le funzioni. So di non ho creato la funzione stampa_messaggio ma al momento, per fare le prove, non ritengo necessaria questa funzione! Dopo svariati tentativi e controlli ho deciso di chiedere a voi del forum poichè non ho trovato la soluzione! Mi dite dove sbaglio? :crying: Grazie in anticipo a tutti coloro che mi risponderanno!
PHP:
<?php
/*
SETTAGGI DEL DATABASE
*/
$host_db = 'localhost';
$user_db = 'root';
$pass_db = 'password';
$name_db = 'database';
//connessione al database
function connect_db()
{
$db_in_conn = mysql_connect($host_db,$user_db,$pass_db) or die(mysql_error());
$db_sel = mysql_select_db($db_in_conn,$db_name) or die(mysql_error());
return;
}
//Verifica campo vuoto
function campo_vuoto($string)
{
$string = trim($string);
if($string==''){
return TRUE;
}
else{
return FALSE;
}
}
//Verifichiamo se è uno username
function vero_username($username)
{
$regex = '/^[a-z0-9\.\-_]{3,30}$/i';
return preg_match($regex, $username);
}
//verifichiamo se vera email
function vera_email($email)
{
$regex = '/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/';
return preg_match($regex, $email);
}
//Verifichiamo se la password rispetta i requisiti (+8char)
function pwd_min_req($password)
{
if(strlen($password)>=8){
return TRUE;
}
else{
return FALSE;
}
}
//Verifichiamo esistenza duplice username
function duplice_username($username)
{
$query = "SELECT COUNT(username) AS count FROM users WHERE username='".mysql_real_escape_string($username)."' LIMIT 1";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
if($row['count']==1){
return TRUE;
}
else{
return FALSE;
}
}
//Verifichiamo esistenza duplice email
function duplice_email($email)
{
$query = "SELECT COUNT(email) AS count FROM users WHERE email='".mysql_real_escape_string($email)."' LIMIT 1";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
if($row['count']==1){
return TRUE;
}
else{
return FALSE;
}
}
//Metodo per criptare password
function cript_pwd($pass)
{
return sha1($pass);
}
//REGISTRAZIONE!!!!
function registazione()
{
if(isset($_POST['register']) AND //pressione pulsante
isset($_POST['username']) AND //campi inseriti
isset($_POST['email']) AND
isset($_POST['pass1']) AND
isset($_POST['pass2'])){
$username_reg = trim($_POST['username']);
$email_reg = trim($_POST['email']);
$pass_reg = trim($_POST['pass1']);
$pass_confirm_reg = trim($_POST['pass2']);
$input_are_ok = controllo_input_reg($username_reg,$email_reg,$pass_reg,$pass_confirm_reg);
//validità operazioni svolte
if($input_are_ok===TRUE){
$registro_in_db($username_reg,$email_reg,$pwd_cript_ok);
$stampa_messaggio = 10;
return TRUE;
}
}
return FALSE;
}
//procedura di controllo degli input
function controllo_input_reg($username_reg,$email_reg,$pass_reg,$pass_confirm_reg)
{
if(campo_vuoto($username_reg)){
$stampa_messaggio = 1;
return FALSE;
}
else if(campo_vuoto($email_reg)){
$stampa_messaggio = 2;
return FALSE;
}
else if(campo_vuoto($pass_reg)){
$stampa_messaggio = 3;
return FALSE;
}
else if(campo_vuoto($pass_confirm_reg)){
$stampa_messaggio = 4;
return FALSE;
}
else if(!vero_username($username_reg)){
$stampa_messaggio = 5;
return FALSE;
}
else if(!vera_email($email_reg)){
$stampa_messaggio = 6;
return FALSE;
}
else if(!pwd_min_req($pass_reg)){
$stampa_messaggio = 7;
return FALSE;
}
else if(duplice_username($username_reg)){
$stampa_messaggio = 8;
return FALSE;
}
else if(duplice_email($email_reg)){
$stampa_messaggio = 9;
return FALSE;
}
return TRUE;
}
//query registrazione nel db
function registro_in_db($username_reg,$email_reg,$pwd_cript_ok)
{
$qry_insert_reg_db = "INSERT INTO users SET nome_utente = '".mysql_real_escape_string($username_reg)."', password_utente = '".mysql_real_escape_string($pwd_cript_ok)."', email_utente = '".mysql_real_escape_string($email_reg)."', rif_data_utente = NOW()";
$res_qry_insert_reg_db = mysql_query($qry_insert_reg_db) or die(mysql_error());
return mysql_insert_id();
}
?>
HTML:
<?php
include ('lib/user_function.php');
?>
<html>
<head>
<title>Modulo di Registrazione</title>
</head>
<body>
<form method='POST'>
<b>Nome</b><br>
<input type='text' name='username'><br>
<b>Mail</b><br>
<input type='text' name='email'><br>
<b>Password</b><br>
<input type='password' name='pass1'><br>
<b>Ripeti Password</b><br>
<input type='password' name='pass2'><br>
<input type='submit' value='Registrati' name='register'><br>
</form>
</html>