Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3007 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  prob upload champ dans BD à partir d'un formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

prob upload champ dans BD à partir d'un formulaire

n°450072
neojack
Posté le 07-07-2003 à 12:28:43  profilanswer
 

voilà, j'ai des difficultés à mettre au point mon système de modification de profil... en fait, je crée pour les users, le login et le pass, et eux lors de la first connexion ou par après devraient pouvoir se rendre dans la page de profil pour le modifier... seulement je n'arrive pas à faire ça...
 
J'ai mes champs de formulaire, mais quand je fais un :
 
mysql_query("update membre set nom=' ???? ' .... where id ='$id'" );
 
je sais pas quoi mettre pour spécifier le champ de formulaire...  
 
please help me


Message édité par neojack le 07-07-2003 à 18:17:26
mood
Publicité
Posté le 07-07-2003 à 12:28:43  profilanswer
 

n°450080
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-07-2003 à 12:36:21  profilanswer
 

si ton formulaire est en GET:  

Code :
  1. $_GET['nomdetonchamps']


si en POST

Code :
  1. $_POST['nomdetonchamps']


 

n°450086
neojack
Posté le 07-07-2003 à 12:43:22  profilanswer
 

voilà je viens de modifier mon code, et j'ai encore des problèmes.
 
voici mon code

Code :
  1. [cpp]mysql_query("Update membre SET nom =$_POST['nom_membre'] where id=\"$id\"" );


 
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\nicolas\siteweb\160\profil.php on line 49

n°450089
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-07-2003 à 12:46:03  profilanswer
 

et dis tu veux pas qu'on te le fasse en entier aussi des fois????
ça te dis pas de chercher un peu?
 
Juste une question comme ça en passant, c'est quoi le type de nom dans ta table?

n°450091
neojack
Posté le 07-07-2003 à 12:48:37  profilanswer
 

Anapajari a écrit :

et dis tu veux pas qu'on te le fasse en entier aussi des fois????
ça te dis pas de chercher un peu?
 
Juste une question comme ça en passant, c'est quoi le type de nom dans ta table?


 
ouais je veux bien que tu me le fasses car là je suis désespéré ça fait des heures que je cherche sans résultat... le type dans la BD de nom c'est VARCHAR

n°450096
dropsy
et bonne chance surtout...
Posté le 07-07-2003 à 12:53:58  profilanswer
 

je crois que la question de Anapajari était ironique :sarcastic:  
 
enfin, comme ça ça devrait être mieux:

Code :
  1. mysql_query("Update membre SET nom ='".$_POST['nom_membre']."' where id=\"$id\"" );


n°450102
Mara's dad
Yes I can !
Posté le 07-07-2003 à 12:57:51  profilanswer
 

Ou comme çà :
 

Code :
  1. mysql_query("Update membre SET nom ='{$_POST['nom_membre']}' where id=$id" );


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°450119
neojack
Posté le 07-07-2003 à 13:08:28  profilanswer
 

:pt1cable: l'enregistrement d'update ne se fait pas dans la base de données........................ je vais devenir complètement  :pt1cable:

n°450195
neojack
Posté le 07-07-2003 à 14:30:14  profilanswer
 

:bounce:

n°450219
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-07-2003 à 14:51:37  profilanswer
 

T'es sur d'avoir un enregistrement avec cet id la?
Si tu remplaces les variables par leurs valeurs tu obtiens quoi comme requete?

mood
Publicité
Posté le 07-07-2003 à 14:51:37  profilanswer
 

n°450237
neojack
Posté le 07-07-2003 à 15:03:58  profilanswer
 

si au lieu de référer une variable de champ de formulaire je met ce qui devrait apparaître, entre les quotes, ben là l'enregistrement sera actif dans la BD... franchement je capte plus rien.... ça fait des heures que j'essaie

n°450274
Mara's dad
Yes I can !
Posté le 07-07-2003 à 15:23:01  profilanswer
 

// mysql_query("Update membre SET nom ='{$_POST['nom_membre']}' where id=$id" );
echo("Update membre SET nom ='{$_POST['nom_membre']}' where id=$id" );
exit;


 
Il affiche quoi l'echo ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°450319
neojack
Posté le 07-07-2003 à 15:51:19  profilanswer
 

Mara's dad a écrit :

// mysql_query("Update membre SET nom ='{$_POST['nom_membre']}' where id=$id" );
echo("Update membre SET nom ='{$_POST['nom_membre']}' where id=$id" );
exit;


 
Il affiche quoi l'echo ?


 
j'ai pas d'écho, vu que je dois rien afficher mais juste pouvoir enregistrer dans la base de données.

n°450332
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-07-2003 à 16:00:58  profilanswer
 

Neojack a écrit :


 
j'ai pas d'écho, vu que je dois rien afficher mais juste pouvoir enregistrer dans la base de données.


:lol:  t'es enorme ...
Justement mara te disait d'en rajouter un afin que la requete qui est executée soit affichée et qu'on puisse verifier!

n°450342
neojack
Posté le 07-07-2003 à 16:11:35  profilanswer
 

ouais sorry mais je capte vraiment rien à ce que vous me raconter... pfffff j'ai tellement modifier mon code avec ce que vous me disiez et tellement eu d'erreur différente et débile que là j'ai plus rien capté...

n°450497
neojack
Posté le 07-07-2003 à 18:16:59  profilanswer
 

bon, j'ai encore essayé tout mon après midi, mais là je crois que je vais me tirer une balle, je n'arrive pas à faire ce que je veux... j'ai donc mon formulaire avec mes champs de formulaire... prenons en un, nom_membre
je voudrais que quand l'utilisateur le complete et valide, l'upload soit fait dans la base de données...
 
j'ai mis dans mon code php inclut directement dans ma page profil.php ce code :

Code :
  1. $upload = "update membre set nom='$_POST['nom_membre'] where id='$id'";

qui donc en fait est une variable nommée upload.
 
Sur mon formulaire, j'ai mis ceci :

Code :
  1. <form method:"post" action="$upload">


 
Mais quand je charge la page profil pour vouloir aller le modifier, j'ai ceci comme message d'erreur :

Code :
  1. Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\nicolas\siteweb\160\profil.php on line 43


 
Là je deviens complètement fou.... s'il vous plait aidez moi encore ... merci

n°450510
neojack
Posté le 07-07-2003 à 18:27:29  profilanswer
 

:bounce: allez j'ai b'soin d'aide........................................................................................................................

n°450520
ratibus
Posté le 07-07-2003 à 18:34:53  profilanswer
 

Neojack a écrit :

bon, j'ai encore essayé tout mon après midi, mais là je crois que je vais me tirer une balle, je n'arrive pas à faire ce que je veux... j'ai donc mon formulaire avec mes champs de formulaire... prenons en un, nom_membre
je voudrais que quand l'utilisateur le complete et valide, l'upload soit fait dans la base de données...
 
j'ai mis dans mon code php inclut directement dans ma page profil.php ce code :

Code :
  1. $upload = "update membre set nom='$_POST['nom_membre'] where id='$id'";

qui donc en fait est une variable nommée upload.
 
Sur mon formulaire, j'ai mis ceci :

Code :
  1. <form method:"post" action="$upload">




 
 
faut changer ça d'abord :

Code :
  1. <form method="post" action="lenomdetonscriptquivaafireupdate.php">


 
puis dans le script php en question, tu te connecte à la base et tu exécute la requete :
"UPDATE member SET nom=".$POST['nom']." WHERE id=".$POST['id']
 
si l'id est passée aussi par le formulaire, sinon tu mets :
 
"UPDATE member SET nom=".$POST['nom']." WHERE id=$id"
 


Message édité par ratibus le 07-07-2003 à 18:36:56
n°450522
neojack
Posté le 07-07-2003 à 18:38:00  profilanswer
 

ratibus a écrit :


 
 
faut changer ça d'abord :

Code :
  1. <form method="post" action="lenomdetonscriptquivaafireupdate.php">


 
puis dans le script php en question, tu te connecte à la base et tu exécute la requete :
"UPDATE member SET nom=".$POST['nom']." WHERE id=".$POST['id']
 
si l'id est passée aussi par le formulaire, sinon tu mets :
 
"UPDATE member SET nom=".$POST['nom']." WHERE id=$id"
 
 


 
donc je crée un nouveau fichier .php contenant l'information d'upload.... elle ne doit pas se trouver dans la même page que les infos uploader ? c'est ça ?

n°450532
ratibus
Posté le 07-07-2003 à 18:55:41  profilanswer
 

t'es pas obligé de faire un fichier séparé, le fichier vers lequel le formulaire est posté peut etre le meme que celui qui affiche le formulaire mais qui réagit différemment.
 
faut voir si c'est pertinent ensuite de faire des fichiers séparé ou non

n°450534
neojack
Posté le 07-07-2003 à 19:00:27  profilanswer
 

bon j'ai créé un fichier upload.php contenant ça :

Code :
  1. <?php
  2. require("conf.php" );
  3. // CONNEXION MYSQL
  4. $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  5. if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
  6. // SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
  7. $requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link) or die(mysql_error());
  8. // upload dans la bd
  9. mysql_query="UPDATE member SET nom=".$POST['nom_membre']." WHERE id='$id'";
  10. // DECONNEXION MYSQL  
  11. mysql_close($db_link);
  12. ?>


 
et j'ai une erreur que voici... de plus, l'enregistrement n'est pas effectué dans la base.

Code :
  1. Parse error: parse error, unexpected '=' in d:\nicolas\siteweb\160\upload.php on line 9


Message édité par neojack le 07-07-2003 à 19:02:54
n°450535
neojack
Posté le 07-07-2003 à 19:00:43  profilanswer
 

Au fait, merci à toi ratibus,
 
edit : voici les spécifications des champs de la table membre :
 

Code :
  1. Champ Type Attributs Null Défaut Extra 
  2. id_membre  int(10)   Oui  NULL   
  3. id  varchar(20)   Oui  NULL   
  4. pseudo  varchar(20)   Oui  NULL   
  5. passe  varchar(20)   Oui  NULL   
  6. nom  varchar(30)   Oui  NULL   
  7. prenom  varchar(30)   Oui  NULL   
  8. totem  varchar(30)   Oui  NULL   
  9. email  varchar(50)   Oui  NULL   
  10. telephone  varchar(15)   Oui  NULL   
  11. gsm  varchar(15)   Oui  NULL   
  12. rue  varchar(100)   Oui  NULL   
  13. postal  varchar(5)   Oui  NULL   
  14. localite  varchar(30)   Oui  NULL


Message édité par neojack le 07-07-2003 à 19:02:25
n°450590
ratibus
Posté le 07-07-2003 à 20:34:45  profilanswer
 

Neojack a écrit :

bon j'ai créé un fichier upload.php contenant ça :

Code :
  1. <?php
  2. require("conf.php" );
  3. // CONNEXION MYSQL
  4. $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  5. if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
  6. // SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
  7. $requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link) or die(mysql_error());
  8. // upload dans la bd
  9. mysql_query="UPDATE member SET nom=".$POST['nom_membre']." WHERE id='$id'";
  10. // DECONNEXION MYSQL  
  11. mysql_close($db_link);
  12. ?>


 
et j'ai une erreur que voici... de plus, l'enregistrement n'est pas effectué dans la base.

Code :
  1. Parse error: parse error, unexpected '=' in d:\nicolas\siteweb\160\upload.php on line 9




 
dejà j'appelerai pas le fichier upload.php mais plutot update (l'upload ça a rien à voir  :) )
 
sinon le problème c'est la clause where. Pour les champs numériques il ne faut pas mettre de guillement ou de quote autour de la valeur (par exemple id=5 et non pas id='5' ou id="5" )
 
sinon comment récupères-tu l'id ?

n°450606
neojack
Posté le 07-07-2003 à 21:13:36  profilanswer
 

ratibus a écrit :


 
dejà j'appelerai pas le fichier upload.php mais plutot update (l'upload ça a rien à voir  :) )
 
sinon le problème c'est la clause where. Pour les champs numériques il ne faut pas mettre de guillement ou de quote autour de la valeur (par exemple id=5 et non pas id='5' ou id="5" )
 
sinon comment récupères-tu l'id ?


 
ouais bon je sais la différence mais je l'ai mis comme ça mais ça change pas grand chose lol

n°450607
neojack
Posté le 07-07-2003 à 21:14:58  profilanswer
 

en fait, quand le user se connecte, il crée un id alternatif composé de chiffres et de lettres, qui va être repris dans chaque url pour accéder au fichier sécurisé. Donc l'id est créé alternativement...
 
 

n°450611
ratibus
Posté le 07-07-2003 à 21:19:50  profilanswer
 

un identifiant de session en gros
 
la clé primaire de ta table membre c koi ?

n°450618
neojack
Posté le 07-07-2003 à 21:38:17  profilanswer
 

ratibus a écrit :

un identifiant de session en gros
 
la clé primaire de ta table membre c koi ?


 
dis, tu aurais pas msn par hasard ? ça serait un poil plus simple
 
EDIT : pas de clé primaire active


Message édité par neojack le 07-07-2003 à 21:38:46
n°450624
ratibus
Posté le 07-07-2003 à 21:57:39  profilanswer
 

check tes MP

n°450639
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-07-2003 à 23:04:06  profilanswer
 

Neojack a écrit :


// upload dans la bd
mysql_query="UPDATE member SET nom=".$POST['nom_membre']." WHERE id='$id'";


Tu devrais avoir des ' autour de la valeur de nom car c'est un type varchar ...
Dans le style:

Code :
  1. mysql_query="UPDATE member SET nom='".$POST['nom_membre']."' WHERE id='$id'";


n°450735
neojack
Posté le 08-07-2003 à 09:16:03  profilanswer
 

bon avec l'aide de ratibus, ça marche plus ou moins, par contre, si j'ai completé le profil, et que je veux venir le remodifier, la valeur modifiée dedans ne se change pas dans la base de données... vous avez une idée ? devrais créer un bouton delete pour chaque champ de formulaire, ce qui me paraît dommage ou alors est-il possible d'insérer un code qui ferait une UPDATE complet... car là j'utilise bien la fonction UPDATE, mais comme dit plus haut, si j'ai déjà une value , l'update ne se fait pas ...
 
Merci encore à tous

n°450738
ratibus
Posté le 08-07-2003 à 09:21:55  profilanswer
 

t'as gardé l'update que je t'ai fait ?
si oui, il ne change pour l'instant que le nom
 
pour changer plusieurs champs en meme temps  :
http://www.phpdebutant.com/article64.php


Message édité par ratibus le 08-07-2003 à 09:22:48
n°450741
neojack
Posté le 08-07-2003 à 09:24:29  profilanswer
 

voilà problème réglé...
 
 :jap:  
 
tiens au fait ratibus, tu vois quand je viens de me logger, puis quand je vais dans la page de profil j'ai ce message d'erreur en haut de la page ...  
 

Code :
  1. Warning: Cannot add header information - headers already sent by (output started at d:\nicolas\siteweb\160\profil.php:3) in d:\nicolas\siteweb\160\modprofil.php on line 17


Message édité par neojack le 08-07-2003 à 09:24:46
n°450743
anapajari
s/travail/glanding on hfr/gs;
Posté le 08-07-2003 à 09:28:16  profilanswer
 

des gens t'ont déjà repondu la, c'est toujours la même chose:
http://forum.hardware.fr/forum2.ph [...] h=&subcat=

n°450748
neojack
Posté le 08-07-2003 à 09:32:27  profilanswer
 

Anapajari a écrit :

des gens t'ont déjà repondu la, c'est toujours la même chose:
http://forum.hardware.fr/forum2.ph [...] h=&subcat=


 
ben oui ben pourtant dans le code j'ai ça comme ça :
 
<?php include .... ?>
<html>
 
et ça change rien ...

n°450750
neojack
Posté le 08-07-2003 à 09:34:32  profilanswer
 

ratibus dis, si je me relogge, les données ne restent pas dans la base, elles sont remises à zéro  :pt1cable:
 
sauf le pseudo et le pass qui sont crée par moi


Message édité par neojack le 08-07-2003 à 09:34:48
n°450770
ratibus
Posté le 08-07-2003 à 09:53:51  profilanswer
 

check tes MP

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  prob upload champ dans BD à partir d'un formulaire

 

Sujets relatifs
Changer deux frames à partir d'un seul lien[ js ] Création de formulaire en ...
prob: getimagesize() et chaîne de caractèreRemplire un formulaire PHP sous Delphi
[Access] Chemin d'une variable dans un sous-formulaireLimiter un champ texte multilignes à X caracrtères ?
confirmation avant de valider un formulaire[VBA] Access Lier formulaire et sous-formulaire
[access 2k] server filter d'un formulaire qui se bloque[Perl CGI] Passer des paramètres à une cgi à partir d'une autre cgi
Plus de sujets relatifs à : prob upload champ dans BD à partir d'un formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR