2010-04-01 7 views
1

ce qui se passe est que tout se charge juste bien l'URL est deigned.sytes.net sauf pour les liens quand je clique sur nous ou les services ou le contact ils ressemblent là chargement mais le contenu de body.tpl ne change pas par défaut. peut-être que vous pouvez m'aider avec ceci pourquoi les liens ne changent pas. vous vous voulez ici sont les seuls fichiers phpJe ne sais pas comment l'appeler erreur php/css tho

J'ai fait des fichiers phps pour la vue perpose, mais si vous insistez dessus je posterai le code requis.

designed.sytes.net/index.phps~~V~~3rd designed.sytes.net/classes/file.class.phps

Répondre

1

Dans les URL, vous nommez le paramètre p, mais dans votre files.class.php, vous effectuez un test pour $_GET['page']. Donc, soit modifier les URL à utiliser page comme paramètre ou modifier le code:

// in files.class.php instead of if(!isset($_GET['page'])) 
if(!isset($_GET['p'])){ 
    // your code here... 
} else { 
    // ... 
} 

Dans votre code d'origine, comme $_GET['page'] ne jamais exister, il montre toujours la page d'index.


Une autre chose qui semble étrange pour moi est la suivante (mais peut-être il est juste la façon dont vous l'avez configuré):

if(file_exists($_GET['page'].'.txt')){ 
    // and lets include that then: 
    ob_start(); 
    include("contents/". $_GET['page'] . '.php'); 
    $content = ob_get_contents(); 
    ob_end_clean(); 
} 

Vous devez d'abord vérifier si le fichier texte par exemple about.txt existe mais inclut un fichier PHPcontents/about.php. Est-ce que c'est prévu? Est-ce que le PHP existe toujours si le fichier texte existe?


MISE À JOUR:

Assurez-vous également que vous vérifiez bien la valeur que vous obtenez de $_GET['page'] ou comme vous l'appelez à la fin.
E.g. cet appel http://designed.sytes.net/index.php?page=../indexsemble tuer votre serveur (désolé, il était sans le vouloir :()

MISE À JOUR 2:
Afin de fournir « une certaine » sécurité, vous pouvez vérifier si $_GET['page'] est l'une des valeurs prédéfinies au lieu de vérifier si un fichier portant ce nom existe Ex.:

$valid_pages = array('home', 'about', 'services', 'contact'); 

if(isset($_GET['page']) && in_array($_GET['page'], $valid_pages) { 
    // include page here 
} 
else { 
    // redirect to home page 
} 

cela fait en sorte que $_GET['page'] n'est pas la forme de pathes relatifs comme ../index.Si ce n'est pas l'une de ces valeurs dans $valid_pages, vous redirigez vers la page d'accueil.

+0

regardez ce que vous avez fait. –

+0

@John Boker: Ah son travail à nouveau :) –

+0

hehe alors que vous étiez désolé à propos de ce que non je n'ai pas mis à jour le phps avec le correctif fait tous les .php au lieu de .txt et merci qui maintenant faire un sens parfait de pourquoi il ne chargeait pas peut-être vous pouvez m'aider avec un niveau d'index z n'étant pas appliqué je vais l'ajouter au contenu ci-dessus – Zeenjayli

0

Je vois dans votre fichier http://designed.sytes.net/classes/file.class.phps vous avez $_GET['page'] mais sur la chaîne de requête que vous avez p=

un exemple de ce qui ne fonctionne pas est:

http://designed.sytes.net/index.php?p=about 

puis changé à:

http://designed.sytes.net/index.php?page=about 

semble montrer quelque chose de différent.

Questions connexes