ciao a tutti...
ho un problema con un instruzione if che mi controlla il captcha corretto.
Funziona tutto correttamente a parte l' ultimo if dove controlla quando il captcha è uguale a false.
gli altri 2 alla fine li esegue ... come è possibile ? grazie dell' aiuto
codice:
<html>
<body>
<style>
.p_mail
{
text-align: center;
background-color: red;
font-family: sans-serif;
}
.p_password
{
text-align: center;
background-color: red;
font-family: sans-serif;
}
.p_captcha
{
text-align: center;
background-color: blue;
font-family: sans-serif;
}
</style>
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/FILE_MAGIC/connessione.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/FILE_MAGIC/stampa.php';
include_once $_SERVER['DOCUMENT_ROOT']. '/securimage/securimage.php';
function chkEmail($email)
{
// elimino spazi, "a capo" e altro alle estremità della stringa
$email = trim($email);
// se la stringa è vuota sicuramente non è una mail
if(!$email) {
return false;
}
// controllo che ci sia una sola @ nella stringa
$num_at = count(explode( '@', $email )) - 1;
if($num_at != 1) {
return false;
}
// controllo la presenza di ulteriori caratteri "pericolosi":
if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
return false;
}
// la stringa rispetta il formato classico di una mail?
if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {
return false;
}
return true;
}
if (isset($_POST['action']) AND $_POST['action'] == 'INVIA')
{
$id_passato = $_POST['id_r'];
try{
$sele_campi_regi = 'SELECT * FROM registrazione_utente WHERE id = :id_r';
$esegui = $pdo->prepare($sele_campi_regi);
$esegui->bindValue(':id_r', $_POST['id_r']);
$esegui->execute();
}
catch(PDOException $e)
{
$errore = 'Errore prelevamento dati : ' . $e->getMessage();
include 'errore.php';
exit();
}
}
if(isset($_GET['aggiungi']))
{
$email_passata = ($_POST['email']);
$password_passata = md5($_POST['password']);
$password_re_passata = md5($_POST['re_password']);
$securimage = new Securimage();
}
if ($securimage->check($_POST['ct_captcha']) === true AND chkEmail($email_passata) AND ($password_passata === $password_re_passata))
{
try{
$inserisci_regi = 'INSERT INTO registrazione_utente SET
nome = :nome,
cognome = :cognome,
user = :user,
password = :password,
email = :email';
$esegui_inserisci_regi = $pdo->prepare($inserisci_regi);
$esegui_inserisci_regi->bindValue (':nome', $_POST['nome']);
$esegui_inserisci_regi->bindValue (':cognome', $_POST['cognome']);
$esegui_inserisci_regi->bindValue (':user', $_POST['user']);
$esegui_inserisci_regi->bindValue (':password', $_POST['password']);
$esegui_inserisci_regi->bindValue (':email', $_POST['email']);
$esegui_inserisci_regi->execute();
}
catch(PDOException $e)
{
$errore = 'Errore inserimento dati : ' . $e->getMessage();
include 'errore.php';
exit();
}
try{
$id_passato_log = $_POST['id_l'];
$sele_campi_logi = 'SELECT * FROM login_utente WHERE id = :id_l';
$esegui = $pdo->prepare($sele_campi_logi);
$esegui->bindValue(':id_l', $_POST['id_l']);
$esegui->execute();
$inserisci_logi = 'INSERT INTO login_utente SET
user = :user,
password = :password';
$esegui_campi_logi = $pdo->prepare($inserisci_logi);
$esegui_campi_logi->bindValue (':user', $_POST['user']);
$esegui_campi_logi->bindValue (':password', $_POST['password']);
$esegui_campi_logi->execute();
}
catch(PDOException $e)
{
$errore = 'Errore inserimento dati : ' . $e->getMessage();
include 'errore.php';
exit();
}
header('location: registrazione_effettuata.php');
exit();
}
//effettuo il controllo sulla validita del captcha
if ($securimage->check($_POST['ct_captcha']) === false)
{
echo '<div>';
echo '<p class="p_captcha">CAPTCHA SBAGLIATO</p>';
echo '</div>';
}
//effettuo il controllo sulla validita della mail
if (!chkEmail($email_passata))
{
echo '<div>';
echo '<p class="p_mail">Email Scritta non correttamente</p>';
echo '</div>';
}
//effettuo il controllo sulla validita della password se corrisponde
if ($password_passata != $password_re_passata)
{
echo '<div>';
echo '<p class="p_password">Password Non Corrisponde</p>';
echo '</div>';
}
?>
</body>
</html>