Modifié des donnés mysql via le php
phpnull
-
Kopros Messages postés 631 Statut Membre -
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
-
oui c est tout a fait possible
je vous prépare un code d'exemple
-
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'])); -
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/)
-
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). -
-
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>
-