PHP d'erreur pour $page = $_GET['page'];
C'est l'ensemble de mon code. A partagé avec vous.
C'est mon erreur:
Notice: Undefined index: page in /export/home/dynamic/index.php on line 20
Je n'arrive pas à comprendre pourquoi je reçois ce message d'erreur. Ce n'est pas la première fois, j'ai soupçonné que c'est le tableau mais je ne sais pas quoi faire avec elle.
C'est supposer de faire une dynamique de changement de page de mon site.
J'ai eu des erreurs d'avant où je faire une varible comme $page = $_GET['page'];
Je suis ouvert à toute sorte de réponse et je suis reconnaissante pour chaque seule de leur.
<!DOCTYPE html>
<html>
<head>
<title>Website</title>
</head>
<body>
<header>Header<br />
<nav>
<a href="index.php?page=index">INDEX</a>
<a href="index.php?page=page1">Startsida</a>
<a href="index.php?page=page2">Anteckningar</a>
<a href="index.php?page=page3">Kontakt</a>
<!-- <a href="index.php?page=faq">FAQ</a> -->
</nav></header>
<div id="content">
<?php
//Place the value from ?page=value in the URL to the variable $page.
$page = $_GET['page'];
//Create an array of the only pages allowed.
$pageArray = array(
'index',
'page1',
'page2',
'page3',
'faq'
);
//If there is no page set, include the default main page.
if (!$page) {
include('pages/index.php');
}
//Is $page in the array?
$inArray = in_array($page, $pageArray);
//If so, include it, if not, emit error.
if ($inArray == true) {
include('pages/'. $page .'.php');
}else {
echo 'Umm tisk tisk. You should not be messing with things.';
}
?>
</div>
<footer>Footer</footer>
</body>
</html>
C'EST RÉSOLU!
Grâce à hek2mgl mon code fonctionne maintenant correctement.
Je tiens à remercier le reste pour soumettre vos réponses à mon problème. Je dois vous les gars.
- tout d'abord, vous devriez toujours vérifier l'existence de $_GET['page'] variable, à l'aide de la fonction isset() - de2.php.net/manual/de/function.isset.php de la fonction
Vous devez vous connecter pour publier un commentaire.
Vous devez vérifier si
page
a été transmis par OBTENIR vars:Dans l'étape suivante, vous devez vérifier si
$page
contient une valeur correcte:Vous assignez une valeur qui n'existe pas. Avant d'utiliser un $_GET vous devriez vérifier qu'il existe.
Utilisation
isset($_GET['page'];)
C'est parce que
'page'
n'est pas un index existant dans$_GET
. Vous pouvez vérifier que c'est la premièreou vous pouvez le silence de l'avis
par la suite, il suffit de vérifier si la page est une page connu
Juste un peu surclassement à la réponse précédente