UPDATE après déconnexion
Fermé
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
-
4 nov. 2014 à 22:25
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 25 nov. 2014 à 20:43
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 25 nov. 2014 à 20:43
A voir également:
- UPDATE après déconnexion
- Windows update 0x80070643 - Guide
- Windows update bloqué - Guide
- Asus live update - Télécharger - Utilitaires
- Déconnexion intempestive wifi - Guide
- Desactiver windows update - Guide
11 réponses
Liightman
Messages postés
49
Date d'inscription
lundi 17 novembre 2014
Statut
Membre
Dernière intervention
7 janvier 2016
9
17 nov. 2014 à 22:07
17 nov. 2014 à 22:07
Salut!
Déjà ton code est propre! C'est assez rare :p
C'est par rapport à la superglobale SESSION ou tu vérifie directement dans la base de donnée?
Déjà ton code est propre! C'est assez rare :p
C'est par rapport à la superglobale SESSION ou tu vérifie directement dans la base de donnée?
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
17 nov. 2014 à 23:03
17 nov. 2014 à 23:03
Bonjour
Merci je desespérais d'avoir un peu d'aide. Peux tu m'en dire un peu plus je ne comprend pas s'il te plait.
Déjà suis je obligé de faire un SELECT avant le UPDATE ?
Pour bien que tu comprennes, mes données je peux les modifier sans problème mais pour l'affichage dans mon formulaire elles apparaissent seulement après déconnexion.
Merci
Merci je desespérais d'avoir un peu d'aide. Peux tu m'en dire un peu plus je ne comprend pas s'il te plait.
Déjà suis je obligé de faire un SELECT avant le UPDATE ?
Pour bien que tu comprennes, mes données je peux les modifier sans problème mais pour l'affichage dans mon formulaire elles apparaissent seulement après déconnexion.
Merci
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
Modifié par labourette le 17/11/2014 à 23:09
Modifié par labourette le 17/11/2014 à 23:09
Je te donne mon fichier de vérification de données si çaa peut te servir à m'aider
<?php if(!empty($_POST)) { $username = Security::clean($_POST['username']); $password = Security::clean($_POST['password']); if(empty($username) || empty($password)) { $error = 'Veuillez entrer le Login et le Mot de passe'; } else { $password = Security::hash($password); $user = new User(); $user->setUsername($username); $user->setPassword($password); if($user->login()) { $_SESSION['id_adherent'] = serialize($user); if(isset($_POST['remember'])) { $value = Security::crypt($user->getUsername()) . '_' . Security::crypt($user->getPassword()); setcookie('mon_site', $value, time() + 3600 * 24 * 3); } header('Location: index.php?body=compte_profil&type=compte'); exit(); } else { $error = 'La combinaison Login/Mot de passe est incorrect'; } } } echo isset($error) ? $error . '<br>' : ''; ?>
Liightman
Messages postés
49
Date d'inscription
lundi 17 novembre 2014
Statut
Membre
Dernière intervention
7 janvier 2016
9
18 nov. 2014 à 06:10
18 nov. 2014 à 06:10
Salut!
Si j'ai bien compris, quelqu'un remplie un formulaire pour faire des modifications de compte (par exemple), les changements se font en base de données, mais nécessite une déconnexion pour que ça apparaissent sur la page c'est bien ça?
Si c'est le cas, donne moi le script de la page où sont affichés les informations pour m'assurer que je connais bien la résolution au problème
Si j'ai bien compris, quelqu'un remplie un formulaire pour faire des modifications de compte (par exemple), les changements se font en base de données, mais nécessite une déconnexion pour que ça apparaissent sur la page c'est bien ça?
Si c'est le cas, donne moi le script de la page où sont affichés les informations pour m'assurer que je connais bien la résolution au problème
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
Modifié par labourette le 18/11/2014 à 13:00
Modifié par labourette le 18/11/2014 à 13:00
Bonjour
oui c'est exactement ça.
Voici mon formulaire où les membres font leurs modifications necessaire.
Tu as bien compris les modifs dans le formulaires'affiche après déconnexion mais dans la BDD c'est immédiat.
juste pour info même si je réactulise la page il y a aucun effet
oui c'est exactement ça.
Voici mon formulaire où les membres font leurs modifications necessaire.
Tu as bien compris les modifs dans le formulaires'affiche après déconnexion mais dans la BDD c'est immédiat.
<?php if(isset($_POST)&&!empty($_POST)) { $nom = $_POST['nom']; $prenom = $_POST['prenom']; $email = $_POST['email']; $naissance = $_POST['naissance_3'] ? trim($_POST['naissance_3']) . '-' . trim($_POST['naissance_2']) . '-' . trim($_POST['naissance_1']) : ''; $fixe = $_POST['fixe']; $mobile = $_POST['mobile']; $adresse = $_POST['adresse']; $lieu_dit = $_POST['lieu_dit']; $code_postal = $_POST['code_postal']; $ville = $_POST['ville']; $username = $_POST['username']; $user = new User(); $user->setNom($nom); $user->setPrenom($prenom); $user->setEmail($email); $user->setNaissance($naissance); $user->setFixe($fixe); $user->setMobile($mobile); $user->setAdresse($adresse); $user->setLieuDit($lieu_dit); $user->setCodePostal($code_postal); $user->setVille($ville); $user->setUsername($username); $user->UpdateMembre(); if(preg_match('#(\d{4})-(\d{1,2})-(\d{1,2})#is', $user->getNaissance(), $match)) $date = array( 1 => $match[3], 2 => $match[2], 3 => $match[1] ); } ?> <br/> <div id="content"> <form id="formulaire" action="" method="post"> <table cellpadding="0" cellspacing="3"> <tr> <th colspan="6">Coordonné :</th> </tr> <tr> <td width="20%">Nom :</td> <td width="30%"><input name="nom" class="content_input" size="30" type="text" value="<?php echo $user->getNom();?>"/></td> <td width="20%">Prénom :</td> <td width="30%"><input name="prenom" class="content_input" size="30" type="text" value="<?php echo $user->getPrenom();?>"/></td> </tr> <tr> <td width="20%">Adresse :</td> <td width="30%"><input name="adresse" class="content_input" size="30" type="text" value="<?php echo $user->getAdresse();?>"/></td> <td width="20%">Lieu Dit :</td> <td width="30%"><input name="lieu_dit" class="content_input" size="30" type="text" value="<?php echo $user->getLieuDit();?>"/></td> </tr> <tr> <td width="20%">Code Postale :</td> <td width="30%"><input name="code_postal" class="content_input" size="30" type="text" value="<?php echo $user->getCodePostal();?>"/></td> <td width="20%">Ville :</td> <td width="30%"><input name="ville" class="content_input" size="30" type="text" value="<?php echo $user->getVille();?>"/></td> </tr> <tr> <th colspan="3">Contact :</th> </tr> <tr> <td width="20%"><img src="image/fixe.png" alt="Téléphone fixe" title="Téléphone fixe" height="22" width="22"/> Téléphone fixe :</td> <td width="30%"><input name="fixe" class="content_input" size="30" type="text" value="<?php echo $user->getFixe();?>"/></td> <td width="20%"><img src="image/mobile.jpg" alt="Téléphone mobile" title="Téléphone mobile" height="22" width="22"/> Téléphone mobile :</td> <td width="30%"><input name="mobile" class="content_input" size="30" type="text" value="<?php echo $user->getMobile();?>"/></td> </tr> <tr> <td width="20%"><img src="image/mail.png" alt="Email" title="Email" height="22" width="22"/> Adresse mail :</td> <td width="30%"><input name="email" class="content_input" size="30" type="text" value="<?php echo $user->getEmail();?>"/></td> <td width="20%"></td> <td width="30%"></td> </tr> <tr> <th colspan="4">Informations supplémentaires :</th> </tr> <tr> <td width="20%">Date de Naissance :</td> <td width="30%" id="naissance" name="naissance"> <input name="naissance_1" class="content_input" type="text" value="<?php echo @$date[1] ?>" size="2" maxlength="2"/> <input name="naissance_2" class="content_input" type="text" value="<?php echo @$date[2] ?>" size="2" maxlength="2"/> <input name="naissance_3" class="content_input" type="text" value="<?php echo @$date[3] ?>" size="4" maxlength="4"/> jj/mm/aaaa </td> <td width="20%"><img src="image/login.png" alt="Login" title="Login" height="22" width="22"/> Login :</td> <td width="30%"><input name="username" id="login_modif_membre" onFocus="this.blur()" size="20" type="text" value="<?php echo $user->getUsername();?>"/><div><span class="info">Le Login ne peut-être modifié !</span></div></td> </tr> </table> <!--#######################################################################################################################################--> <input type="submit" class="submit" value="Enregistrer"/> </form> </div>
juste pour info même si je réactulise la page il y a aucun effet
Liightman
Messages postés
49
Date d'inscription
lundi 17 novembre 2014
Statut
Membre
Dernière intervention
7 janvier 2016
9
18 nov. 2014 à 17:50
18 nov. 2014 à 17:50
Je pense que tu ne m'a pas donner le bon script. Ce que tu me donne c'est le formulaire de pour modifier, mais une fois le formulaire rempli, il y a une redirection je suppose qui mène vers la page du compte de l'utilisateur.
Si c'est le cas, c'est ce script qu'il me faut.
Si c'est le cas, c'est ce script qu'il me faut.
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
Modifié par labourette le 21/11/2014 à 17:10
Modifié par labourette le 21/11/2014 à 17:10
Bonjour
En fait depuis lle début j'ai mon formulaire de connexion sur la page d'accueil
ensuite ma vérification pour savoir si tout est ok pour le membre
ensuite le membre est connecté son compte s'affiche
ensuite il clique sur le lien "Modifier mon profil"
Le formulaire que je t'ai envoyé s'affiche et là le problème, une fois le formulaire envoyé la redirection est sur la même page en fait.
Je ne vois rien d'autre
Merci
En fait depuis lle début j'ai mon formulaire de connexion sur la page d'accueil
<form name="SeConnecter" id="SeConnecter" action="index.php?body=connexion_verif&type=accueil" method="post" enctype="multipart/form-data"> <fieldset class="fieldset_connexion"> <legend class="legend_connexion">Se connecter</legend> <center><b><p style="margin: 5px; padding: 5px;">Réservé aux membres</p></b></center> <label for="login">Login :</label> <center><input type="text" id="login" name="username" class="login" value="" tabindex="1"/></center> <br/> <label for="motdepasse">Mot de passe :</label> <center><input type="password" id="motdepasse" name="password" class="motdepasse" value="" tabindex="2"/></center> <br/> <!--#######################################################################################################################################--> <input type="checkbox" name="remember"><span class="SeSouvenir">Se souvenir de moi</span> <!--#######################################################################################################################################--> <center><input src="image/envoyer.png" width="70%" type="image" name="connexion" class="connexion_form" border="0" Value="" align="middle"/></center> </fieldset> </form>
ensuite ma vérification pour savoir si tout est ok pour le membre
<?php if(!empty($_POST)) { $username = Security::clean($_POST['username']); $password = Security::clean($_POST['password']); if(empty($username) || empty($password)) { $error = 'Veuillez entrer le Login et le Mot de passe'; } else { $password = Security::hash($password); $user = new User(); $user->setUsername($username); $user->setPassword($password); if($user->login()) { $_SESSION['id_adherent'] = serialize($user); if(isset($_POST['remember'])) { $value = Security::crypt($user->getUsername()) . '_' . Security::crypt($user->getPassword()); setcookie('mon_site', $value, time() + 3600 * 24 * 3); } header('Location: index.php?body=compte_profil&type=compte'); exit(); } else { $error = 'La combinaison Login/Mot de passe est incorrect'; } } } echo isset($error) ? $error . '<br>' : ''; ?>
ensuite le membre est connecté son compte s'affiche
<div id="SousMenu"> <ul> <li><b>MENU :</b></li> <li> - <a href="./index.php?body=liste_membre&type=compte">Liste des membres</a></li> <li> - <a href="./index.php?body=modif_profil&type=compte">Modifier mon profil</a></li> <li> - <a href="./index.php?body=change_password&type=compte">Changer mon Mot de Passe</a></li> <li> - <a href="./Personnage.php">Partitions de Musique</a></li> </ul> </div> <h2>Mon espace</h2> <br/> <table class="CompteProfil" border="3"> <tr> <th>Nom</th> <th>Prénom</th> <th>Adresse Mail</th> <th>Date Naissance</th> <th>Tél. Fixe</th> <th>Tél. Mobile</th> </tr> <tr> <td><?php echo $user->getNom(); ?></td> <td><?php echo $user->getPrenom(); ?></td> <td><?php echo $user->getEmail(); ?></td> <td><?php echo $user->getNaissance(); ?></td> <td><?php echo $user->getFixe(); ?></td> <td><?php echo $user->getMobile(); ?></td> </tr> </table> <table class="CompteProfil" border="3"> <tr> <th>Adresse</th> <th>Lieu dit</th> <th>Code Postal</th> <th>Ville</th> <th>Login</th> </tr> <tr> <td><?php echo $user->getAdresse(); ?></td> <td><?php echo $user->getLieuDit(); ?></td> <td><?php echo $user->getCodePostal(); ?></td> <td><?php echo $user->getVille(); ?></td> <td><?php echo $user->getUsername(); ?></td> </tr> </table>
ensuite il clique sur le lien "Modifier mon profil"
Le formulaire que je t'ai envoyé s'affiche et là le problème, une fois le formulaire envoyé la redirection est sur la même page en fait.
Je ne vois rien d'autre
Merci
Liightman
Messages postés
49
Date d'inscription
lundi 17 novembre 2014
Statut
Membre
Dernière intervention
7 janvier 2016
9
21 nov. 2014 à 20:51
21 nov. 2014 à 20:51
Très bien, merci des précisions, ça permet de mieux me repérer! Tu as créer un objet, l'objet "user". L'objet est disponible pendant la session en cours, tu doit donc actualiser l'objet afin que les modifications apparaissent sans à avoir actualiser (déconnexion de ) la session.
J'ai des exemples bien concret avec le cas de la superglobale SESSION, mais sous forme d'objet, ce problème là ne m'est jamais arrivé donc je pense que ça viens de ça, mais ma certitude n'est pas de 100%
J'ai des exemples bien concret avec le cas de la superglobale SESSION, mais sous forme d'objet, ce problème là ne m'est jamais arrivé donc je pense que ça viens de ça, mais ma certitude n'est pas de 100%
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
23 nov. 2014 à 07:19
23 nov. 2014 à 07:19
Bonjour
Merci de té réponse c'est exactement le problème que j'ai, malheureusement tu n'as pas pu me donner une explication, par contre je ne vois pas trop comment résoudre ce problème, je vais encore faire des recherches.
Si par hasard il te viendrais une idée on ne sait jamais.
Merci quand même pour tout.
Merci de té réponse c'est exactement le problème que j'ai, malheureusement tu n'as pas pu me donner une explication, par contre je ne vois pas trop comment résoudre ce problème, je vais encore faire des recherches.
Si par hasard il te viendrais une idée on ne sait jamais.
Merci quand même pour tout.
Liightman
Messages postés
49
Date d'inscription
lundi 17 novembre 2014
Statut
Membre
Dernière intervention
7 janvier 2016
9
23 nov. 2014 à 09:30
23 nov. 2014 à 09:30
Désolé je pensai que le fait d'avoir dit d'actualiser ton objet t'aurais mis la puce à l'oreille ^^.
Comme dit précédemment, ce problème ne m'est arrivé qu'avec les SESSION, je sais comment les résoudre donc je vais essayer d'appliquer la même logique pour ton objet.
Une fois que le membre valide le formulaire, tu refais une requête sur ton objet afin d'y actualiser les informations.
Voilà un petit shéma pour t'aider.
Concrètement, voilà comment je procède pour ce problème avec la superglobale SESSION
Comme dit précédemment, ce problème ne m'est arrivé qu'avec les SESSION, je sais comment les résoudre donc je vais essayer d'appliquer la même logique pour ton objet.
Une fois que le membre valide le formulaire, tu refais une requête sur ton objet afin d'y actualiser les informations.
Voilà un petit shéma pour t'aider.
/** * *Traitement du formulaire * */ if(!empty($_POST)) { //contenu du traitement /* Si on modifie les valeurs en bdd */ //alors //on refait notre objet User on y stockant dedans les variables qu'on viens de mettre en bdd }
Concrètement, voilà comment je procède pour ce problème avec la superglobale SESSION
if($_GET['post']=="ok") { $erreurRechargerPage=false; $Emploi = new Emploi($bdd); $erreur= $Emploi->verifierMetier($emploi); $test=$Emploi->selectArgent(); if($erreur==NULL) { $metier=$Emploi->enregistrerEmploi($emploi); // modification dans la base de donnés $Emploi->modifArgent(); //modification d'argent en base de données if($metier!='0') { $_SESSION['emploi']=$emploi; // stockage de la variable qui viens d'être mise en bdd dans la superglobale session! header('Location: index.php?page=metier&result=done'); ob_flush(); } } else{ //Message d'erreur concernant VerifDonnees. $erreurRechargerPage=true; } }
labourette
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
6
25 nov. 2014 à 20:43
25 nov. 2014 à 20:43
Bonjour
Un très grand merci pour ton aide, malheureusement après 2 jours de galère, je ne comprends toujours pas malgrès tes réponses je reste avec mes problèmes non résolus.
J'ai vraiment essayé de comprendre je suis désolé, peux tu me donner une solution concrété s'il te plait, je t'en serai très reconnaissant.
Merci de tout coeur.
Un très grand merci pour ton aide, malheureusement après 2 jours de galère, je ne comprends toujours pas malgrès tes réponses je reste avec mes problèmes non résolus.
J'ai vraiment essayé de comprendre je suis désolé, peux tu me donner une solution concrété s'il te plait, je t'en serai très reconnaissant.
Merci de tout coeur.