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 :

Requête de mise à jour


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut Requête de mise à jour
    Je comprend pas j'ai une probleme avec ma requete UPDATE qui ne fonctione pas voila les infos recuperer.
    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
     
    <form method="POST" action="index.php?page=9&pages=modifcli&id=<?php echo $id;?>">
    		<table border="1" align="center" bgcolor="cccccc" width="40%">
    			<tr bgcolor='white'>
    				<td width="70">
    				<p align="left">Nom :</td>
    				<td><input type="text" name="nom_client" value="<?php echo $nom_client;?>" size="40"></td>
    			</tr>
    			<tr bgcolor='white'>
    				<td width="70">Prénoms :</td>
    				<td><input type="text" name="prenom" value="<?php echo $prenom;?>" size="40"></td>
    			</tr>
    			<tr bgcolor='white'>
    				<td width="70">Société :</td>
    				<td><input type="text" name="soc_client" value="<?php echo $soc_client;?>" size="40"></td>
    			</tr>
    			<tr bgcolor='white'>
    				<td width="70">Adresse :</td>
    				<td><input type="text" name="adres_client" value="<?php echo $adres_client;?>" size="40"></td>
    			</tr>
    			<tr bgcolor='white'>
    				<td width="70">Code Postal :</td>
    				<td><input type="text" name="postal_client" value="<?php echo $postal_client;?>" size="40"></td>
    			</tr>
    			<tr bgcolor='white'>
    				<td width="70">Ville :</td>
    				<td><input type="text" name="ville_client" value="<?php echo $ville_client;?>" size="40"></td>
    			</tr>
    			<tr bgcolor='white'>
    				<td width="70">Téléphone :</td>
    				<td><input type="text" name="tel_client" value="<?php echo $tel_client;?>" size="40"></td>
    			</tr>
    			<tr bgcolor='white'>
    				<td width="70">Fax :</td>
    				<td><input type="text" name="fax_client" value="<?php echo $fax_client;?>" size="40"></td>
    			</tr>
    			<tr bgcolor='white'>
    				<td width="70">E-mail</td>
    				<td><input type="text" name="mail_client" value="<?php echo $mail_client;?>" size="40"></td>
    			</tr>
     
    			<tr bgcolor='white'>
    				<td><input type="submit" value="Envoyer" name="B1"><input type="reset" value="Effacer" name="B2"></td>
    			</tr>
    		</table>
    		</form>
    Et voila la requete 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
     
    <?php
    if(!isset($_SESSION['pseudo']))
    {
    echo "<script language='javascript'>document.location='index.php?page=1'</script>";
    }
    ?>
    <?
    require("conf.php");
     
    $id = $_POST['id'];
    $nom_client = $_POST['nom_client'];
    $prenom = $_POST['prenom'];
    $soc_client = $_POST['soc_client'];
    $adres_client = $_POST['adres_client'];
    $postal_client = $_POST['postal_client'];
    $ville_client = $_POST['ville_client'];
    $fax_client = $_POST['fax_client'];
    $tel_client = $_POST['tel_client'];
    $mail_client = $_POST['mail_client'];
     
     
    $connection = mysql_connect("$sql_serveur","$sql_login","$sql_pass");  
    // test la connection  
    if ( ! $connection )  die ("connection impossible");  
      // Connecte la base  
      mysql_select_db($sql_bdd) or die ("pas de connection");
     
    mysql_query("UPDATE client SET nom_client='$nom_client', prenom='$prenom',  soc_client='$soc_client',  adres_client='$adres_client', postal_client='$postal_client', ville_client='$ville_client', fax_client='$fax_client', tel_client='$tel_client', mail_client='$mail_client' WHERE id='$id' LIMIT 1") or die ("ERREUR SQL UPDATE client");
     
     
     
    // DECONNEXION MYSQL	
    mysql_close($connection);
     
     
     
    ?>

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    TU ne vérifie pas si les $_POST ne sont pas vides déjà, je te conseil de le faire sinon ecrit la requete comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE client SET nom_client='$nom_client', prenom='$prenom',  soc_client='$soc_client',  adres_client='$adres_client', postal_client='$postal_client', ville_client='$ville_client', fax_client='$fax_client', tel_client='$tel_client', mail_client='$mail_client' WHERE id='$id'") or die ("ERREUR SQL UPDATE client ".mysql_error());
    EDIT par ailleurs cette ligne est incorrect :

    C'est :


  3. #3
    Membre éclairé
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Par défaut
    Salut.

    Ok, elle fonctionne pas. Mais quel est le message d'erreur?

    D'ailleurs, je vois un LIMIT 1 dans ton update, pas sur que ce soit autorisé de mettre un limit dans un update (mais dans tout les cas c'est inutile, car tu donne l'ID, et comme c'est la priimary key, il est forcément unique!)

    Et pour les tests (UNIQUEMENT POUR LES TESTS!!!) affiche plutot un mysql_error() dans ton die.

    Onet

  4. #4
    Membre éclairé
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Par défaut
    Citation Envoyé par obito Voir le message
    TU ne vérifie pas si les $_POST ne sont pas vides déjà, je te conseil de le faire
    Vérifier si les POSTs sont bien remplis, ET (je dirais meme surtout...) que les valeurs soient autorisée... Car le code mis tel quel, c'est l'injection SQL en 10s...

    Onet

  5. #5
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Alors la rien à redire Oui c'est sur c'est très important de protéger les variables avec un mysql_real_escape_string par exemple...

    Et oui bien évidemment la sécurité est plus importante qu'une variable vide on est bien d'accord sur ce point.

    En tout cas jarod6827 essaie de faire ce que l'on t'as proposé et tiens nous au courant =)

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Par défaut
    d'ailleurs moi je passerai plutôt la valeur id en input hidden ca évite déjà beaucoup de problème et au moins c'est en POST
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    <form method="POST" action="index.php?page=9&pages=modifcli" >
    ...
    </table>
    <input type="hidden" name="id" value="<?php echo $id;?>" >
    </form>
    ...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    Mon probleme de requette était du <? il manque php
    Mon probleme est resolu merci a tous de votre aide.

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

Discussions similaires

  1. Requête de mise à jour
    Par Daniel MOREAU dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/09/2006, 14h18
  2. Problème avec une requête de mise à jour
    Par Le Pharaon dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/07/2006, 12h16
  3. Requête de mise à jour
    Par Deejoh dans le forum Access
    Réponses: 4
    Dernier message: 24/05/2006, 12h02
  4. Réponses: 2
    Dernier message: 10/03/2006, 13h55
  5. Réponses: 6
    Dernier message: 29/11/2005, 19h36

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