IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

pas d'erreur de données , mais pas de update [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Points : 74
    Points
    74
    Par défaut pas d'erreur de données , mais pas de update
    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

  2. #2
    Membre régulier
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Points : 74
    Points
    74
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try{
            $valid->assert($objet);
            $st = $bdd->prepare('UPDATE membres SET email=:email, postale=:postale, ville=:ville, pass=:pass WHERE identifiant=:identifiant ');
            $st->execute([':email' => $objet->email,':postale' => $objet->postale,':ville' => $objet->ville,':pass' => $objet->pass, ':identifiant' => $objet->identifiant ]);

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Normal que ça passe pas, tu update tes valeurs de Session et non pas tes valeurs de $_POST

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/02/2012, 11h16
  2. [debutant]prog fonctionne pas mais pas d'erreurs
    Par ~Brouette~ dans le forum C
    Réponses: 45
    Dernier message: 07/12/2006, 14h52
  3. Pas d'erreur au debugage mais le programme freeze
    Par bob2356 dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 25/09/2006, 19h16
  4. [9i] Crypter les données mais pas la structure
    Par nuke_y dans le forum Oracle
    Réponses: 38
    Dernier message: 27/02/2006, 11h23
  5. Erreur avec IE mais pas avec Netscape
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/02/2005, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo