besoin d'aide urgent update bd - PHP - Programmation
Marsh Posté le 06-07-2003 à 18:20:55
Déjà, le header() marchera pas. Quand tu fais un require() ou un include() ou un echo ou autres fonctions d'entrée/sortie, tu peux oublier la fonction header().
Après, je pige pas du tout ce que tu veux faire
Marsh Posté le 06-07-2003 à 18:22:09
ouais merci, mais concrètement ?
ça devrait donner quoi sachant que je nomme les champs comme ça : nom_membre, prenom_membre, ...
merci
Marsh Posté le 06-07-2003 à 18:23:24
Taiche a écrit : Déjà, le header() marchera pas. Quand tu fais un require() ou un include() ou un echo ou autres fonctions d'entrée/sortie, tu peux oublier la fonction header(). |
Pas forcément. Tant que rien n'a été écrit sur la sortie standard, il peut utiliser la fonction header()
Marsh Posté le 06-07-2003 à 18:25:28
mrBebert a écrit : Pas forcément. Tant que rien n'a été écrit sur la sortie standard, il peut utiliser la fonction header() |
Non, include() ou require() empêche le bon déroulement de header(). cf http://www.php.net/manual/fr/function.header.php
Citation : N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. |
Marsh Posté le 06-07-2003 à 18:26:31
Neojack a écrit : ouais merci, mais concrètement ? |
Tu fais un formulaire HTML, qui poste vers un script PHP. Dans ce script, tu auras quelque chose du genre :
$requete = "UPDATE membre SET nom='" . addslashes($nom_membre) . "', prenom='" . addslashes($prenom_membre) . "' WHERE id=" . $id;
Marsh Posté le 06-07-2003 à 18:27:47
Taiche a écrit :
|
relis bien la citation
Marsh Posté le 06-07-2003 à 18:30:21
mrBebert a écrit : |
Ah oké, ça signifie qu'il faut obligatoirement des lignes vides dans le fichier
Merci
Marsh Posté le 06-07-2003 à 18:31:28
mrBebert a écrit : Tu fais un formulaire HTML, qui poste vers un script PHP. Dans ce script, tu auras quelque chose du genre : |
ouais ça me botte ça ... si tu pouvais développer un poil plus le code ça serait terrible mon gars... merci d'avance...
Marsh Posté le 06-07-2003 à 18:33:05
Taiche a écrit : |
Pour pas avoir de problème, il ne faut pas de lignes vides.
Si tu as un fichier qui contient des caractères (ne serait-ce qu'un espace ou un retour à la ligne) en dehors des balises <? ?>, ces caractères seront envoyés directement au client. Et le header() ne fonctionnera plus
Donc, quand on fait des fichiers destinés à être inclus, il faut faire attention à ne pas laisser de caractères en dehors des <? ?>
Marsh Posté le 06-07-2003 à 22:17:55
Alors voilà, j'ai utilisé ce code :
Code :
|
pour faire l'update du profil, mais il me met ce message d'erreur que je capte pas où est l'erreur...
Code :
|
Pour que vous voyez pleinement, voici le code de la page profil complet...
Code :
|
Marsh Posté le 07-07-2003 à 09:53:50
Neojack a écrit : Alors voilà, j'ai utilisé ce code :
pour faire l'update du profil, mais il me met ce message d'erreur que je capte pas où est l'erreur...
|
C'est ta requete qui merdoie, tu dois avoir une colonne de plus dans ta table non?
Il faut que tu précises tes colonnes dans le genre:
Code :
|
Et gaffe tu as oublié le $ devant prenom_membre
Marsh Posté le 07-07-2003 à 10:01:54
bon je viens d'utiliser une autre partie de code pour faire l'insert, la voici :
Code :
|
seulement, il me met ce message d'erreur :
Code :
|
je capte vraiment rien... dans la base de données, rien est update, je pense que je n'arrive pas à trouver la bonne façon de renseigner le champ de formulaire à mettre dans la BD, car si je ne mets pas le $ à prenom_membre par exemple, je vais avoir l'update dans ma BD...
A l'aide please
Marsh Posté le 07-07-2003 à 12:31:51
pfff allez un peu de traduction anglais-français nous donne:
Warning: Cannot add header information - headers already sent = "Avertissement : Ne peut pas ajouter l'information d'en-tête - en-têtes déjà envoyés" (Voila©)
Et pourquoi hein, parce que IL NE FAUT PAS METTRE DE CODE HTML AVANT D'ENVOYER UN HEADER.
Ensuite quand tu fais un update, tu n'insers pas d'enregistrement dans ta table on est bien d'accord? Tu mets des enregistrements à jour et c'est pas du tout pareil. Alors va falloir que tu choisisses ce que tu veux faire.
Enfin si tu veux vraiment qu'on t'aide ça serait sympa de filer la structure de la table, c'est nettement plus pratique pour comprendre pourquoi une requete marche pas!
Marsh Posté le 07-07-2003 à 12:55:28
Champ Type Attributs Null Défaut Extra
id_membre int(10) Oui NULL
id varchar(20) Oui NULL
pseudo varchar(20) Oui NULL
passe varchar(20) Oui NULL
nom varchar(30) Oui NULL
prenom varchar(30) Oui NULL
totem varchar(30) Oui NULL
email varchar(50) Oui NULL
telephone varchar(15) Oui NULL
gsm varchar(15) Oui NULL
rue varchar(100) Oui NULL
postal varchar(5) Oui NULL
localite varchar(30) Oui NULL
Marsh Posté le 07-07-2003 à 13:02:24
voila une requête d'insertion:
Code :
|
pour le problème de ton header, lis le lien donné par Taiche un peu plus haut... ne mets pas de HTML avant de faire ton header
Marsh Posté le 07-07-2003 à 13:03:41
dropsy a écrit :
|
ben je passe par frontpage pour l'aspect graphique et il me remet chaque fois mon code php dans le body...
Marsh Posté le 07-07-2003 à 13:12:31
Neojack a écrit : |
bah frontpage n'est peut-être pas le soft qu'il faut utiliser alors
Marsh Posté le 07-07-2003 à 13:15:17
ben je suis passé par bloc notes pour remettre le code php contenant le header tout en début de page avant même le <head> et il me fait quand même l'erreur, ... de pus je n'arrive toujours pas à faire l'enregistrement dans la base de données.
Marsh Posté le 07-07-2003 à 13:17:39
tu as du laisser une ligne vide en haut du fichier ou dans le fichier que tu inclus... normalement le message d'erreur te donne la ligne ou commence la sortie
Marsh Posté le 07-07-2003 à 13:26:31
je n'inclus pas de fichier tout est dans le même fichier ... je ne fais aucun include .
Marsh Posté le 07-07-2003 à 14:32:27
dropsy a dû oublier de supprimer un mot :
|
Il faut bien entendu virer l'update ...
Marsh Posté le 07-07-2003 à 14:45:55
Reply
Marsh Posté le 06-07-2003 à 18:16:00
Voilà, j'ai mis ne place un système d'identification de membres pas users et mot de passe... j'ai créer un formulaire permettant de modifier le profil, enfin, surtout venir le compléter... Alors mon problème réside dans le fait que je ne sais pas comment faire pour que en cliquant sur le bouton "valider", les données introduites viennet s'enregistrer dans la base mysql...
Voici ce que j'ai déjà comme code en début de page pour vérifier que la personne qui arrive sur la page profil est bien passée par le formulaire d'identification.
Voilà j'espère que vous pourrez m'aider...
Message édité par neojack le 07-07-2003 à 12:08:18