<?php if($machin) echo 'truc'; else echo 'bidule'; ?>
<?php if($machin) echo 'truc'; echo 'trucmuche'; // n'est plus dans la condition if() else // 1 else alors que l'on est plus dans une condition if() => plantage echo 'bidule'; ?>
<?php if (isset($_POST['email'])) { $email = $_POST['email']; $point = strpos($email, "."); $aroba = strpos($email, "@"); } else $email = ""; //... ?>
<?php //http://dev.obliquid.com/manual/snip_email.html /** Checks is the provided email address is formally valid * @param string $email email address to be checked * @return true if the email is valid, false otherwise */ function checkEmail($email) { $regexp="/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i"; if ( !preg_match($regexp, $email) ) { return false; } return true; } $err=array(); $email=null; if(isset($_POST['email'])){ $email=$_POST['email']; $point=strpos($email,"."); $aroba=strpos($email,"@"); if(empty($_POST['email'])){ $err[]="Il y a un champs vide remplissez le"; } elseif(empty($point)){ $err[]="Votre email doit comporter un point"; } elseif(empty($aroba)){ $err[]="Votre email doit comporter un '@'"; } elseif(!checkEmail($email)){ //false $err[]="Votre email est au mauvais format"; } else{ } }else{ //rien de poste } //////////////////////////////////////////////////////////////////////////////// /*phase 2*/ if(count($err)>0){ /*affichage des erreurs*/ foreach($err as $er => $e){ echo $e.' '; } }else{ // connexion à la base $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('test',$db) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql //$sql = "INSERT INTO compte(id,email) VALUES('','$email')"; // on insère les informations du formulaire dans la table //mysql_query($sql) or die('Erreur SQL !'.$sql.' '.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; mysql_close(); // on ferme la connexion } ?> <form action="" method="post"> "> </form>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php if (!isset($_POST['email']) || false === $email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { echo 'Email invalide'; } else { echo 'ok'; $sql = "INSERT INTO compte(id,email) VALUES('','$email')"; // ... traitement SQL } ?>
parse error:syntax eroor,unexpected T_BOOLEAN_OR in ...on line 2
mais si jai un mot de passe a root pk se ne serais pas securitaire et quelqun peut t'il recuperer les donner de ma base donner ou traffiquer les .php ou les .html
Renseigne toi sur les fonctions mysql_real_escape_string() ou mieux, PDO
or die('Erreur de connexion '.mysql_error());
Sans accolades seule la ligne qui suit l'instruction if ou else est prise en compte.
Tu as plus d'une ligne dans le if() => tu dois mettre des accolades
<?php if($machin) // la ligne suivante contient 2 instructions, seule la première dépend // du if(), le else générera une erreur echo 'truc';echo 'trucmuche'; else // 1 else alors que l'on est plus dans une condition if() => plantage echo 'bidule'; ?>
Une méthode on ne peut plus simple et fiable :
filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)
Désolé mais non. Cette focntion est bien pratique... mais pas du totu conforme aux RFC !
Il y a pas mal de cas d'email possible qu'elle refuse alors qu'ils sont parfaitement valides.
C'est libre et gratuit, donc pourquoi se priver de l'utiliser ?
Chacun voit midi à sa porte et j'imagine que chacun à sa propre idée sur la question.
Il est impossible de vérifier la validité d'une adresse mail sans la tester en réel (envoi, ...)
Le jour, proche il me semble, où il faudra gérer à l'aide de regex, des mails chinois, arabes, etc ... euh, ... pas glop
<?php if(!filter_var($email=$_POST['email'], FILTER_VALIDATE_EMAIL)) { echo "E-mail is not valid"; } else { echo "E-mail is valid"; // connexion à la base $db = mysql_connect('localhost', 'root', '537966') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('w4e',$db) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $sql = "INSERT INTO compte(id,email) VALUES('','$email')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.' '.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; mysql_close(); // on ferme la connexion } ?>
voici a quoi ressemble le code mais jai pas compris encore pour mysql_real_escape_string si quelqun peut mexpliquer ou le placer
INSERT INTO compte(id,email) VALUES('','toto@example.org')
INSERT INTO compte(id,email) VALUES('','toto'titi@example.org')
INSERT INTO compte(id,email) VALUES('','toto\'titi@example.org')
$email = mysql_real_escape_string($email);
<?php if(!filter_var($email=$_POST['email'], FILTER_VALIDATE_EMAIL)) { echo "E-mail is not valid"; } else { echo "E-mail is valid"; // connexion à la base $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('w4e',$db) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $sql = "INSERT INTO compte(id,email) VALUES('','$email')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.' '.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; mysql_close(); // on ferme la connexion } ?>
<?php if(!filter_var($email=$_POST['email'], FILTER_VALIDATE_EMAIL)) { echo "E-mail is not valid"; } else { echo "E-mail is valid"; // connexion à la base $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('w4e',$db) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $email=mysql_real_string($email); $sql = "INSERT INTO compte(id,email) VALUES('','$email')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.' '.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; mysql_close(); // on ferme la connexion } ?>