Génération page php via un formulaire

Répondre
gaston
le 29/06/2010 à 16:36
gaston
Bonjour tout le monde,
Je me présente, je m'appel Gaston, et j'ai un certain âge, ou un âge certain selon le vôtre…
Je débute en programmation PHP, et je souhaiterais générer un fichier de configuration en PHP depuis un formulaire.
J'explique mes intensions :
Je souhaite réaliser un formulaire qui me permet de créer, modifier ou supprimer les champs d'une table SQL dans ma base de données et lorsqu’ils sont définis en lieu et place dans le formulaire, je souhaiterais qu'un fichier config.php soit généré automatiquement sur mon serveur, avec les nouvelles données.
Pouvez vous m'aidé dans les grandes lignes.
Merci d’avance pour votre aide.
Gaston
P.S : Bravo pour vos tutoriaux, je me sens moins dinosaure depuis que je fréquente votre Site Internet.
Il faut rêver très haut pour ne pas réaliser trop bas.
LA GLOBULE
le 29/06/2010 à 19:04
LA GLOBULE
Normalement, tu n'as pas besoin d'un fichier de configuration.

Comment fait phpmyadmin pour lire /ajouter / modifier / supprimer génériquement les tables de ta base SQL ?
Parce que lui, il y arrive, tu es d'accord ?

Pour faire "comme phpmyadmin", tu trouveras plein de fonctions mysql_* te permettant de réaliser ce que tu souhaites.
gaston
le 29/06/2010 à 23:31
gaston
Bonjour et merci pour cette réponse rapide.

En fait, je souhaite réaliser un site multiutilisateur.

Des éditeurs et des auteurs
Exemple :

L’éditeur N° 1 à une table qui s’appelle editeur01, celle-ci sera créée lors de l’inscription d’un nouvel éditeur.

Trouver ci-dessous la table dans phpMyAdmin, celle-ci devra être créée automatiquement depuis le formulaire d’inscription avec modification de 01 par 02 pour le deuxième et ainsi de suite.

CREATE TABLE IF NOT EXISTS `editeur01` ( 
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`firstname` varchar(50) NOT NULL,
`adresse` varchar(100) NOT NULL,
`cp` varchar(5) NOT NULL,
`ville` varchar(50) NOT NULL,
`pays` varchar(6) NOT NULL DEFAULT 'France',
`courriel` varchar(100) NOT NULL,
`tel` varchar(20) NOT NULL DEFAULT '+33 (0)',
`website` varchar(255) NOT NULL DEFAULT 'http://',
`password` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM


Les 11 champs id, name, firstname, adresse, cp, ville, pays, courriel, tel, website, password, sont non modifiables et obligatoires à remplir par l’éditeur lors de son inscription sur le Site Internet.

Lors de l’envoie du formulaire, un courriel est envoyer à l’administrateur du Site qui valide sont inscription après vérification des données.

Lors de la validation de l’ouverture de compte par l’administrateur du Site, un lien lui donne accès à la partie administration des éditeurs.

Cette page, contient un champ « Identifiant » et un champ « Mot de Passe ».

Côté administration éditeurs, un formulaire permettant l’ajout, la modification ou la suppression des champs supplémentaires :

Champs visibles, mais non modifiables :

$champId = 'id';
$champNom = 'name';
$champPrenom = 'firstname';
$champAdresse = 'adresse';
$champCodePostal = 'cp';
$champVille = 'ville';
$champPays = 'pays';
$champCourriel = 'courriel';
$champTel = 'tel';
$champWebsite = 'website';
$champPassword = 'password';


Champs supplémentaires qui doivent pouvoir être créé, modifié et supprimé à souhait par l’éditeur :

$champAuteur = 'auteur';
$champBiographie = 'biographie';
$champTitre = 'titre';
$champAnnee = 'annee';
$champCategorie = 'categorie';
$champResume = 'resume';


En suite, côté FrontOffice, un formulaire d’inscription des auteurs avec des champs à remplir, qui se mettrons en place sur un livre interactif en Flash par éditeur, où chaque page sera unique et attribuée à un auteur.

Le livre pointe vers un fichier config.php qui doit contenir les infos de chaque champ ainsi créé par, auteur, pour chaque éditeur.

Tout ça dans un répertoire nommé auteur01 pour le premier et auteur02 pour le second et ainsi de suite à l’intérieur du répertoire principal editeur01.

Concrètement, il y a un seul livre interactif, « livre.swf », qui pointe vers différent fichiers config.php, qui contient les infos de connexion à la base de données de chaque éditeur, avec les champs de chaque auteur.
Un livre = un éditeur (connexion à la base de données "livre" et à la table SQL editeur01)dans config.php
Une page = un auteur et un livre (affichage champs supplémentaires pour l'Id 1) dans config.php

config.php
define ('retour', "\r\n");   // Ne pas modifier
define ('tab', "\t"); // Ne pas modifier
$champSupplementaires = array(); // Ne pas modifier
$variableCible = 'id' ; // Ne pas modifier

// Paramètres de la base de données

$hote = 'localhost' ; // Nom du serveur SQL
$utilisateur = 'root' ; // Nom d'utilisateur SQL
$motDePasse = 'password' ; // Mot de passe SQL
$baseDeDonnees = 'livre' ; // Nom de la base de données
$tableUtilisee = 'editeur01' ; // Nom de la table utilisée

// Nom des champs de la base // CHAMPS OBLIGATOIRES !

$champId = 'id';
$champNom = 'name';
$champCodePostal = 'cp';
$champVille = 'ville';
$champPays = 'pays';

// Champs Supplémentaires

$champSupplementaires ['auteur'] = 'Auteur';
$champSupplementaires ['biographie'] = 'Biographie';
$champSupplementaires ['titre'] = 'Titre';
$champSupplementaires ['annee'] = 'Année';
$champSupplementaires ['categorie'] = 'Catégorie';
$champSupplementaires ['resume'] = 'Résumé';


Voilà mon idée, maintenant, j'attends vos commentaires et vos éventuelles critiques, car celle-ci, est constructive, du moment où elle n'est pas utilisée par un idiots.

Amis du soir,

Bonsoir.

Gaston
Il faut rêver très haut pour ne pas réaliser trop bas.
LA GLOBULE
le 29/06/2010 à 23:48
LA GLOBULE
Je ne comprend pas pourquoi tu souhaites créer une table pour chaque éditeur.
Une simple ligne par éditeur dans la table editeur ne suffirait pas ?

Ensuite, pour ton config.php, tu n'es pas obligé d'en générer 50, un seul suffit.
En effet, si tu utilises le mécanisme de session, dans config.php, tu sauras quel éditeur utilise le livre.swf, et tu initialiseras les variables que tu voudras.

Après, peut être que je n'ai pas tout compris :/
gaston
le 05/07/2010 à 15:26
gaston
Bonjour la Globule.

Je pense que ton idée est bonne, je n'y avais pas pensé. Aurais-tu un bout de code pour réaliser cette opération, afin que je voie si je dois partir dans cette optique, qui a l'air d'être logique et plus légère pour mon Site.

Merci d'avance,

Gaston.
Il faut rêver très haut pour ne pas réaliser trop bas.
LA GLOBULE
le 05/07/2010 à 23:29
LA GLOBULE
Tu peux lire le cours sur les sessions ou bien le comment faire un espace membre.
Cela devrait bien t'aider.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours