IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Génération de pages php à partir de template


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Points : 26
    Points
    26
    Par défaut Génération de pages php à partir de template
    Bonjour à tous,

    Pour un site internet, j'utilise du php et des templates ".tmpl" pour générer des pages .html avec les informations saisies dans un formulaire.

    Je voudrai simplement savoir s'il était possible de faire la même chose, mais pour générer des pages .php avec des formulaires intégrés, liens vers ma base de données, etc.
    Si oui, auriez-vous des exemples basiques desquels je pourrai m'inspirer ?

    Je n'ai pas trouvé grand chose à ce sujet sur internet ou sur ce forum.

    Merci d'avance pour vos réponses.

    Tabb

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Je crois que je n'ai pas compris. Pouvez vous détailler et nous montrez un exemple ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Points : 26
    Points
    26
    Par défaut
    Je ne suis pas chez moi donc je n'ai pas d'exemple à montrer. Mais je vais essayer de clarifier ma demande.

    Actuellement, sur une page php de mon site, l'utilisateur renseigne un formulaire, et à la validation une page html est générée pour afficher ce qu'a renseigné l'utilisateur. Pour générer cette page, j'utilise un template au format .tmpl qui contient la mise en page, et dans lequel sont injectés les valeurs de champs du formulaires.
    Pour chacune de ces pages, une ligne est créée dans ma bdd.

    Or je souhaiterai pouvoir, sur ces pages générées, intégrer un autre formulaire (par exemple un bouton qui permettra de valider ce qu'a saisi l'utilisateur et changer une variable dans la ligne associée à cette page dans la bdd.

    Et donc pour ce faire, j'aimerai générer non plus des pages html, mais des pages php.

    J'espère que c'est plus clair.

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pour que le code soit plus simple à maintenir, on sépare habituellement la présentation des données d'un côté (dans un fichier modèle par exemple) et le traitement de l'autre (dans un autre fichier et dans une classe par exemple)

    donc au final dans controleur on a ça pour un 1er formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $affichage->ajoutDonnee("nomFormulaire", "pageEdition");
     
    GestionnaireFormulaire::traitement("pageEdition");
    $affichage->modele("formulaire");
    et pour le 2e formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $affichage->ajoutDonnee("nomFormulaire", "confirmationModification");
     
    GestionnaireFormulaire::traitement("confirmationModification");
    $affichage->modele("formulaire");

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Points : 26
    Points
    26
    Par défaut
    J'ai finalement réussi à faire ce que je voulais comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //on crée la page php
    define('PHP_TEMPLATE', 'tmpl/annonce.tmpl');
    if (!file_exists(PHP_TEMPLATE))
       die( PHP_TEMPLATE . ' est manquant');
    $buffer = file_get_contents(PHP_TEMPLATE);
    $buffer = str_replace(array('%id%', '%titre%'), array($id, $titre), $buffer);
    file_put_contents($path = $dirname.$url, $buffer);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Temps de génération de page PHP
    Par Fred0 dans le forum Langage
    Réponses: 4
    Dernier message: 19/06/2010, 00h20
  2. [VBA] génération de page HTML à partir d'un classeur
    Par Léponge85 dans le forum Macros et VBA Excel
    Réponses: 50
    Dernier message: 10/06/2008, 14h51
  3. Réponses: 3
    Dernier message: 29/08/2007, 12h58
  4. Génération des pages HTML à partir d'un programme.
    Par marcandre dans le forum Langage
    Réponses: 6
    Dernier message: 26/03/2007, 17h13
  5. Réponses: 6
    Dernier message: 12/09/2006, 17h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo