Bonjour à tous,
Je suis débutant en php et j'essaie de contrôler les données fournies par un formulaire et tout spécialement le numéro de téléphone avant enregistrement dans la bdd.
Malheureusement, je constate qu'il enregistre les numéros valides mais également invalides. Une âme généreuse et indulgente pourrait-il consulter mon code et m'indiquer par exemple si le numtel n'est pas valide que faut-il faire et où insérer ?
Sincères remerciements
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <p> <?php if (isset($_POST['numtel'])) { $_POST['numtel'] = htmlspecialchars($_POST['numtel']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer if (preg_match("#^0[1-68]([-. ]?[0-9]{2}){4}$#", $_POST['numtel'])) { echo 'Le ' . $_POST['numtel'] . ' est un numéro <strong>valide</strong> !'; } else { echo 'Le ' . $_POST['numtel'] . ' n\'est pas valide, recommencez !'; } } ?> <form method="post"> <p> <label for="nom">Votre nom ?</label> <input id="nom" name="nom" /><br /> <label for="prenom">Votre prenom ?</label> <input id="prenom" name="prenom" /><br /> <label for="numtel">Votre téléphone ?</label> <input id="numtel" name="numtel" /><br /> <input type="submit" value="Envoyer" /> </p> </form> <?php // Connexion à la base de données try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options); // Insertion du message à l'aide d'une requête préparée $req = $bdd->prepare('INSERT INTO numtel (nom, prenom, numtel) VALUES(?, ?, ?)'); $req->execute(array($_POST['nom'], $_POST['prenom'], $_POST['numtel'])); // Redirection du visiteur vers la page du minichat //* header('Location: CodePHPTelephone.php');*// } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?>
Claudine
Partager