Requette mySQL UPDATE et DELETE

Fermé
boss0211 Messages postés 264 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 9 septembre 2007 - 6 août 2006 à 01:19
pour_quoi_pas Messages postés 40 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 25 août 2006 - 7 août 2006 à 10:06
Bonjour,
aucun de ces deux fichier ne fonctionne je ne sais pas pourquoi.
Le premier est pour faire une mise à jour du profile et le 2eme est pour suprimer le profile.
(jai retirer les identifiant exprès)

membres.php :

<?php
//Ne pas oublier de mettre le session_start()
session_start();

//On vérifie que le membre est connecté.
if (isset($_SESSION['logged']) && $_SESSION['logged'] === false)
{
echo 'Erreur : vous devez être connecté pour accéder à cette page !<br /> Allez <a href="index.php">ici</a> pour vous connecter.';
  
}
else
  { echo 'Bonjour '.$_SESSION['pseudo'].'<br/><a href="http://boss021190.free.fr/membres/deconnexion.php">Déconnexion</a>';

  //Recuperation des donné  membre
mysql_connect("localhost", "", ""); // Connexion à MySQL
mysql_select_db(""); // Sélection de la base

$reponse = mysql_query("SELECT pseudo, nom, prenom, age, pays, email, site, interet FROM membres WHERE pseudo='" . $_SESSION['pseudo'] . "'");

$donnees = mysql_fetch_array($reponse);
?>
<div style="text-align:center;"><h2>Votre compte</h2></div>
<br />
<br />
<form method="post" action="membres.php" >
<label><b>Votre pseudo:</b> <input type="text" name="pseudo" value="<?php echo $donnees['pseudo']; ?>" /></label><br />
<label><b>Votre nom :</b> <input type="text" name="nom" value="<?php echo $donnees['nom']; ?>" /></label><br />
<label><b>Votre prénom:</b> <input type="text" name="prenom" value="<?php echo ($donnees['prenom']); ?>" /></label><br />
<label><b>Votre âge:</b> <input type="text" name="age" value="<?php echo $donnees['age']; ?>" /></label><br />
<label><b>Votre pays:</b> <input type="text" name="pays" value="<?php echo $donnees['pays']; ?>" /></label><br />
<label><b>Changer de mot de passe:</b> <input type="text" name="mot_passe"  /></label><br />
<label><b>Votre adresse e-mail:</b> <input size="25" type="text" name="email" value="<?php echo $donnees['email']; ?>" /></label><br />
<label><b>Votre site web :</b> <input type="text" name="site" value="<?php echo $donnees['site']; ?>" /></label><br />
<label><b>Vos centres d'intérêt:</b><br /> <textarea cols="20" rows="5" name="interet"><?php echo $donnees['interet']; ?></textarea></label><br />
<label><input type="submit" value="Envoyer!" /></label><br />

</form>
<?php 
 if (isset($_POST['membres']))
{
        //Si les variables contenant le pseudo, le mot de passe et l'email existent et contiennent quelque chose.
        if (isset ($_POST['pseudo'], $_POST['mot_passe'], $_POST['email'], $_POST['pays'], $_POST['age'], $_POST['nom'], $_POST['prenom'], $_POST['interet']))
        {
                //Si le pseudo est supérieur à 3 caractères et inférieur à 35 caractères.
                if (strlen(trim($_POST['pseudo'])) > 3 && strlen(trim($_POST['pseudo'])) < 35)
                {
                        //Si le mot de passe est supérieur à 4 caractères.
                        if (strlen(trim($_POST['mot_passe'])) > 4)
                        {
                                //Mesure de sécurité.
                                $pseudo = htmlspecialchars($_POST['pseudo']);
                                $mot_passe = htmlspecialchars($_POST['mot_passe']);
                                $email = htmlspecialchars($_POST['email']);
                                                                $nom = htmlspecialchars($_POST['nom']);
                                                                $prenom = htmlspecialchars($_POST['prenom']);
                                                                $age = htmlspecialchars($_POST['age']);
                                                                $pays = htmlspecialchars($_POST['pays']);
                                                                $mot_passe = htmlspecialchars($_POST['mot_passe']);
                                                                $site = htmlspecialchars($_POST['site']);
                                                                $interet = htmlspecialchars($_POST['interet']);

                                //On vérifie que le pseudo n'existe pas.
                     $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'");
                                if (mysql_result($sql, 1, 'nb_pseudo') == 1)
                                {
                                     //Hashage du mot de passe avec md5().
                                     $mot_passe = md5($mot_passe);

                                                        
                                    
                                     
                                         //On éxécute la requête qui enregistre un nouveau membre.
                                         mysql_query("UPDATE membres (pseudo, nom, prenom, age, pays, mot_passe, email, site, interet) SET ('".$pseudo."','".$nom."','".$prenom."', '".$age."', '".$pays."', '".$mot_passe."', '".$email."', '".$site."', '".$interet."') WHERE pseudo='" . $_SESSION['pseudo'] . "'");
                                         echo 'Message : votre compte a bien été mise à jour!';
                                }             
                                                          else 
                                   echo 'Erreur : le pseudo existe déjà !';
                            }    
                        else
                                echo 'Erreur : le mot de passe est trop court !';
                        }
                else
                        echo 'Erreur : le pseudo est soit trop court, soit trop long !';
                }
        else
                echo 'Erreur : vous avez oublié d\'entrer votre pseudo ou votre mot de passe ou votre adresse email !';
       

}}
mysql_close(); // Déconnexion de MySQL
?> 



suprimer.php :

<?php
session_start();

//On vérifie que le membre est connecté.
if (isset($_SESSION['logged']) && $_SESSION['logged'] === false)
{
echo 'Erreur : vous devez être connecté pour accéder à cette page !<br /> Allez <a href="index.php">ici</a> pour vous connecter.';
  
}
else
  { echo 'Bonjour '.$_SESSION['pseudo'].'<br/><a href="http://boss021190.free.fr/membres/deconnexion.php">Déconnexion</a>';

  //Recuperation des donné  membre
mysql_connect("localhost", "loggin", "passe"); // Connexion à MySQL
mysql_select_db("baseeeeeeee"); // Sélection de la base

?>
<center><h2>Vous souhaitez réellement vous désinscrire?</h2></center><br /><br /><br />
Si oui cliquez sur le bouton ci-après:<br /> <br />
<form method="post"  action="suprimer.php">
<input type="hidden" name="pseudo" value="<?php echo $_SESSION['pseudo']; ?>" />
<input type="submit" value="Se désinscrire!" />
</form>
</center>

<?php
mysql_query(" DELETE FROM membres VALUE $pseudo ");

mysql_close(); // Déconnexion de MySQL
}
?>


Voila merci d'avance
A voir également:

5 réponses

boss0211 Messages postés 264 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 9 septembre 2007 8
6 août 2006 à 15:13
maintenant que j'ai fais quelque modification, il me dis que mon problème est a la dernière ligne celle où l'on ferme la connexion mysql


donc la jne comprend pas bien!

<?php
//Ne pas oublier de mettre le session_start()
session_start();

//On vérifie que le membre est connecté.
if (isset($_SESSION['logged']) && $_SESSION['logged'] == false)
{
echo 'Erreur : vous devez être connecté pour accéder à cette page !<br /> Allez <a href="index.php">ici</a> pour vous connecter.';
  
}
else
  { echo 'Bonjour '.$_SESSION['pseudo'].'<br/><a href="http://boss021190.free.fr/membres/deconnexion.php">Déconnexion</a>';

  //Inclusion du fichier contenant les identifiants de connexion à la base de données.
require("config.inc.php");

//Connexion à la base de données.
mysql_connect($host, $username, $password);
mysql_select_db($bdd_name);

$reponse = mysql_query("SELECT pseudo, nom, prenom, age, pays, email, site, interet FROM membres WHERE pseudo='" . $_SESSION['pseudo'] . "'");

$donnees = mysql_fetch_array($reponse);
?>
<div style="text-align:center;"><h2>Votre compte</h2></div>
<br />
<br />
<form method="post" action="membres.php" >
<label><b>Votre pseudo:</b> <input type="text" name="pseudo" value="<?php echo $donnees['pseudo']; ?>" /></label><br />
<label><b>Votre nom :</b> <input type="text" name="nom" value="<?php echo $donnees['nom']; ?>" /></label><br />
<label><b>Votre prénom:</b> <input type="text" name="prenom" value="<?php echo ($donnees['prenom']); ?>" /></label><br />
<label><b>Votre âge:</b> <input type="text" name="age" value="<?php echo $donnees['age']; ?>" /></label><br />
<label><b>Votre pays:</b> <input type="text" name="pays" value="<?php echo $donnees['pays']; ?>" /></label><br />
<label><b>Changer de mot de passe:</b> <input type="text" name="mot_passe"  /></label><br />
<label><b>Votre adresse e-mail:</b> <input size="25" type="text" name="email" value="<?php echo $donnees['email']; ?>" /></label><br />
<label><b>Votre site web :</b> <input type="text" name="site" value="<?php echo $donnees['site']; ?>" /></label><br />
<label><b>Vos centres d'intérêt:</b><br /> <textarea cols="20" rows="5" name="interet"><?php echo $donnees['interet']; ?></textarea></label><br />
<label><input type="submit" value="Envoyer!" /></label><br />

</form>
<?php 

        //Si les variables contenant le pseudo, le mot de passe et l'email existent et contiennent quelque chose.
        if (isset ($_POST['pseudo'], $_POST['mot_passe'], $_POST['email'], $_POST['pays'], $_POST['age'], $_POST['nom'], $_POST['prenom'], $_POST['interet']))
        {
                //Si le pseudo est supérieur à 3 caractères et inférieur à 35 caractères.
                if (strlen(trim($_POST['pseudo'])) > 3 && strlen(trim($_POST['pseudo'])) < 35)
                {
                        //Si le mot de passe est supérieur à 4 caractères.
                        if (strlen(trim($_POST['mot_passe'])) > 4)
                        {
                                //Mesure de sécurité.
                                $pseudo = htmlspecialchars($_POST['pseudo']);
                                $mot_passe = htmlspecialchars($_POST['mot_passe']);
                                $email = htmlspecialchars($_POST['email']);
                                $nom = htmlspecialchars($_POST['nom']);
                                $prenom = htmlspecialchars($_POST['prenom']);
                                $age = htmlspecialchars($_POST['age']);
                                $pays = htmlspecialchars($_POST['pays']);
                                $mot_passe = htmlspecialchars($_POST['mot_passe']);
                                $site = htmlspecialchars($_POST['site']);
                                $interet = htmlspecialchars($_POST['interet']);

                                //On vérifie que le pseudo n'existe pas.
              if( $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'"))
			            {
                                if (mysql_result($sql, 1, 'nb_pseudo') == 1)
                                {
                                     //Hashage du mot de passe avec md5().
                                     $mot_passe = md5($mot_passe);

                                                        
                                    
                                     
                                         //On éxécute la requête qui enregistre un nouveau membre.
                                         mysql_query("UPDATE membres (pseudo, nom, prenom, age, pays, mot_passe, email, site, interet) SET ('".$pseudo."','".$nom."','".$prenom."', '".$age."', '".$pays."', '".$mot_passe."', '".$email."', '".$site."', '".$interet."') WHERE pseudo='" . $_SESSION['pseudo'] . "'");
                                         echo 'Message : votre compte a bien été mise à jour!';
                                }             
                                                          else 
                                   echo 'Erreur : le pseudo existe déjà !';
                        }    
                        else
                                echo 'Erreur : le mot de passe est trop court !';
                        }
                else
                        echo 'Erreur : le pseudo est soit trop court, soit trop long !';
                }
        else
                echo 'Erreur : vous avez oublié d\'entrer votre pseudo ou votre mot de passe ou votre adresse email !';
       

        }
}
mysql_close(); // Déconnexion de MySQL
?> 


pour voir la page qui dis lerreur: http://boss021190.free.fr/membres/membres.php
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
6 août 2006 à 20:32
essaie en formant tes "else" comme les "if"...
C'est à dire :
if
{

}
else
{

}


pour t'y retrouver (un peu) plus facilement, dans des codes pareils, essaie de mettre les conditions, les unes en dessous des autre:
if
{

  if
  {

  }
  else
  {

  }

}
else
{

}
tu devrais pouvoir mieux t'y retrouver je pense et tiens moi au courant pour voir si ça fonctionne..

ps: je faisais la même 'erreur' avant, ça ne change rien au code, mais
<br>
suffit. ;)
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
6 août 2006 à 20:45
regarde, ce que toi tu as écrit, c'est ça:

<?php

session_start();


if (isset($_SESSION['logged']) && $_SESSION['logged'] == false)
{

}
else
{
ouverture de ta BDD
}
mysql_close
?>


d'après moi ton problème pourrait venir de là..

il faudrait fermer la BDD avant de fermer le else...
0
pour_quoi_pas Messages postés 40 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 25 août 2006 10
7 août 2006 à 10:06
heu si ça ne marche pas ce ne serait pas à cause de tes requêtes UPDATE et DELETE qui ne sont pas vraiment conformes.

un petit tour ici sqlmaj
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
6 août 2006 à 14:58
salut

bon alors déjà dans tes premières lignes.... "=== false", tu dois enlever un "=".

ensuite, à moins que j'ai mal regardé, dis le moi, c'est quoi ta variable??
 if (isset($_POST['membres']))
{

je n'ai pas vu de variable membres, donc à cet endroit là, je te conseille de mettre un nom à ton bouton submit et d'en faire une variable.
comme ça:
<input type="submit" name="mise_a_jour" value="Envoyer">


et à la place de la variable "membres"(que je n'ai pas ue), tu vérifies si la variable mise_a_jour existe et qu'elle contient Envoyer.

pour ta deuxième page je te conseillerai de plus préciser à ta BDD ce que tu veux supprimer.
DELETE FROM membres WHERE pseudo='"'.$pseudo.'"', par exemple

a+
-1