[RESOLU] Aide pour le contenu

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Aide pour le contenu

Re: Aide pour le contenu

par kakou34 » 13 déc. 2012, 19:42

Enfin niquel j'ai réussi !!!

Merci d'avoir aider jusqu'au bout.

Je ne sais comment vous remercier !!

Cordialement,

Kakou

Re: Aide pour le contenu

par piotrowski-s » 13 déc. 2012, 18:24

ça fonctionne. ?

Re: Aide pour le contenu

par kakou34 » 13 déc. 2012, 17:06

J'ai mi l'include en haut de page bien avant le doctype

Re: Aide pour le contenu

par piotrowski-s » 13 déc. 2012, 17:01

la si tu n'y arrives pas je vois pas comment on pourra faire plus simple.

Re: Aide pour le contenu

par xTG » 13 déc. 2012, 16:57

Code complet fonctionnel :

mesFonctions.php
function getPage($nomFichier = 'accueil') {
  if( is_string($nomFichier) ){ // on vérifie qu'on a bien un nom (éviter les erreurs d'appel avec une variable de type nombre, ect)
    if( file_exists('pages_php/' . $nomFichier . '.php') ){ // on vérifie que le fichier existe bien dans le dossier pages_php
      include('pages_php/' . $nomFichier . '.php'); // nous incluons le fichier
    }else{
      include('pages_php/accueil.php'); // Si le fichier $nomFichier n'existe pas tu inclues la page d'accueil
    }
  } else {
    // la variable passé en paramètre n'est pas une variable correcte
    include('pages_php/accueil.php'); // par défaut nous incluons la page d'accueil
  }
}
monIndex.php
<html>
<body>
<h1>Je suis un titre affiché sur toutes les pages.</h1>
<?php
  include('mesFonctions.php');
  if( !isSet($_GET['page']) ) // si la variable n'existe pas on assigne une valeur par défaut
    $page = 'news.php';
  else
    $page = $_GET['page'];
  getPage($page); // on charge le fichier
?>
<h1>Je suis un titre affiché sur toutes les pages.</h1>
</body>
</html>
pages_php/news.php
<h2>Je suis le fichier news</h2>
pages_php/test.php
<h2>Je suis le fichier test</h2>
Tester maintenant les trois urls suivantes pour comprendre le déroulement :
monIndex.php
monIndex.php?page=news
monIndex.php?page=test
monIndex.php?page=existepas

Re: Aide pour le contenu

par piotrowski-s » 13 déc. 2012, 16:11

il dit que la fonction n'est pas définie, es tu sur d'avoir bien mis la fonction dans l'include ? si ou est-ce que l'include est avant l'appel de fonction ou après ?

Re: Aide pour le contenu

par kakou34 » 13 déc. 2012, 16:08

Comment sa pas de condition ? si justement oO

SI je suis sur accueil ALORS je met les news
SI je suis sur club ALORS je met les horaires

Si comment veut-tu que je fasse ?

Sinon l'erreur :

'Call to undefined function getPage()'

Ligne 11 c'est getPage($_GET...)

Re: Aide pour le contenu

par piotrowski-s » 13 déc. 2012, 15:39

mais tu n'as pas besoin de stipuler de condition...

Tu mets ton code qui génère les news dans ta page accueil... ainsi dès que tu es dessus les news seront générées et affichée.

fonction.php contient pas d'erreur.

Tu as la ligne précise ou c'est marqué?

Re: Aide pour le contenu

par kakou34 » 13 déc. 2012, 15:18

Ah je comprend mieux déjà.

Donc j'ai fait une autre méthode peut-elle fonctionner ?

J'ai à la racine mon fichier index.php, lui n'a rien j'ai juste une image d'intro.

Ensuite le fichier accueil.php qui lui comprend toute la structure du site.
(C'est à dire au lieu de faire des includes [banniere.php etc.] j'ai tout mi directement sur lui)

J'ai un dossier "include" dedans il y a bdd.php et fonction.php que j'include directement en haut de page sur accueil.

D'ailleurs, fonction.php j'ai une erreur :

syntax error, unexpected '[', expecting ')'
<?php
	
		if (!isset($_GET['page'])) 
		{
		
			$_GET['page'] = 'accueil';
			
		};
		
		getPage($_GET['page']);
		
	?>
Ensuite, je vais dans div contenu directement sur accueil,

j'écris la condition :
function getPage($fichier = 'news') 
{
        if( is_string($fichier) )
        { 
                if( file_exists('page/' . $fichier . '.php') )
                { 
                      include('page/' . $fichier . '.php');
                }
                else
                {
                       inlude('accueil.php');
                 }
           } 
          else
           {
                    include('accueil.php');
           }
}
(J'ai créer un dossier 'page' dedans il y a aura toutes mes pages, contact.php club.php news.php etc.)

Là je suis sur accueil, donc je met les news.

Mais à quel moment je dis que SI je suis sur accueil ALORS je met news...

La fonction je dois l'écrire une fois sur accueil ou plusieurs fois ?

Merci d'avance !

Re: Aide pour le contenu

par xTG » 13 déc. 2012, 07:55

Le code de la fonction est à écrire une seule fois. Le mieux est de le mettre dans un fichier qui sera inclus dans les pages l'utilisant.
pages_php est un dossier d'exemple, c'est l'endroit où seront tes fichiers PHP. Mais tu peux l'adapter à l'organisation de ton site.

Re: Aide pour le contenu

par kakou34 » 13 déc. 2012, 01:33

J'ai plusieurs question là ^^

1 - Où dois-je écrire ce code ? combien de fois ? sur quel page ?

2 - "pages_php" qu'est-ce que sait ? je le remplace par quoi ?

3 - Désoler de vous embêter hein !? mais j'essais vraiment de comprendre ce que j'écris dans mes pages ^^

Merci d'avance pour vos réponses.

Re: Aide pour le contenu

par xTG » 12 déc. 2012, 20:41

Voici une fonction corrigée et portant des noms de variable représentatifs :
function getPage($nomFichier = 'accueil') {
  if( is_string($nomFichier) ){ // on vérifie qu'on a bien un nom (éviter les erreurs d'appel avec une variable de type nombre, ect)
    if( file_exists('pages_php/' . $nomFichier . '.php') ){ // on vérifie que le fichier existe bien dans le dossier pages_php
      include('pages_php/' . $nomFichier . '.php'); // nous incluons le fichier
    }else{
      inlude('pages_php/accueil.php'); // Si le fichier $nomFichier n'existe pas tu inclues la page d'accueil
    }
  } else {
    // la variable passé en paramètre n'est pas une variable correcte
    include('pages_php/accueil.php'); // par défaut nous incluons la page d'accueil
  }
}

// exemple d'utilisation
$maPage = 'gallerie';
getPage($maPage); // incluera gallerie.php si le fichier existe, sinon accueil.php

// On teste maintenant l'appel sans paramètre
getPage(); // là c'est subtil, on incluera accueil.php grâce à la valeur par défaut dans le prototype de la fonction

Re: Aide pour le contenu

par kakou34 » 12 déc. 2012, 20:11

Je suis malheureusement perdu, je comprend plus rien :(

Juste pour afficher un contenu dans une page spécifique j'ai changé la moitié de mes pages.

Je sais pas ou je dois mettre quoi dans quel page pourquoi...

J'essais de comprend, mais j'ai vraiment du mal... désoler !

Si vous avez une méthode plus simple, ce serai géniale.

Re: Aide pour le contenu

par xTG » 12 déc. 2012, 19:48

Dans une fonction tu accèdes aux variables de la portée de la fonction dont celles de son prototype.
Donc :
function foo($bar){
  echo $bar;
}

foo(1); // = echo "1";
$int = 2;
foo($int); // = echo $int = echo $bar (avec $bar = $int) = echo "2"

Re: Aide pour le contenu

par kakou34 » 12 déc. 2012, 19:06

Ta technique me plais bien, pas envie de copier 10 milles fois le bordel.

Mais par exemple, d'ou sort ce "$var"

On la jamais définit plus haut pourtant :/

Pourquoi 'pages_php...' je comprend pas là