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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| <?php
if (!session_id()) session_start();//déclare l'ouverture d'une session si aucune n'a été déclarée auparavant.
if (isset($_POST['envoyer'])) {
function Verif_magicquotes ($chaine){ // fonction qui applique stripslashes si get_magic_quotes_gpc() est activé
if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
return $chaine;
}
$message = array();// Pour enregistrer les messages d'information
$_SESSION['post_form']['message'] =& $message;// avec & on assigne $message à $_SESSION['post_form']['message'] c.a.d. tout changement dans $message sera répercuté dans $_SESSION['post_form']['message']
$_SESSION['post_form']['motdepasse'] = $motdepasse = isset($_POST['motdepasse']) && trim($_POST['motdepasse']) != '' ? Verif_magicquotes(trim($_POST['motdepasse'])) : null;
$_SESSION['post_form']['prenom'] = $prenom = isset($_POST['prenom']) && trim($_POST['prenom']) != '' ? Verif_magicquotes(ucfirst(trim($_POST['prenom']))) : null;//ucfirst pour convertir le première lettre en majuscule
$_SESSION['post_form']['nv_numtel'] = $nv_numtel = isset($_POST['nv_numtel']) && trim($_POST['nv_numtel']) != '' ? Verif_magicquotes(trim($_POST['nv_numtel'])) : null;
$_SESSION['post_form']['ville'] = $ville = isset($_POST['ville']) && trim($_POST['ville']) != '' ? Verif_magicquotes(ucfirst(trim($_POST['ville']))) : null;//ucfirst pour convertir le première lettre en majuscule
if (! isset($motdepasse)){
$message[] = 'Veuillez indiquer votre mot de passe';
}
else{
if(!preg_match('`^[a-zA-Z0-9]{6,18}$`',$motdepasse))
//if (! preg_match('#^[a-zéèàçïêë]{3,12}$#i',$motdepasse)) {
$message[] = 'Le '. $motdepasse .' n\'est pas valide, recommencez !';
}
}
if (! isset($nv_numtel)){
$message[] = 'Veuillez indiquer votre nouveau numéro de téléphone';
}
else{
if (!(preg_match("#^0[1-8]([-. ]?[0-9]{2}){4}$#", $nv_numtel) || preg_match("#^0[1-8]([-. ]?[0-9]{1}){7}$#", $nv_numtel))){
$message[] = 'Le '. $nv_numtel .' n\'est pas valide, recommencez !';
}
}
if (! isset($prenom)){
$message[] = 'Veuillez indiquer votre prénom';
}
else{
//if (!preg_match('/^[\p{L} ]+$/u',$prenom))
if (! preg_match('#^[a-zéèàçïêë]{3,12}$#i',$prenom)){
$message[] = 'Le '.$prenom.' n\'autorise que des lettres, recommencez !';
}
if (! isset($ville)){
$message[] = 'Veuillez indiquer la ville';
}
else{
//if (!preg_match('/^[\p{L} ]+$/u',$prenom))
if (! preg_match('#^[a-zéèàçïêë]{3,12}$#i',$ville)){
$message[] = 'Le '.$ville.' n\'autorise que des lettres, recommencez !';
}
}
}
if (isset($message) && count($message) == 0){
// Connexion à la base de données
try{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=forum', 'root', '', $pdo_options);
// Insertion du message à l'aide d'une requête préparée
$req = $bdd-> prepare('UPDATE forum_membres SET membre_telephone=:nv_numtel, membre_localisation=:ville WHERE membre_pseudo=:prenom AND membre_mdp=:motdepasse');
$req->execute(array('motdepasse' =>$motdepasse, 'prenom'=>$prenom, 'nv_numtel'=>$nv_numtel, ville=>$ville));
// Redirection du visiteur vers la page Index du site//
header('Location:message.php');
}
catch(Exception $e){
die('Erreur : '.$e->getMessage());
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulaire de modification du n° de téléphone</title>
<style type="text/css">
<!--
.Style2 {
font-size: 24px;
font-weight: bold;
color: #9933CC;
}
.Style6 {color: #000066}
-->
</style>
</head>
<body>
<span class="Style2"><u>Formulaire de modification du n° de téléphone </u></span>
<form method="post" class="Style6">
<p>
<label for="motdepasse">Votre mot de passe :</label>
<input type="text" id="motdepasse" name="motdepasse"
value="<?php echo (isset($_POST['motdepasse'])) ? $motdepasse : '' ?>"
/>
</p>
<p>
<label for="prenom">Votre pseudo(pr) :</label>
<input type="text" id="prenom" name="prenom"
value="<?php echo (isset($_POST['prenom'])) ? $prenom : '' ?>"
/>
<p>
<label for="nv_numtel">Votre nouveau n°de téléphone :</label>
<input type="text" id="nv_numtel" name="nv_numtel"
value="<?php echo (isset($_POST['nv_numtel'])) ? $nv_numtel : '' ?>"
/>
</p>
<p>
<label for="ville">Votre nouvelle adresse(ville):</label>
<input type="text" id="ville" name="ville"
value="<?php echo (isset($_POST['ville'])) ? $ville : '' ?>"
/>
</p>
<input type="submit" name = "envoyer" value="Envoyer" />
</p>
</form>
<p><a href="index.php">Retour à l'accueil </a></p>
</body>
</html>
<?php
// Afficher les messages d'erreurs : champs vides ou non conformes//
if(isset($message) && count($message) > 0)
{
foreach($message as $value) echo '<p>'.$value.'</p>';
}
?> |
Partager