Modifié des donnés mysql via le php

phpnull -  
Kopros Messages postés 595 Date d'inscription   Statut Membre Dernière intervention   -
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 ?



A voir également:

1 réponse

@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
@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
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
Kopros Messages postés 595 Date d'inscription   Statut Membre Dernière intervention   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
phpnull
 
Merci j'essaye !
0
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