Modification dans une BD a partire d'une page web

Résolu
newgame Messages postés 52 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 24 juillet 2013 - 26 avril 2010 à 21:46
devil_may_cry Messages postés 194 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 11 juillet 2015 - 29 avril 2010 à 01:52
bonjour,
je prépare un site web pour ma faculté et dans ce site chaque prof aura un profile où je lui offre la possibilité de modifier ces données personnels à partir d'un formulaire où il sera affiché les anciennes informations concernant l'utilisateur et puis ce dernier appliquera les modifications voulus et il sera rediriger vers une page pour appliquer la modif.
pour ne pas être long voici le code source des pages de modification:
la page d'affichage de données personnel
<?php
$bd= mysql_connect("localhost","root","");
$con=mysql_select_db("projet");
if($con)
{
echo"succes de la connexion";
}
else
{
echo"erreur";
}
$mdp=$_POST['mdp'];
$email=$_POST['mail'];
$req="select * from inscri where mail='$email' and mdp='$mdp'";
$var=mysql_query($req);
if($var=mysql_query($req))
{
WHILE ($row=mysql_fetch_array($var))
{
$a=$row["name"];
$z=$row["pre"];
$e=$row["id"];
$r=$row["mail"];
$t=$row["photo"];
}};
echo"<form name='f' action='update.php' method='post' enctype='multipart/form-data'>
*nom:,
,

----

*prenom:, ,

----

*cin:, ,

----

*email:, ,

----

photo:,



</form>";
?>


et voici update.php:
<?php
$bd =mysql_connect("localhost","root","");
$con=mysql_select_db("projet");
if($con)
{
echo"succe de la connexion
";
}
else
{
echo"erreur";
}
$nom=$_POST['nom'];
$pr=$_POST['prenom'];
$cin=$_POST['cin'];
$email=$_POST['mail'];
$mdp=$_POST['mdp'];
$photo=$_FILES['photo'];
$res="update inscri set name='$nom',pr='$pr',id='$cin',mail='$email',mdp='$mdp',photo='$photo'";
if($res){
echo"modification reussite";
}
mysql_query($res);
mysql_close($bd);
?>

11 réponses

devil_may_cry Messages postés 194 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 11 juillet 2015
27 avril 2010 à 03:40
voici ton update modifier avec celui-ci ca doit marcher
<?php
$idcon = mysql_connect("localhost","root","");
if ($idcon ) {
/* c'est pas interessant d'utiliser
$idcon juste pour ca donc
en guise de complément $idcon est identifiant de la connexion il est très utile pour différencier les connexion dans le cas ou on en fait sur plusieurs serveur ou plusieurs base */

// si la connexion au serveur c'est bien passer on essaie de selectionner notre base
if ( mysql_select_db("projet",$idcon) ) {
echo "la connexion et la selection de la base c'est bien derouler";
} else {
//erreur lors de la selection de la base
die("Erreur fatale la connexion au serveur c'est bien derouler mais la selection de la base est un echec mysql restourne l'erreur suivante :".mysql_error());
}

} else {

die("Erreur fatal impossible de se connecter au serveur mysql a retourner l'erreur suivante : ".mysql_error());
}

//deboguage pour voir si toute les donnes on bien été envoyer
echo "";
print_r($_POST);
echo "

";

// veuille a toujour securiser tes donnes que tu doit inserer dans ta base

$nom = $_POST['nom'];
$pr = $_POST['prenom'];
$cin = $_POST['cin'];
$email = $_POST['mail'];
$mdp = $_POST['mdp'];
$photo = $_FILES['photo'];
// ici c'est un desastre la remaque de kohntark est vrai tu risque d'avoir ta table avec des enregistrements dont les donnes sont identique
// pour palier a cela tu peut par exemple envoyer la valeur de ton champs id qui doit etre unique ensuite effectuer une close where donc pour reparer ta requete je suppose que tu a envoyer
//$_POST['id'] que tu a recupere dans $id
$sql "UPDATE inscri SET name '$nom',pr = '$pr',id = '$cin',mail = '$email',mdp = '$mdp',photo = '$photo' where id='$id'";
$res = mysql_query($sql);
//test du deroulement de l'update
if($res){
echo"modification reussite";
//aller un coup de pousse pour ton upload
if (!move_uploaded_file($photo['tmp_name'],$dest)){
die("impossible de charger le fichier ".$photo['name']);
}//fin de l'upload
} else {
die("Erreur fatale lors de la mise a jour mysql a retourner : ".mysql_error());
}
mysql_close($idcon);

j'espere que ceci resoud ton probleme
?>
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
26 avril 2010 à 22:00
Salut,

Où est la question ???



Kohntark -
0
newgame Messages postés 52 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 24 juillet 2013
26 avril 2010 à 22:10
re,
le pbm c'est que la modif ne s'applique pas dans la base de données!!!!!
à vous mnt
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
26 avril 2010 à 22:23
Je n'ai parcouru que très rapidement et me suis arrêté à la première erreur trouvée.

Tu devrais, pour le debug, afficher les erreurs, notamment :

if($res){
echo"modification reussite";
} else die(mysql_error());

Parce que quelque chose me dit qu'il y a un pb ici :
$mdp=$_POST['mdp']; // $_POST['mdp'] ???


"à vous mnt" ...


Kohntark -
0

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

Posez votre question
newgame Messages postés 52 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 24 juillet 2013
26 avril 2010 à 23:14
non, je ne pense pas que se soit ça car la page update.php s'exécute normalement et n'affiche pas d'erreurs en tous les cas j'ai essayé ton truc mais rien n'a changé toujours pas de modif dans la base
d'autres solution ???
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
26 avril 2010 à 23:58
non, je ne pense pas que se soit ça car la page update.php s'exécute normalement et n'affiche pas d'erreurs

Bah si tu ne penses pas qu'il y ait un problème tant mieux !!
Par contre j'ai un léger doute sur le fait que ça te fasse avancer parce que dans le code que tu fournis je ne vois nul part une définition de la variable $_POST['mdp']
Si tu la vois merci de me le faire savoir.
Par ailleurs une requête SQL qui retourne une erreur ne te l'affichera pas forcement.

J'en ai profité pour lire 2 lignes de plus : sans clause WHERE tu risques de rencontrer quelques problèmes lorsque ta requête s'exécutera.

Regarde également la fonction mysql_real_escape_string(), teste les retours de ton formulaire, etc ...

Quel est le code de verif() ?


Kohntark -
0
newgame Messages postés 52 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 24 juillet 2013
28 avril 2010 à 22:32
j'ai ressayé en ajoutant 'where' mais rien n'as changé!!!!
0
newgame Messages postés 52 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 24 juillet 2013
28 avril 2010 à 22:38
j'ai aussi essayé le test de l'update il m'affiche modification réussite !!!!
toujours étant pas d'erreur le absolument aucun msg d'erreurs
0
newgame Messages postés 52 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 24 juillet 2013
28 avril 2010 à 22:39
alors que rien ne s'est passé
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 avril 2010 à 23:36
L'affichage des erreurs est il activé ?
Il serait bon que tu repostes ton code modifié et accessoirement que tu répondes aux questions qui te sont posées dans le but de t'aider :
Quel est le code de verif() ?


Ca serait sans doute plus constructif que de poster 3 messages en 8 minutes


Kohntark -
0
devil_may_cry Messages postés 194 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 11 juillet 2015
29 avril 2010 à 01:52
oui reposte ton code modifier celui du formulaire.php et de l'update.php
0
Rejoignez-nous