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):
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>
ne pas prêté attention au publique et privé, cela sera pour plus tard, merci...

Modification_profil.php (le problème update):
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');
    }
 
}
?>
merci de votre aide