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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
<?php
require_once("inc_connexion.php");
$conn=opendb_conn(); // on se connecte à la Base de données
/* script permettant l'insertion d'un producteur en Base, ce script ne vérifie pas que le login est dejà présent.
L'identifiant saisie dans le formulaire d'adhésion correspond à la première lettre du prénom suivi du nom
de famille, le tout attenant. Cet identifiant sera le login inséré en Base
Il faudra envoyer un mail au producteur inscrit afin de lui communiquer son login et son password après validation
de l'unicité du login en base.
*/
if(isset($_POST['submit'])) {
// variables correspondant aux champs présents en base
// utilisation de l'opérateur ternaire ?: pour assigner la variable $login de la valeur du champ identifiant du formulaire
$login = (isset($_POST['login']))?$_POST['login']:'';
$login=htmlentities(trim($login));
$password = (isset($_POST['password']))?$_POST['password']:'';
$password = sha1($password);
$nom = (isset($_POST['nom']))?$_POST['nom']:'';
$nom = htmlspecialchars($_POST['nom']);// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$prenom = (isset($_POST['prenom']))?$_POST['prenom']:'';
$prenom = htmlspecialchars($_POST['prenom']);// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$langue = (isset($_POST['langue']))?$_POST['langue']:'';
// vérification du contenu du champ téléphone
$telephone = (isset($_POST['telephone']))?$_POST['telephone']:'';
$telephone = htmlspecialchars($_POST['telephone']);// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$fax = (isset($_POST['fax']))?$_POST['fax']:'';
$fax = htmlspecialchars($_POST['fax']);// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$site = (isset($_POST['site']))?$_POST['site']:'';
$email = (isset($_POST['email']))?$_POST['email']:'';
$email = htmlspecialchars($_POST['email']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
$propriete = (isset($_POST['propriete']))?$_POST['propriete']:'';
$adresse = (isset($_POST['adresse']))?$_POST['adresse']:'';
$cp = (isset($_POST['cp']))?$_POST['cp']:'';
$region = (isset($_POST['region']))?$_POST['region']:'';
$appellation = (isset($_POST['appellation']))?$_POST['appellation']:'';
$appellation = htmlspecialchars($_POST['appellation']);// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$pays = (isset($_POST['pays']))?$_POST['pays']:'';
// requête pour l'insertion du producteur en base
$req =
"insert into producteurs
values(null,:login,:password,:nom,:prenom,:langue,:telephone,:fax,:site,:email,:propriete,:adresse,:cp,:region,:appellation,:pays,CURDATE())";
// on prépare le traitement de la requête
$stm=$conn->prepare($req);
// Tentative d'insertion en base d'un nouveau producteur en utilisant le mode transactionnel
// bloc try ... catch()
try {
$conn->beginTransaction();
// on associe les marqueurs nommés avec les variables crées plus haut
$stm->bindParam(':login', $login, PDO::PARAM_STR);
$stm->bindParam(':password', $password, PDO::PARAM_STR);
$stm->bindParam(':nom', $nom, PDO::PARAM_STR);
$stm->bindParam(':prenom', $prenom, PDO::PARAM_STR);
$stm->bindParam(':langue', $langue, PDO::PARAM_STR, 2);
$stm->bindParam(':telephone', $telephone, PDO::PARAM_STR);
$stm->bindParam(':fax', $fax, PDO::PARAM_STR);
$stm->bindParam(':site', $site, PDO::PARAM_STR);
$stm->bindParam(':email', $email, PDO::PARAM_STR);
$stm->bindParam(':propriete', $propriete, PDO::PARAM_STR);
$stm->bindParam(':adresse', $adresse, PDO::PARAM_STR);
$stm->bindParam(':cp', $cp, PDO::PARAM_STR,5);
$stm->bindParam(':region', $region, PDO::PARAM_STR);
$stm->bindParam(':appellation', $appellation, PDO::PARAM_STR);
$stm->bindParam(':pays', $pays, PDO::PARAM_STR);
// exécution de la requête
$stm->execute();
// on commit
$conn->commit();
$stm->closeCursor();
print '<div style="color:green">Vous êtes enregistré ... </div>';
header( "refresh:3;url=http://localhost/index.php" );
}catch(PDOException $e) {
// on rollback si cela se passe mal
$conn->rollback();
// on affiche un message d'erreur
print "Erreur lors de l'insertion en base !: " . $e->getMessage() . "</br>";
}
} //if
?> |
Partager