bonjour,
j'ai créé un formulaire regroupant toutes les informations que la personne avait déjà rempli dans un précédant formulaire, mais celui-ci les affiches uniquement pour qu'elle puisse en modifier certaines...
hors dans mon script, avec l'update, il ne me trouve pas d'erreur et me renvoi bien là ou je lui ai demandé après enregistrement, sauf que, il ne update pas les informations changée par la personnes...
et évidement je ne comprend pas pourquoi, pourriez-vous m'aider svp?
Modifier_mon_profil.php(formulaire):
ne pas prêté attention au publique et privé, cela sera pour plus tard, merci...
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
53
54
55
56
57
58
59
60
61 <?php session_start(); ?> <form class="formulaire_profil" action="Modification_profil.php" method="POST"> <label for="ident">Votre identifiant:</label> <input type="texte" name="identifiant" value="<?php echo $_SESSION['data']['identifiant']; ?>" disabled="disabled"> <input type="checkbox" name="identif" value="1"disabled="disabled" checked>publique <br> <label for="pass">Votre mot de passe:</label> <input type="texte" name="pass" value="<?php echo $_SESSION['data']['pass']; ?>"> <input type="checkbox" name="mdp" value="2" checked>privé <br> <label for="nom">Votre nom:</label> <input type="texte" name="nom" value="<?php echo $_SESSION['data']['nom']; ?>" disabled="disabled"> <input type="checkbox" name="name" value="1">publique <input type="checkbox" name="name" value="2" checked>privé <br> <label for="prenom">Votre prénom:</label> <input type="texte" name="prenom" value="<?php echo $_SESSION['data']['prenom']; ?>" disabled="disabled"> <input type="checkbox" name="preno" value="1">publique <input type="checkbox" name="preno" value="2"checked>privé <br> <label for="age">Votre âge:</label> <input type="texte" name="age" value="<?php $date = new DateTime($_SESSION['data']['age']) ?> <?php echo $date->format('d-m-Y'); ?>" disabled="disabled"> <input type="checkbox" name="birth" value="1"checked>publique <input type="checkbox" name="birth" value="2">privé <br> <label for="sexe">Votre sexe:</label> <input type="radio" name="sexe" value="" checked disabled="disabled"><?php echo ($_SESSION['data']['sexe']=='1')?'homme':'femme'; ?> <input type="checkbox" name="sex" value="1"checked>publique <input type="checkbox" name="sex" value="2">privé <br> <label for="mail">Votre e-mail:</label> <input type="email" name="email" value="<?php echo $_SESSION['data']['email']; ?>"> <input type="checkbox" name="mail" value="1">publique <input type="checkbox" name="mail" value="2"checked>privé <br> <label for="postale">Code postale:</label> <input type="texte" name="postale" value="<?php echo $_SESSION['data']['postale']; ?>"> <input type="checkbox" name="postal" value="1">publique <input type="checkbox" name="postal" value="2"checked>privé <br> <label for="ville">Ville:</label> <input type="texte" name="ville" value="<?php echo $_SESSION['data']['ville']; ?>"> <input type="checkbox" name="vil" value="1"checked>publique <input type="checkbox" name="vil" value="2">privé <br> <input type="submit" name="enregistrer" value="enregistrer"> </form>
Modification_profil.php (le problème update):
merci de votre aide
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 <?php session_start(); include "db.php"; include "Validation/vendor/autoload.php"; use Respect\Validation\Validator as v; if (isset($_POST)) { $objet = new stdClass(); $objet->email = $_SESSION['data']['email']; $objet->postale = $_SESSION['data']["postale"]; $objet->ville = $_SESSION['data']["ville"]; $objet->pass = $_SESSION['data']['pass']; $valid = v::attribute('email', v::email()->notEmpty()->setName('Email')) ->attribute('postale', v::numeric()->notEmpty()->setName('Postale')) ->attribute('ville', v::alpha()->notEmpty()->setName('Ville')) ->attribute('pass', v::alnum()->notEmpty()->setName('Pass')); //var_dump($objet); //ne trouve pas d'erreur mais ne change rien ds bdd try{ $valid->assert($objet); $st = $bdd->prepare("UPDATE membres SET email, postale, ville, pass "); $st->execute([$objet->email, $objet->postale, $objet->ville, $objet->pass ]); header ('location:accueil.php'); } catch (\InvalidArgumentException $e) { $objet->error = $e->findMessages([ 'notEmpty' => '{{name}} veuillez remplir ce champ', 'email' => ' Votre email est incorrecte', 'alpha' => '{{name}} ne peut contenir que des lettres', 'numeric' => '{{name}} que des chiffres', ]); $_SESSION['error'] = $objet->error; echo 'erreur'; //header('location:Modifier_mon_profil.php'); } } ?>
Partager