Modification dans une BD a partire d'une page web [Résolu]

Signaler
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013
-
Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015
-
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

Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015

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
?>
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Où est la question ???



Kohntark -
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013

re,
le pbm c'est que la modif ne s'applique pas dans la base de données!!!!!
à vous mnt
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013

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 ???
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013

j'ai ressayé en ajoutant 'where' mais rien n'as changé!!!!
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013

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
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013

alors que rien ne s'est passé
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015

oui reposte ton code modifier celui du formulaire.php et de l'update.php