27-05-2007, 03:28 PM
C'est évident que ton design va partir en cacahouète si tu insère une page déjà formée en plein milieu. Bon, je crois que le mieux est de te montrer une page à moi :
Dans un dossier, j'ai mes pages php et dans l'autre j'ai mes pages de template (design, en html). Dans mes liens, j'appelle TOUJOURS les pages en .php. Ces pages ne font QUE du traitement de données et AUCUN affichage. Ici, il y a une petite page d'un livre d'or en construction pour une asso de jumelage (donc, pas encore sécurisé ni très propre). Pour infos, tu peux remplacer mes .tpl par des .html, ça fera exactement la même chose :
La page livreor.php
Dans un dossier, j'ai mes pages php et dans l'autre j'ai mes pages de template (design, en html). Dans mes liens, j'appelle TOUJOURS les pages en .php. Ces pages ne font QUE du traitement de données et AUCUN affichage. Ici, il y a une petite page d'un livre d'or en construction pour une asso de jumelage (donc, pas encore sécurisé ni très propre). Pour infos, tu peux remplacer mes .tpl par des .html, ça fera exactement la même chose :
La page livreor.php
Code PHP :
<?php
// Le titre de la page
$sTitre = 'Livre d\'or';
//-----------------------------------------------------------------------
// Récupération des infos de session
//-----------------------------------------------------------------------
if(isset($_SESSION['prenom'])) //Si une session est lancée
{
$sAuteur = $_SESSION['prenom']; // Alors on écrit directement le prénom de l'utilisateur
}
else
{
$sAuteur = ''; //Sinon, on laisse le champ vide
}
//------------------------------------------------------------------------
// Enregistrement des commentaires éventuels
//------------------------------------------------------------------------
if (isset($_POST['auteur']) AND isset($_POST['message']))
{
if ($_POST['auteur'] != NULL AND $_POST['auteur'] != NULL) // Si on a quelque chose à enregistrer
{
$oLivreOr->ajouteMessage($_POST); //On appelle la méthode permettant d'enregistrer le commentaire dans le livre d'or
}
}
//-------------------------------------------------
// Variables à afficher
//-------------------------------------------------
if (isset($_GET['num_page'])) //Si on a demandé une page précise
{
$iNumPage = $_GET['num_page']; // On récupère le numéro de la page indiqué dans l'adresse
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$iNumPage = 1; // On se met sur la page 1 (par défaut)
}
// On fait une boucle pour écrire les liens vers chacune des pages
$sNumPages .= 'Page : ';
$iPages = $oLivreOr->nbPages();
for ($i = 1 ; $i <= $iPages ; $i++)
{
$sNumPages .= '<a href="index.php?page=livreor&num_page=' . $i . '">' . $i . '</a> ';
}
//On récupère le tableau contenant les messages
$aMessages = $oLivreOr->tableauMessages($iNumPage);
//----------------------------------
//Affichage de la page
//----------------------------------
include($sTemplatePath.'livreor.tpl');
?>
La page livreor.tpl
Code PHP :
<?php
include($sTemplatePath.'header.tpl');
include($sTemplatePath.'menu.tpl');
?>
<div id="corps">
<h1>Livre d'or</h1>
<p class="chapeau">Vous avez aimé le dernier voyage en Irlande ou la dernière fête de la Saint-Patrick ? Vous avez des remarques ou des idées, laissez-nous un message...</p>
<div class="zone_encadree">
<form method="post" action="index.php?page=livreor">
<p>Nom ou pseudo <input name="auteur" style="width:150px; border:1px solid #cecece;" value="<?php echo $sAuteur; ?>"/></p>
<p><textarea name="message" rows="10" cols="36" style="border:1px solid #cecece;">Ecrivez votre message ici...</textarea></p>
<p><input type="submit" value="Envoyer"/></p>
</form>
</div>
<?php echo $sNumPages;
foreach ($aMessages as $sElement) {?>
<table class="commentaire">
<tr><th>Posté par <b><?php echo $sElement['auteur'];?></b> le <?php echo $sElement['date'];?></th></tr>
<tr><td><?php echo $sElement['message'];?></td></tr>
</table><?php
} ?>
</div>
<?php include($sTemplatePath.'footer.tpl'); ?>