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

Langage PHP Discussion :

Modification de formulaire avec UPDATE


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 43
    Points
    43
    Par défaut Modification de formulaire avec UPDATE
    Bonjour, j'ai fait un fichier ou mes clients peuvent changer différent élément soit le login et le mot de passe, ainsi que l'email,

    Ce qui se passe j'ai du faire une erreur, car lorsque que je fais mes tests j'ai mes propre messages d'erreurs, et je ne vois pas d'où cela peut venir.
    Je me tire les cheveux

    Voici le code :

    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    header ('Location: ../index.php');
    exit();
    }
    ?>

    codage en HTML

    <?php
    include('../connection.inc.php');
    $connexion = mysql_connect($bdd_host, $bdd_user, $bdd_passe) or die('<br/>Connexion au serveur impossible.<br/>Contactez le webmaster si le problème n\'est pas résolu.<br/>');
    $choix_base = mysql_select_db($bdd_base, $connexion) or die('<br/>Sélection de la base de donnée echouée.<br/>Contactez le webmaster si le problème n\'est pas résolu.<br/>');

    //On verifie si le formulaire a ete envoye
    if(isset($_POST['agence'], $_POST['login'], $_POST['email'], $_POST['pass'], $_POST['pass_confirm']))
    {
    //On verifie si le mot de passe et celui de la verification sont identiques
    if($_POST['pass']==$_POST['pass_confirm'])
    {
    //On verifie si le mot de passe a 6 caracteres ou plus
    if(strlen($_POST['pass'])>=6)
    {
    //On enleve lechappement si get_magic_quotes_gpc est active
    if(get_magic_quotes_gpc())
    {
    $_POST['agence'] = stripslashes($_POST['agence']);
    $_POST['login'] = stripslashes($_POST['login']);
    $_POST['email'] = stripslashes($_POST['email']);
    $_POST['pass'] = stripslashes($_POST['pass']);
    $_POST['pass_confirm'] = stripslashes($_POST['pass_confirm']);
    }
    //On verifie si lemail est valide
    if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
    {
    //On echape les variables pour pouvoir les mettre dans une requette SQL
    $agence = mysql_real_escape_string($_POST['agence']);
    $login = mysql_real_escape_string($_POST['login']);
    $email = mysql_real_escape_string($_POST['email']);
    $pass = mysql_real_escape_string($_POST['pass']);

    //On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
    $dn = mysql_fetch_array(mysql_query('SELECT count(*) AS nb FROM membre WHERE login = "'.$_SESSION['login'].'"'));

    //On verifie si le pseudo a ete modifie pour un autre et que si celui existe deja
    if($dn['nb']==0 or $_POST['login'] == $_SESSION['login'])
    {
    //On modifie les informations de l'utilisateur avec les nouveau parametre
    if(mysql_query('UPDATE membre SET login="'.$login.'", pass="'.$pass.'" WHERE login = "'.$_SESSION['login'].'"'))
    {
    //Si ca a fonctionne, on naffiche pas le formulaire
    $form = false;
    //On supprime la session pseudo au cas ou il aurait modifie son pseudo
    unset($_SESSION['pseudo']);
    }
    else
    {
    //Sinon on dit quil y a eu une erreur
    $form = true;
    $message = 'Une erreur est survenue lors des modifications.';
    }
    }
    else
    {
    //Sinon, on dit que le pseudo voulu est deja pris
    $form = true;
    $message = 'Un autre utilisateur utilise d&eacute;j&agrave; le nom d\'utilisateur que vous d&eacute;sirez utiliser.';
    }
    }
    else
    {
    //Sinon, on dit que lemail nest pas valide
    $form = true;
    $message = 'L\'email que vous avez entr&eacute; n\'est pas valide.';
    }
    }
    else
    {
    //Sinon, on dit que le mot de passe nest pas assez long
    $form = true;
    $message = 'Le mot de passe que vous avez entr&eacute; contien moins de 6 caract&egrave;res.';
    }
    }
    else
    {
    //Sinon, on dit que les mots de passes ne sont pas identiques
    $form = true;
    $message = 'Les mot de passe que vous avez entr&eacute; ne sont pas identiques.';
    }
    }
    else
    {
    $form = true;
    }
    if($form)
    {
    //On affiche un message sil y a lieu
    if(isset($message))
    {
    echo '<strong>'.$message.'</strong>';
    }
    //Si le formulaire a deja ete envoye on recupere les donnes que lutilisateur avait deja insere
    if(isset($_POST['agence'], $_POST['login'], $_POST['pass'], $_POST['email']))
    {
    $agence = htmlentities($_POST['agence']);
    $login = htmlentities($_POST['login']);
    if($_POST['pass'] == $_POST['pass_confirm'])
    {
    $pass = htmlentities($_POST['pass']);
    }
    else
    {
    $pass = '';
    }
    $email = htmlentities($_POST['email']);
    }
    else
    {
    //Sinon, on affiche les donnes a partir de la base de donnee.
    $dnn = mysql_fetch_array(mysql_query('SELECT agence, email, login, pass_md5 FROM membre WHERE login = "'.$_SESSION['login'].'"'));
    $agence = htmlentities($dnn['agence']);
    $login = htmlentities($dnn['login']);
    $email = htmlentities($dnn['email']);
    }
    //On affiche le formulaire
    ?>



    <!-- formulaire de changement -->
    <form action="Modif.php" method="post">
    <dl>
    <dt><label>Etablisement</label></dt><dd><input name="agence" type="text" value="<?php echo $agence?>" /></dd>
    <dt><label>Nouveau Login</label></dt><dd><input name="login" type="text" value="<?php echo $login?>" /></dd>
    <dt><label>Nouveau E-Mail</label></dt><dd><input name="email" type="text" value="<?php echo $email?>" /></dd>
    <dt><label>Nouveau Mot de passe</label></dt><dd><input name="pass" type="password" /></dd>
    <dt><label>Confirmation du mot de passe</label></dt><dd><input name="pass_confirm" type="password" /></dd>
    <dt><label></label></dt><dd><input type="submit" name="Valider" value="Valider" id="Valider" class="button"></dd>
    </dl>
    </form>
    <?php
    }

    ?>

  2. #2
    Membre éprouvé Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Points : 1 241
    Points
    1 241
    Par défaut
    bonjour,

    si tu ne nous dis pas ce qu'il se passe, peu de gens vont étudier ton code pour comprendre ce que tu veux !

Discussions similaires

  1. [PDO] pas de modification base avec update pdo
    Par jmch73 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/09/2014, 12h15
  2. Modification formulaire avec bouton radio
    Par Mister X dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/12/2012, 22h03
  3. [2.x] Formulaire avec fichier lors de la modification
    Par Corei7 dans le forum Symfony
    Réponses: 10
    Dernier message: 31/10/2012, 22h55
  4. Réponses: 3
    Dernier message: 16/08/2009, 20h06
  5. Réponses: 8
    Dernier message: 04/09/2006, 17h34

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