Prévisualiser un formulaire

Eléphant du PHP | 440 Messages

14 janv. 2007, 17:51

super ça avance. Sauf que les enregistrements apparaissent en ligne !

Peut-être me suis-je mal fait comprendre. Je veux avoir un rôle de modérateur sur mon site. C'est donc moi qui doit valider ou non les enregistrements et non l'internaute.
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 janv. 2007, 19:37

mmmouais... #-o
Et pourquoi ne pas avoir commencé par la ?! :-k

ça ne peut pas marcher avec ce que tu as fait la...
Tu ne peux pas controler (valider) les données d'un Internaute
=> poubelle

Il te faut ajouter un champ "valide" (tinyint 1) en BD pour savoir si oui (1)ou non (0) les données peuvent être affichées.
Tout se passe donc comme avant (enregistrement direct) et par défaut le champ "valid" est à 0.

Ensuite seulement tu construis un script qui récupères toutes les news (ou autre) qui n'ont pas encore été validées (valide = 0)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

14 janv. 2007, 23:57

Il te faut ajouter un champ "valide" (tinyint 1) en BD pour savoir si oui (1)ou non (0) les données peuvent être affichées.
Tout se passe donc comme avant (enregistrement direct) et par défaut le champ "valid" est à 0.

Ensuite seulement tu construis un script qui récupères toutes les news (ou autre) qui n'ont pas encore été validées (valide = 0)
Désolé de ne pas avoir été clair dès le début.
J'ai rajouté un champ Valide dans ma table avec 0 pour valeur. C'est sans conséquences pour d'autres pages qui utilisent cette même table ?

le script récupère sous quelle forme ?
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 janv. 2007, 00:38

C'est sans conséquences pour d'autres pages qui utilisent cette même table ?

Oui.

Mais tu devras à partir de maintenant inclure un condition lors des requetes de récupération :

Code : Tout sélectionner

... WHERE valide = 1
Passe tout à 1 plutôt, (UPDATE table set valide = 1) ça ne bloquera pas l'affichage des données qui ont normalement déjà été validées.
le script récupère sous quelle forme ?

En ce qui concerne le coté internaute (validé) tu ajoutes la clause (condition) précédente.
Pour le coté admin tu fait la même chose mais avec "valide = 0" pour n'avoir que les données non validées.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

15 janv. 2007, 00:48

En ce qui concerne le coté internaute (validé) tu ajoutes la clause (condition) précédente.
Ca signifie donc que le formulaire doit être en php et pas en html ?
Pour le coté admin tu fait la même chose mais avec "valide = 0" pour n'avoir que les données non validées.
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 janv. 2007, 00:52

Je sais pas... on parle de quoi ?
News ?
Noms ?
Mails ?

Il fait quoi ce formulaire ?

Le formulaire (truc qui permet à un internaute de te laisser des infos) peut (en principe) être en HTML.

MAIS l'affichage des données forcément en PHP

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

15 janv. 2007, 09:56

le formulaire est en html et permet à l'internaute de s'inscrire en laissant toute une série d'infos.
Quand tu dis que du côté internaute il faut mettre la condition where valid=1, je vois pas comment on met ça sur une page html.
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 445 Messages

15 janv. 2007, 11:58

Tu n'as pas à toucher à ta partie HTML ni au php, juste une modification de ta table à faire...

Comme l'a dit Truc :

Tu n'as qu'à rajouter un champ dans ta table, `valid` avec comme valeur par défaut 0.

Donc à chaque enregistrement, il mettra valid=0.

Ensuite, dans ta partie Administration, tu sélectionnes tous les enregistrements WHERE valid=0, tu les affiches dans des textarea ou des input selon le type de donnée, les rendant ainsi modifiables...
Tu n'as plus qu'à faire un bouton Valider les modifications, mettant à jour ta table.

En espérant avoir été clair...
LLDC
Ulti

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 janv. 2007, 12:20

Quand tu dis que du côté internaute il faut mettre la condition where valid=1
Je sais pas étant donné que tu ne donnes pas beaucoup d'infos je suppose que ces données peuvent par la suite être visualisées sur le net par monsieur tout le monde.
Il ne faut donc afficher QUE celles qui ont été validées par toi !

Pour le reste Ultim4T0m l'a répété tu n'as plus qu'à exécuter.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

15 janv. 2007, 13:30

je comprends mieux le fonctionnement. Le problème est que je n'ai PAS de partie ADMINISTRATION.

Est-ce que ça peut se gérer depuis phpmyadmin ?
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 janv. 2007, 13:44

Euh... oui...
Suffit de changer le champ valide (manuellement) des données que tu veux valider 0 => 1.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 445 Messages

15 janv. 2007, 14:07

Qu'est ce qui t'empêche de te faire une partie d'administration de ton site ?
Ce serait surement plus pratique que de passer par phpMyAdmin, et puis si tu veux pouvoir t'occuper des validations avec plus de fonctionnalités (tu es maitre de ta partie admin, tu t'offres les outils que tu désires, dont tu as besoin), c'est par là qu'il te faudrait passer.
LLDC
Ulti

ViPHP
ViPHP | 2144 Messages

15 janv. 2007, 14:19

Ultim4T0m: tout à fait, à long terme utilisé phpMyAdmin risque d'être assez lassant. On peut utiliser phpMyAdmin pour modifier exceptionnelement quelques données dans une table qui bouge peu (par ex: une table des départements français), mais pour valider des choses postés par des membres, tu ressentiras vite le besoin d'avoir une partie administration, pour commencer tu pourras te contenter d'une proctection par htaccess, donc rien de bien compliquer à programmer.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 janv. 2007, 16:58

Hein ? quoi ? .... non je n'ai pas voulu esquiver la question :P
je ne voulais pas lui bouffer encore plus de son temps de vie en lui conseillant de "coder" une interface
:roll:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

15 janv. 2007, 17:15

donc dans ma base, j'ai créé un champ VALID avec pour valeur 0. J'ai testé le formulaire en le remplissant : tout est en ligne !

Par ailleurs, dans ma page php, j'ai des conditions pour vérifier que telle ou telle ligne du formulaire ne reste pas vide. Là encore je constate que ma table se remplit. Est-ce qu'il faut mettre une condition aussi pour la connexion (apparemment oui) ?

Et enfin, effectivement, il serait mieux que je créé une page d'administration. y a-t-il un tuto à suivre ?

Et merci !!! :D
Débutant complet en php/mysql. Merci pour votre aide.