Version complète: sur le forum Webmaster Hub : site de tableau en vente ou location en ligne
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Mado
bonjour bonjour biggrin.gif

c'est un projet que je dois faire dans le cadre de mon diplome, j'ai choisi de faire un site de ventes ou locations de tableaux en ligne

au depart c'est moi qui vait entrer quelques tableaux, faut il que je cree une base d'images?

je pense que oui, mais comment je les nomme les images pour qu'elles soient sur le site?

ensuite les artistes pourront uploader eux meme les photos de leurs tableaux, est ce que ca va alimenter les bases que j'aurais creer pour les tableaux?

heu je peux vous mettre ici mon mcd (modele conceptuel de données) pour que vous regardiez si j'ai oublie quelque chose?

merci

1eye.gif
Arlette
CITATION
heu je peux vous mettre ici mon mcd (modele conceptuel de données) pour que vous regardiez si j'ai oublie quelque chose?


Si tu veux l'avis de la communauté, c'est mieux wink.gif . Il y aura toujours quelques specialistes pour te donner des conseils. smile.gif
Dan
Bonjour Marie,

Ce serait bien de poster ton MCD .. parce qu'en ce qui concerne le stockage des images tu as le choix.
  • soit tu stockes les images dans des champs 'blob'
  • soit tu ne stockes dans la base que le chemin des fichiers images sur le serveur
La deuxième solution est préférable pour plusieurs raisons: tu n'encombres pas ta base de données avec des éléments pour lesquels elle n'est pas vraiment prévue, et tu laisses pleinement le cache du navigateur jouer son rôle.

Le nommage de tes fichiers est question de choix personnel... tu peux par exemple choisir un nom de fichier avec une partie numérique qui s'incrémente automatiquement.

Dan
Mado
merci Dan et Arlette

je mettrais le mcd demain
Mado
donc voila, mon projet est un site de locations et ventes de tableaux en ligne
on va faire quand meme pas trop compliqué je pense

voila mon mcd

table artiste
id_artiste char30
Nom_artiste char30
Prenom_artiste char30
Adresse_artiste char100
Ville_artiste char30
Code_postale_artiste char30
Telephone_artiste char30
Mail_artiste char100
site_artiste char30
Id_tableau (cle primaire)?
MDP_artiste char30

table Tableau

id_tableau char30
Nom_tableau char30
taille_tableau char30
technique_tableau char100
orientation_tableau char30
prix_loc_tableau char30
prix_vente_tableau char30
Id_artiste (cle primaire)?
Id_categorie (cle primaire)?

Table_categorie
Id_categorie
Nom_categorie char50

table_clients
id_cleints char30
Nom_clients char30
Prenom_clients char30
Nom_entreprise char30
Adresse_clients char100
Ville_clients char30
Code_postale_clients char30
Telephone_clients char30
Mail_clients char100
site_clients char30
MDP_artiste char30

table_location
id_loc
date_loc
date_retour
montant_loc
id_client (cle primaire)?
id_tableau (cle primaire)?

Table_vente
id_vente
montant_vente
id_client
id_tableau

pour que les artistes puissent uploader les photos de leurs oeuvres ils doivent etre membres et pareil pour les clients si ils veulent louer ou acheter

il faut qu je cree des tables membres cleints et artistes je pense
du style

ident_cleint
nom_client
mdp_client
id_client

idem pour artiste

voila je ne sais pas trop ou mettre les cle primaire suis pas sur de moi sur le coup la

donc

les artistes pourront uploader eux meme leurs photos mettre le prix de location qui sera toujours pour un jour et le prix de vente et des infos sur le tableau voir table_tableau

sur les pages artistes les cleints pourront selectioner le tableau a louer mettre la duree de loc et le calcul se fera tout seul
saisir l'adresse de livraison si differente de l'adresse de facturation

c'est correct?

est ce un gros travail?

j'ai meme plus u mois pour faire ca?

wacko.gif
Mado
j'avais pas vu que tu l'avais deja mis excuses

heu par rapport a ce que tu m'a corrige j'ai rajoute une table galerie, parce qu'il faudra que les clients puissent savoir ou se trouve le tableau pour qu'il puisse soit aller le chercher soit le voir

#
# Table structure for table 'categorie'
#

CREATE TABLE categorie (
id_categorie int(10) unsigned NOT NULL auto_increment,
nom_categorie varchar(100) NOT NULL DEFAULT '' ,
PRIMARY KEY (id_categorie),
UNIQUE id_categorie (id_categorie),
INDEX id_categorie_2 (id_categorie)
);



#
# Dumping data for table 'categorie'
#


#
# Table structure for table 'location_vente'
#

CREATE TABLE location_vente (
id_loc_vente int(10) unsigned NOT NULL auto_increment,
type_transaction varchar(10) NOT NULL DEFAULT '' ,
date_debut varchar(10) NOT NULL DEFAULT '' ,
date_retour varchar(10) NOT NULL DEFAULT '' ,
montant int(10) NOT NULL DEFAULT '0' ,
id_membre int(10) NOT NULL DEFAULT '0' ,
PRIMARY KEY (id_loc_vente),
UNIQUE id_loc_vente (id_loc_vente),
INDEX id_loc_vente_2 (id_loc_vente)
);

peut etre faut que je mette aussi id_galerie dans la table tableau aussi comme ca on saura par galerie quel tableua on peut voir

#
# Dumping data for table 'location_vente'
#


#
# Table structure for table 'membre'
#

CREATE TABLE membre (
id_membre int(10) unsigned NOT NULL auto_increment,
statut tinyint(10) NOT NULL DEFAULT '0' ,
pseudo char(10) NOT NULL DEFAULT '' ,
nom_membre char(10) NOT NULL DEFAULT '' ,
prenom_membre char(10) NOT NULL DEFAULT '' ,
societe_membre char(10) NOT NULL DEFAULT '' ,
adresse_memre char(10) NOT NULL DEFAULT '' ,
cp_membre char(10) NOT NULL DEFAULT '' ,
ville_membre char(10) NOT NULL DEFAULT '' ,
tel_membre char(10) NOT NULL DEFAULT '' ,
mail_membre char(10) NOT NULL DEFAULT '' ,
mdp_membre char(10) NOT NULL DEFAULT '' ,
site_membre char(100) NOT NULL DEFAULT '' , j'ai rajoute ca aussi
PRIMARY KEY (id_membre),
UNIQUE id_membre (id_membre),
INDEX id_membre_2 (id_membre)
);



#
# Dumping data for table 'membre'
#


#
# Table structure for table 'tableau'
#

CREATE TABLE tableau (
id_tableau int(10) unsigned NOT NULL auto_increment,
nom_tableau varchar(100) NOT NULL DEFAULT '' ,
taille_tableau varchar(10) NOT NULL DEFAULT '' ,
technique_tableau varchar(10) NOT NULL DEFAULT '' ,
prix_loc_tableau int(10) NOT NULL DEFAULT '0' ,
prix_vente_tableau int(10) NOT NULL DEFAULT '0' ,
presence tinyint(10) NOT NULL DEFAULT '0' ,
id_categorie int(10) NOT NULL DEFAULT '0' ,
id_membre int(10) NOT NULL DEFAULT '0' ,
id_galerie int(10) NOT NULL DEFAULT '0' ,
PRIMARY KEY (id_tableau),
UNIQUE id_tableau (id_tableau),
INDEX id_tableau_2 (id_tableau)
);



#
# Dumping data for table 'tableau'
#

# Table structure for table 'galerie'
#

CREATE TABLE galerie (
id_galerie int(10) unsigned NOT NULL auto_increment,
nom_galerie varchar(100) NOT NULL DEFAULT '' ,
nom_galerie char(10) NOT NULL DEFAULT '' ,
adresse_galerie char(100) NOT NULL DEFAULT '' ,
cp_galerie char(10) NOT NULL DEFAULT '' ,
ville_galerie char(10) NOT NULL DEFAULT '' ,
tel_galerie char(10) NOT NULL DEFAULT '' ,
mail_galerie char(10) NOT NULL DEFAULT '' ,
site_galerie char (100) NOT NULL DEFAULT '' ,
id_membre int(10) NOT NULL DEFAULT '0' ,
id_tableau int(10) NOT NULL DEFAULT '0' ,
PRIMARY KEY (id_galerie),
UNIQUE id_galerie (id_galerie),
INDEX id_galerie_2 (id_galerie)
);

# Dumping data for table 'galerie'

j'aurai d'autres questions aussi mais la faut que j'y aille
a plus et merci
Mado
si je cree dans la table tableau un ligne support_tableau (exemple toile bois papier etc)

une ligne couleur tableau et une ligne theme_tableau

faut il que je cree une table pour chaque

couleur

id_couleur
nom_couleur

et
support
id_support
nom_support

theme
id_theme
nom_theme

parce que en fait les clients auront un critere de choix quand ils arriveront sur la page oeuvres

criteres de choix : prix _ taille _ couleur dominante_ theme _ support

la liste de ces choix, c'est bien dans les formulaires qu'ils se feront?

j'ai encore un peu de mal a comprendre la mechanique

wacko.gif

merci
smile
Et bien tu fais pas dans la demi-mesure wink.gif

Ca m'a l'air correct neanmoins, un peu trop scolaire à mon avis, ca me rappelle mes etudes de cas Merise smile.gif

Mais t'es sur la bonne voie wink.gif
Mado
bé je suis a l'ecole moué :yoot: alors c'est normal hihi

c'est cool ce que tu me dis c'est ce qu'ils veulent
pis si deja je comprends bien ca bé j'aurais plus qu'a progresser

merci

pourquoi tu me dis que je donne pas dans la demi mesure? unsure.gif
Anonymus
Ton script pose un certain nombre de problemes. Outre le fait que tu mentionnes 2 fois "nom_galerie" dans la table "galerie", tu mets id_tableau dans cette table. Or cela signifie qu'une galerie ne peut avoir qu'un seul tableau :
A la galerie n°55, le tableau n°32.
C'est incohérent.
Pourtant, tu mets bien id_galerie dans la table tableau : Un tableau est dans une et une seule galerie. Normal.

Sinon :
Pour site_membre, je te suggere d'augmenter le char(100). Il n'est pas rare d'avoir des url très longues (notamment pour les sites persos). et de mettre en varchar => varchar(255). Interet de varchar : Il prend la taille qu'il a besoin.
Pour code postal : On a rarement un code postal de 10 chiffres. Mets à 5, ca devrait suffire. Pour les noms de ville (table galerie, par exemple), augmentes aussi le nombre : beaucoup de villes ont un nom de plus de 10 lettres (exemple : Clermont-Ferrand)

Jettes un oeil aussi à la taille des mail_quelquechose. Avec char(10), tu ne permets 'que' 10 lettres pour une adresse email. Les adresses en webmaster-hub ont besoin d'au moins 19 lettres, c'est pour dire !

J'ai donc corrigé le id_categorie de la table categorie, en id_cat, (sinon il faut changer le nom des index partout),
j'ai enlevé le nom_galerie de galerie en trop,
j'ai enlevé le id_tableau dans la table galerie,
j'ai modifié le id_categorie dans la table tableau,
j'ai enlevé les commentaires,
à toi d'augmenter la taille allouée à chaque champs, comme mentionné plus haut.
Voilà. Sinon, la version corrigée de ton script SQL :
CITATION
CREATE TABLE categorie (
id_cat int(10) unsigned NOT NULL auto_increment,
nom_categorie varchar(100) NOT NULL DEFAULT '' ,
PRIMARY KEY (id_cat),
UNIQUE id_categorie (id_cat),
INDEX id_categorie_2 (id_cat)
);

CREATE TABLE location_vente (
id_loc_vente int(10) unsigned NOT NULL auto_increment,
type_transaction varchar(10) NOT NULL DEFAULT '' ,
date_debut varchar(10) NOT NULL DEFAULT '' ,
date_retour varchar(10) NOT NULL DEFAULT '' ,
montant int(10) NOT NULL DEFAULT '0' ,
id_membre int(10) NOT NULL DEFAULT '0' ,
PRIMARY KEY (id_loc_vente),
UNIQUE id_loc_vente (id_loc_vente),
INDEX id_loc_vente_2 (id_loc_vente)
);

CREATE TABLE membre (
id_membre int(10) unsigned NOT NULL auto_increment,
statut tinyint(10) NOT NULL DEFAULT '0' ,
pseudo char(10) NOT NULL DEFAULT '' ,
nom_membre char(10) NOT NULL DEFAULT '' ,
prenom_membre char(10) NOT NULL DEFAULT '' ,
societe_membre char(10) NOT NULL DEFAULT '' ,
adresse_memre char(10) NOT NULL DEFAULT '' ,
cp_membre char(10) NOT NULL DEFAULT '' ,
ville_membre char(10) NOT NULL DEFAULT '' ,
tel_membre char(10) NOT NULL DEFAULT '' ,
mail_membre char(10) NOT NULL DEFAULT '' ,
mdp_membre char(10) NOT NULL DEFAULT '' ,
site_membre char(100) NOT NULL DEFAULT '' ,
PRIMARY KEY (id_membre),
UNIQUE id_membre (id_membre),
INDEX id_membre_2 (id_membre)
);

CREATE TABLE tableau (
id_tableau int(10) unsigned NOT NULL auto_increment,
nom_tableau varchar(100) NOT NULL DEFAULT '' ,
taille_tableau varchar(10) NOT NULL DEFAULT '' ,
technique_tableau varchar(10) NOT NULL DEFAULT '' ,
prix_loc_tableau int(10) NOT NULL DEFAULT '0' ,
prix_vente_tableau int(10) NOT NULL DEFAULT '0' ,
presence tinyint(10) NOT NULL DEFAULT '0' ,
id_categorie int(10) NOT NULL DEFAULT '0' ,
id_membre int(10) NOT NULL DEFAULT '0' ,
id_galerie int(10) NOT NULL DEFAULT '0' ,
PRIMARY KEY (id_tableau),
UNIQUE id_tableau (id_tableau),
INDEX id_tableau_2 (id_tableau)
);

CREATE TABLE galerie (
id_galerie int(10) unsigned NOT NULL auto_increment,
nom_galerie varchar(100) NOT NULL DEFAULT '' ,
adresse_galerie char(100) NOT NULL DEFAULT '' ,
cp_galerie char(10) NOT NULL DEFAULT '' ,
ville_galerie char(10) NOT NULL DEFAULT '' ,
tel_galerie char(10) NOT NULL DEFAULT '' ,
mail_m char(10) NOT NULL DEFAULT '' ,
site_galerie char (100) NOT NULL DEFAULT '' ,
id_membre int(10) NOT NULL DEFAULT '0' ,
id_tableau int(10) NOT NULL DEFAULT '0' ,
PRIMARY KEY (id_galerie),
UNIQUE id_galerie (id_galerie),
INDEX id_galerie_2 (id_galerie)
);
Mado
Merci ! wink.gif

est ce qu'il faut que je cree un table prix aussi

comme ce sera un critere de choix unsure.gif
Anonymus
CITATION(Mado @ jeudi 26 février 2004, 18:54)
si je cree dans la table tableau un ligne support_tableau (exemple toile bois papier etc)

une ligne couleur tableau et une ligne theme_tableau

faut il que je cree une table pour chaque

couleur

id_couleur
nom_couleur

et
support
id_support
nom_support

theme
id_theme
nom_theme

parce que en fait les clients auront un critere de choix quand ils arriveront sur la page oeuvres

criteres de choix : prix _ taille _ couleur dominante_ theme _ support

la liste de ces choix, c'est bien dans les formulaires qu'ils se feront?

j'ai encore un peu de mal a comprendre la mechanique

wacko.gif

merci

Non, ce seraient des tables toutes petites, mais qui demanderont trop de ressources par rapport à ce qu'elles proposeraient. Un exemple :

On ne fait pas une table 'date' pour stocker les jours de la semaine (lundi, mardi,..). Il n'y en a que 7, ce n'est pas intéressant. Ce qu'il faut faire, dans ce cas, c'est créer un tableau en php, et faire une liste de choix avec un <select ...<option></option>.... . Avec ce select..option, les gens ne peuvent pas choisir quelque chose d'autre, et ca permet de ne pas avoir des tables trop vides.

Pour les prix, c'est la meme chose. A moins de faire une table '1 2 3 4 5 6 ...', ce qui est 'ridicule' (excuse moi), il vaut mieux laisser les prix dans la table du tableau en question.
Ainsi, lorsque tu créé un nouveau tableau, tu renseignes son nom, sa taille,.. et son prix de loc, et son prix de vente.

Voilà.
Mado
ce n'est pas evident je debute, alors c'est sur je pose des questions ben qui peuvent paraitre bete

le principe je suis loin de le connaitre et j'ai encore enormement de chose a apprendre, n'empeche qu'on me demande de pondre un site en php apres un mois et demi d'apprentissage

alors si je comprends bien c'est le critere de choix dans le formulaire qui ira chercher dans la table_tableau tous les tableaux qui ont par exemple la couleur dominante rouge
c'est ca?

je vais ecrire exactement les données qui seront a ressortir par els formulaires wink.gif


merci Anonymus wink.gif
Anonymus
En fait, quand tu conçoit ton programme, tu prévois dès le départ ce genre d'informations. Les couleurs, ce sont des données 'fixes', qui ne risquent pas de bouger. Tu peux les prévoir dès le début de la conception du programme.

tu créé un tableau des variables pour le tableau (euh...). On recommence :
Tu créé un Array des couleurs possibles des tableaux. Par exemple :
$tableau['color'][0]='rouge';
$tableau['color'][1]='bleu';
etc...
Quand tu entres les données dans ta base :
si le tableau est rouge, ca donne :
|id_tableau|nom_tableau|couleur dominante|
| 5 | la meduse de bateau | 1 |
sous entendu : le tableau "la meduse de bateau, enregistré sous le numero 5, a la couleur 1. Un coup d'oeil dans les variables nous dit :
$tableau['color'][1]='bleu'; donc il est bleu.


Voilà.
Mado
bonjour,

le temps passe vite ca fait 8 jours que je ne suis pas venue

merci Anonymus

j'ai un autre probleme

quand je cree un section membre faut que je cree combien de page

la page config.php

la page de formulaire je l'ai faite en html, parce qu'il me faut aussi des page html

ensuite il faut une page php du style verif.php qui verifie que les infos pour s'inscrire sont bien entrées

et une page login.php pour que la personne inscrite se connecte

y'a faut d'autre? peut etre une page erreur.php

ici se trouve mon formulaire mais il ne fonctionne encore pas

merci en attendant

http://zengrafom.org/le_site/membres/index.htm

dans statut j'aurai en plus celui de galerie wink.gif

pis en fait je vais juste gerer pour le rendu de mon projet l'achat de tableau, la location je verrais plus tard, parce que y'a un probleme de calendier, et pas trop envie de me prendre la tete avec ca :nono:
Anonymus
Bonjour Marie.

Ton formulaire renvoie les données via POST.

Tu peux créer un morceau de code, pour savoir ce que te renvoie ton formulaire. L'integration des données n'en sera que plus facile :

CODE
<?

foreach ($_POST as $key => $value){
    echo "<br>".$key." - ".$value;
    }
?>

A+, Anonymus.
Mado
bonsoir et merci Anonymus

j'ai pas compris mais psa grave, je debute et la je pique rin

enfin j'arrive un peu tout de meme

svp ca veut dire quoi ce message d'erreur?

Unknown column 'mpd_membre' in 'field list'

mici
Anonymus
CITATION(Mado @ vendredi 12 mars 2004, 19:59)
svp ca veut dire quoi ce message d'erreur?

Unknown column 'mpd_membre' in 'field list'

mici

cela veut dire que tu as fait une erreur de synthaxe.

Au lieu d'écrire mpd_membre, tu aurais du écrire mdp_membre.

a+, Anonymus.
Mado
pfffffffff que je suis patate alors :nono:

merci anonymus
wink.gif
Mado
j'ai modifié mais ca me met ca

Unknown column 'mdp' in 'where clause' dry.gif unsure.gif
Mado
:up: c'est cool j'ai trouvé

excusez wink.gif
Mado
bonsoir

est ce que c'est juste ca svp merci

// Redirection vers la zone membre
if($statut=="artiste")
echo "<meta http-equiv='refresh' content='5;URL=$memb_connect_art?id=$id_membre'>";
echo "<font size='2'>Merci, vous êtes bien enregistré. Vous avez recu un mail de confirmation avec vos données personnelles. Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez <a href=\"$memb_connect_art?id=$id_membre\">ici</a></font>";
}
else
{
echo "<meta http-equiv='refresh' content='5;URL=$memb_connect?id=$id_membre'>";
echo "<font size='2'>Merci, vous êtes bien enregistré. Vous avez recu un mail de confirmation avec vos données personnelles. Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez <a href=\"$memb_connect?id=$id_membre\">ici</a></font>";
}
Anonymus
Ca parait juste, seulement, il y a 3,5 lignes de répétitions. Tu peux faire ceci :

CITATION
$url=$memb_connect;

if($statut=="artiste")$url=$memb_connect_art;

echo "<meta http-equiv='refresh' content='5;URL=".$url."?id=$id_membre'>";
echo "<font size='2'>Merci, vous êtes bien enregistré.";
echo" Vous avez recu un mail de confirmation avec vos données personnelles. ";
echo"Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez ";
echo"<a href=\"".$url."id=$id_membre\">ici</a></font>";


A+, Anonymus.
Mado
ah oui :yoot:

cool merci alors anonymus wink.gif

et ca?

// Insertion dans la table

$requete=mysql_db_query($sql_bdd,"insert into membre values (NOT NULL,\"$id_membre,\"$statut\",\"$pseudo\",\"$nom_membre\",\"$prenom_membre\",\"$societe_membre\",\"$adresse_membre\",\"$cp_membre\",\"$ville_membre\",\"$tel_membre\",\"$mail_membre\",\"$mdp_membre\",\"$site_membre\")",$db_link) or die(mysql_error());

c'est pareil que ca?

$query='INSERT INTO membre (statut,pseudo,nom,prenom,societe,
adresse,code postal,ville,telephone,mail,mot de passe) VALUES ("'.$statut.","'.pseudo.","'.nom_membre.","'.prenom_membre.",
".societe_membre.",".adresse_membre.",".cp_membre.",".ville_membre.",
".tel_membre.",".mail_membre.",".mdp_membre.","';
$result=mysql_query($query) or die (mysql_error());

echo query

merci pour votre aide et lumière wink.gif

suis un peu perdue dans les " et les '
Dan
Mado,

Lorsque tu fais de la concatenation de chaînes, tu utilises le . entre les différentes chaînes et les variables.
Exemple:
CODE
$nom="Mado";
print "bonjour ".$nom.", comment vas-tu?";

affichera: bonjour Mado, comment vas-tu?

Mais dans le query, les valeurs doivent être entourées de simples quotes... comme dans: "bonjour 'Mado', comment vas-tu?" qui s'écrirait:
CODE
print "bonjour '".$nom."', comment vas-tu?";

Remarques les deux simples quotes en plus wink.gif

Donc ton $query doit s'écrire:
CODE
$query='INSERT INTO membre (statut,pseudo,nom,prenom,societe,
adresse,code postal,ville,telephone,mail,mot de passe) VALUES ("'.$statut."','".$pseudo."','".$nom_membre."','".$prenom_membre."','".
$societe_membre."','".$adresse_membre."','".$cp_membre."','".
$ville_membre."','".$tel_membre.",".$mail_membre."','".$mdp_membre."')";


Dan
Mado
merci Dan et bonjour

bon... j'ai cette erreur mais je ne sait pas ce que ca veut dire quand je remplis le formulaire unsure.gif

You have an error in your SQL syntax near 'artiste","xxc","xcxcx","xcxcx","xcxcx","xcxc","xcxc","cxxc","xcxc","xcxc","xcxc"' at line 1

merci
Anonymus
Bonsoir,

dans la synthaxe de ta requète, tu mets tantôt des simples quotes, tantôt des doubles quotes. Il faut mettre des simple quote partout.

Pour la requète
'artiste","xxc","xcxcx","xcxcx","xcxcx","xcxc","xcxc","cxxc","xcxc","xcxc","xcxc"'
tu aurais dû écrire :
'artiste','xxc','xcxcx','xcxcx','xcxcx','xcxc','xcxc',etc....

A+.
Dan
Marie,

Dans la requête se trouvant dans la source que tu m'as envoyée, tu avais des erreurs de simples/doubles quotes. Certaines manquaient tout simplement, d'autres étaient inversées. sad.gif

Tu as mal copié le code plus haut ...

Essayes en remplaçant ta ligne par:
CODE
$query='INSERT INTO membre (statut,pseudo,nom,prenom,societe,
adresse,code postal,ville,telephone,mail,mot de passe)
VALUES ("'".$statut."','".$pseudo."','".$nom_membre."','".$prenom_membre."','".
$societe_membre."','".$adresse_membre."','".$cp_membre."','".$ville_membre.
"','".$tel_membre."','".$mail_membre."','".$mdp_membre."')";

Dan

PS: il faut que ... (enlèves les espaces rajoutés pour que ce soit plus lisible)
- devant la première variable tu aies la chaîne "VALUES ( ' ".
- entre les variables, tu aies: ." ' , ' ".
- et à la fin ... ." ' ) " ;

Fais du copier/coller sinon tu vas encore une fois te louper sur ce coup là wink.gif
Mado
ben ca marche po

faut pas ajouter avant statut un zone vide pour que l'id s'autoincremente?
Mado
CITATION(Anonymus @ dimanche 14 mars 2004, 20:06)
Ca parait juste, seulement, il y a 3,5 lignes de répétitions. Tu peux faire ceci :



A+, Anonymus.

Anonymus

ca marche pas ca revient a la page index.php3

par contre si je mets $url=memb_connect ca marche

c'est juste ?
Anonymus
Tu peux poster le code que tu as essayé, stp ?
Mado
celui la il est un peu plus haut wink.gif

$url=$memb_connect;

if($statut=="artiste")$url=$memb_connect_art;

echo "<meta http-equiv='refresh' content='5;URL=".$url."?id=$id_membre'>";
echo "<font size='2'>Merci, vous êtes bien enregistré.";
echo" Vous avez recu un mail de confirmation avec vos données personnelles. ";
echo"Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez ";
echo"<a href=\"".$url."id=$id_membre\">ici</a></font>";
Anonymus
CITATION(Mado @ dimanche 21 mars 2004, 08:12)
Anonymus

ca marche pas ca revient a la page index.php3

par contre si je mets $url=memb_connect ca marche

c'est juste ?

Tu dis

Où mets tu $url=memb_connect ?

Anonymus.
Mado
j'ai efface le srcipt complet

ca a encore changé mais ca marche toujours pas wacko.gif
Mado
CITATION(Dan @ samedi 20 mars 2004, 22:21)
Marie,


CODE
$query='INSERT INTO membre (statut,pseudo,nom,prenom,societe,
adresse,code postal,ville,telephone,mail,mot de passe)
VALUES ("'".$statut."','".$pseudo."','".$nom_membre."','".$prenom_membre."','".
$societe_membre."','".$adresse_membre."','".$cp_membre."','".$ville_membre.
"','".$tel_membre."','".$mail_membre."','".$mdp_membre."')";

Dan



si je mets ca il me met un message d'erreur parse error en ligne 92 c'est la ligne ou j'ai fait le copier coller

avant insert c'est pas une double quote et avant statut y'a pas une double quote en trop?

si je mets ca

// Insertion dans la table
$query="INSERT INTO membre (statut,pseudo,nom,prenom,societe,
adresse,code postal,ville,telephone,mail,mot de passe)
VALUES ('".$statut."','".$pseudo."','".$nom_membre."','".$prenom_membre."','".
$societe_membre."','".$adresse_membre."','".$cp_membre."','".$ville_membre.
"','".$tel_membre."','".$mail_membre."','".$mdp_membre."')";

$result=mysql_query($query) or die (mysql_error());

et que je remplis les champs du formulaire apres validation j'ai le message d'erreur suivant

You have an error in your SQL syntax near 'postal,ville,telephone,mail,mot de passe) VALUES ('artiste','cc','cc','cc','cc'' at line 2

bé ca marche pas

r_question6161.gif
Mado
$url=$memb_connect;

if($statut=="artiste")$url=$memb_connect_art;

echo "<meta http-equiv='refresh' content='5;URL=".$url."?id=$id_membre'>";
echo "<font size='2'>Merci, vous êtes bien enregistré.";
echo" Vous avez recu un mail de confirmation avec vos données personnelles. ";
echo"Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez ";
echo"<a href=\"".$url."id=$id_membre\">ici</a></font>";

comment sait (on que $memb_connect renvoie a la page memb_connect.php3


merci
Anonymus
Tu dois avoir, avant la phrase que tu as mis en gras, une ligne qui dit :
$memb_connect="memb_connect.php3";

Ce peut etre dans un autre fichier, mais forcément avant cette ligne.
Il devrait y avoir, au meme endroit, une ligne qui dit
$memb_connect_art="*****";

Les ***** sont le nom de fichier qui correspond à $memb_connect_art.


Un conseil

Mets des pointeurs, des espions :
Quand tu vois qu'un script comme celui ci ne marche pas, fais ceci :

Le script qui ne marche pas :
CITATION
$url=$memb_connect;

if($statut=="artiste")$url=$memb_connect_art;

echo "<meta http-equiv='refresh' content='5;URL=".$url."?id=$id_membre'>";
echo "<font size='2'>Merci, vous êtes bien enregistré.";
echo" Vous avez recu un mail de confirmation avec vos données personnelles. ";
echo"Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez ";
echo"<a href=\"".$url."id=$id_membre\">ici</a></font>";

Ajouter des marqueurs :
CITATION
echo "<br>statut == $statut";
echo"<br> memb_connect == $memb_connect";
echo"<br> memb_connect_art == $memb_connect_art";

$url=$memb_connect;

if($statut=="artiste")$url=$memb_connect_art;

echo"<br> url == $url <br>";
/*
echo "<meta http-equiv='refresh' content='5;URL=".$url."?id=$id_membre'>";
echo "<font size='2'>Merci, vous êtes bien enregistré.";
echo" Vous avez recu un mail de confirmation avec vos données personnelles. ";
echo"Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez ";
echo"<a href=\"".$url."id=$id_membre\">ici</a></font>";
*/


Ceci te permet de connaitre l'état de tes variables, si elles sont initialisées, si elles renvoient la bonne valeur, etc, etc.

Tu peux faire pareil avec les requetes de bases de données.

A+, Anonymus.
Mado
j'ai interogé la base pour voir si je recupere l'id ca ma met "impossible d'afficher les resultats

j'ai fait cette page

apparement la ou je met id=$id_membre j'ai un message d'erreur qui dit qu'il ne connait pas id


<?
require("conf.php3");

// CONNEXION MYSQL
$db = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db) {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;}


$query =mysql_db_query($sql_bdd,"select * from membre where id_membre='$id_membre'",$db) or die(mysql_error());

$query_result = mysql_query($query);
if (!$query_result) {
echo ("Impossible d'afficher les résultats");
} else {
echo ("Voici les résultats");
// Traitements
}
?>

suis desolée avec tout mes probs php, si je vous tanne , suffit de le dire wink.gif

merci Anonymus ca marche ton astuce de marqueurs sauf pour id shutup.gif
Mado
bonsoir,

dans cette table on a statut, qui dans la bdd est toujurs a 0
pourtant j'ai deux choix... artiste et autre... comment vais je pouvoir sortir tous les membres qui sont artistes ou tous les membres qui sont autre ainsi?

et puis je ne parviens pas a recuperer l'id membre dans la page profil

vous pouvez m'expliquer pourquoi? wink.gif ?

merci


CREATE TABLE membre (
id_membre int(10) unsigned NOT NULL auto_increment,
statut tinyint(10) NOT NULL DEFAULT '0' ,
pseudo char(10) NOT NULL DEFAULT '' ,
nom_membre char(10) NOT NULL DEFAULT '' ,
prenom_membre char(10) NOT NULL DEFAULT '' ,
societe_membre char(10) NOT NULL DEFAULT '' ,
adresse_memre char(10) NOT NULL DEFAULT '' ,
cp_membre char(10) NOT NULL DEFAULT '' ,
ville_membre char(10) NOT NULL DEFAULT '' ,
tel_membre char(10) NOT NULL DEFAULT '' ,
mail_membre char(10) NOT NULL DEFAULT '' ,
mdp_membre char(10) NOT NULL DEFAULT '' ,
site_membre char(100) NOT NULL DEFAULT '' ,
PRIMARY KEY (id_membre),
UNIQUE id_membre (id_membre),
INDEX id_membre_2 (id_membre)
);
Anonymus
Bonsoir,

Pour ce qui est du '0' que tu vois dans la base :
statut tinyint(10) NOT NULL DEFAULT '0' ,
cela signifie : le champ 'statut' est de type tinyint (autrement dit un petit 'integer'), qui est non null (autrement dit : il a forcément une valeur), et par défaut, il est à '0' (autrement dit : si tu ne rentres pas de valeurs pour lui, il se met automatiquement à zero).

Tu devrais voir si, lorsque tu fait INSERT INTO MEMBRE, le chiffre que tu inseres est bien entré dans la base. Apparemment, il a autre chose qu'un chiffre, et c'est pour ca qu'il ne peut rentrer de valeurs, et donc c'est pour ca qu'il te met automatiquement zero.

Pour ce qui est de l'id membre, il s'agit probablement d'une erreur de syntaxe. Vérifies bien la facon dont tu l'écris, d'une part du coté de la requète, et d'autre part, du coté de la table (le champ id membre s'ecrit il id membre, ou id_membre, ou id-membre, ou id_menbre, etc....)
apparemment, ca viendrait de cela.

Anonymus.
Mado
oui, mais ca valeur est toujours a zero dans la base donc je ne peux pas faire de trie sur le statut, puisque que j'ai rien dans la base qui dit que tel membre est artiste ou autre... j'ai juste?

merci anonymus, mais j'insere pasde chiffre ... je comprends pas la.. dans le formulaire j'ai bouton radio statut value artiste et l'autre value autre

si je mets pas ca comment ca marcherait avec la redirection en fonction du statut... tu m'avais corrigé ce que j'avais ecrit avec le $memb_connect etc...

if statut==artiste

faut bien que artiste soit mentionné quelque part nan?

j'ai vraiment du mal a comprendre...

merci
Mado
bon , ben merci

je dois rendre mon projet pour mercredi alors j'abandonne le reste que je voulais faire

j'aurais juste la page de membre, meme si ca marche pas bien, c'est deja ca wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.