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>

Rispondi quotando