Modifié des donnés mysql via le php

phpnull -  
Kopros Messages postés 631 Statut Membre -
Bonjour, j'aimerais que depuis un formulaire html et un code php de pouvoir modifier des champs je m'explique, dans ma base clients j'ai 30 clients, j'aimerais choisir le clients que je souhaite modifier, et via un formulaire de modifier les donnée est-ce possible ?

1 réponse

  1. @lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription   Statut Membre Dernière intervention   208
     
    oui c est tout a fait possible

    je vous prépare un code d'exemple
    0
    1. @lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription   Statut Membre Dernière intervention   208
       
      alors voici un exemple de code d'un site que j'avais fait , bon je suis débutant encore alors c est pas un code parfait..... :/

      il permet de modifier un pseudo déjà existant dans la base de donnée si le mot de passe est juste

      <?php //<![CDATA[
      		if (strlen($_POST['new_pseudo']) <= 2) {
      			header('Location: membre.php?pseudo=Pseudo trop court 4 caractères minimum !');
      		}
      		if (isset($_POST['new_pseudo']) AND isset($_POST['password']) AND strlen($_POST['new_pseudo']) >= 3) {
      			try {
      
      			$bdd = new PDO('mysql:host=localhost;dbname=pseudo', 'root', '');
      
      			} catch(Exception $e) {
      
      				die('Ca deconne grave : ' . $e -> getMessage());
      
      			}
      
      			$pass_hache = sha1($_POST['password']);
      
      			if ($pass_hache == $_SESSION['password']) {
      				$id = $bdd -> prepare('UPDATE membre SET pseudo=:pseudo WHERE id=:id');
      				$id -> execute(array('pseudo' => htmlspecialchars($_POST['new_pseudo']), 'id' => $_SESSION['id']));
      				$idi = $id -> fetch();
      				session_destroy('pseudo');
      				$_SESSION['pseudo'] = htmlspecialchars($_POST['new_pseudo']);
      				$id -> closeCursor;
      				header('Location: membre.php?pseudo=Opération effectuée avec succés !');
      
      			} else {
      				header('Location: membre.php?pseudo=Mauvais indentifiant ou password !');
      			}
      		}
      		//]]>
      		?>


      les lignes intéressante sont

      $id = $bdd -> prepare('UPDATE membre SET pseudo=:pseudo WHERE id=:id');
      				$id -> execute(array('pseudo' => htmlspecialchars($_POST['new_pseudo']), 'id' => $_SESSION['id']));
      0
    2. phpnull
       
      Oui mais mois je veux pas de mot de passe moi j'ai juste nomprenom, civil,adresse,cp,ville,email,telephone,datedenaissance voilà et j'aimerais que quand je modifier le client jean dupont et bien toutes ses informations soit dans le champs mais sont modifiable genre les données du champs soit en placehorder (http://www.sdz-files.com/cours/html-css/p4/ch2/texte_monoligne_placeholder/)
      0
    3. Kopros Messages postés 631 Statut Membre 89
       
      Déjà dans la base de données il faut que chaque client ait un id unique (en auto-increment ça marche très bien).
      Ensuite tu construit ton formulaire avec php, par exemple avec un client qui a l'id 1 :

      $id_client=1;
      $query=mysql_query('SELECT * FROM clients WHERE id_client='.$id_client.';') or die (mysql_error().'Erreur de lecture.');
      $formulaire='<form action="" method="post">';        
      $res=mysql_fetch_array($query);
      
      $formulaire.='<input type="text" name="nomprenom" value="'.$res['nomprenom'].'"/>';
      
      $formulaire.='
      <input type="hidden" name="id_client" value="'.id_client.'"/>
      </form>
      ';
      


      Evidemment c'est loin d'être complet c'est juste un exemple.
      Ensuite quand le formulaire est posté faut que tu compares chaque champ avec la valeur dans la base de données pour voir s'il y a eu une modification, et si c'est le cas faut l'enregistrer (après vérification que la valeur saisie est correcte, bien sûr).
      0
    4. phpnull
       
      Merci j'essaye !
      0
    5. phpnull
       
      Il y a un problème sur ton code voici ma page
      http://img15.hostingpics.net/pics/89317523s.png
      et mon code
      
      ?>
      <!DOCTYPE html>
      <html>
          <head>
              <meta charset="utf-8" />
              <title>CashProg</title>
      		<LINK rel="stylesheet" type="text/css" href="style.css">
          </head>
      
          <body>
      	<table>
      	<tr>
      	<td>
      	<a href="127.0.0.1/cashprog/nouveauxclient.php" name="lol"> 
      	
      	</td>
      	
      $id_client=1;
      $query=mysql_query('SELECT * FROM clients WHERE id_client='.$id_client.';') or die (mysql_error().'Erreur de lecture.');
      $formulaire='<form action="" method="post">';        
      $res=mysql_fetch_array($query);
      
      $formulaire.='<input type="text" name="nomprenom" value="'.$res['nomprenom'].'"/>';
      
      $formulaire.='
      <input type="hidden" name="id_client" value="'.id_client.'"/>
      </form>
      ';
      *
      		</body>
      		
      0