Erreur php

Fermé
gbemich - 21 oct. 2009 à 15:17
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 21 oct. 2009 à 16:09
Bonjour,
je développe un site web et pour le lancer j'appelle une page dans l'index et les autres liens me permettent d'afficher d'autres pages.Seulement quand je lance l'index il y a une notice qui s'affiche m'indiquant que j'ai pas déclaré p:
Voici le code de l'index:
<?php
session_start();
header("Cache-control: private");
?>
<?php

require("dbconnect.php");
$db = new dbconnect();
$db->connect();

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Acceuil</title>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Style3 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
color: #800000;
}
-->
</style>
<script language="JavaScript" src="calendar1.js"></script>
</head>

<body bgcolor="#336699">
<?php
if(isset($_GET['$p'])){
$p=$_GET['$p'];
}
?>
</head>

<body bgcolor="#336699">
<table height="1" cellSpacing="0" cellPadding="0" width="705" align="center" border="0">
<tbody>
<tr>
<td align="middle" width="705" bgColor="#cadcee" height="1">
<table style="BORDER-COLLAPSE: collapse" borderColor="#0099cc" height="1" cellSpacing="0" cellPadding="0" width="750" bgColor="#ffffff" border="1">
<tbody>
<tr>
<td vAlign="top" align="middle" bgColor="#003366" height="1">
<table id="AutoNumber2" style="BORDER-COLLAPSE: collapse" borderColor="#111111" height="15" cellSpacing="3" cellPadding="0" width="102%" border="0">
<tbody>
<tr>
<td width="100%" bgColor="#003366" colSpan="3" height="1">
<div align="left">
<table border="0" width="100%" height="89">
<tr>
<td width="100%" background="orange.gif" height="21"> </td>
</tr>
<tr>
<td width="100%" height="62"><p align="right"> <img src="btn-volshotel.gif" width="162" height="101">     <img src="vols-hp_02.gif" width="489" height="78">

<div align="center">
<center>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" bgcolor="#0080FF"><p align="left" class="Style3"> KAISER  VOYAGES...</p>
<p align="right" class="Style3">...COMME DANS VOS REVES </p>
<div align="center"> </div>
</td>
</tr>
</table>
</center>
</div>
</td>
</tr>
<tr>
<td width="100%" background="orange.gif" height="1"><div align="right"><strong><a href="<?php echo 'index.php?$p=33' ?>">Contacts</a></strong></div></td>
</tr>
</table>
</div>
</td>
</tr>
<center>
<tr>
<td vAlign="top" width="22%" bgColor="#003366" height="175">
<table border="0" width="100%">
<tr>
<td width="100%">
<?php include("includmenu.php"); ?></td>
</tr>
</table>
</td>
</center>
<td vAlign="top" width="100%" bgColor="#FFFFFF" height="87">
<center>
<div align="left">
<?php

switch($p){
case 1:include("p1.php"); break;
case 2:include("p2.php"); break;
case 3:include("p3.php"); break;
case 4:include("p4.php"); break;
case 5:include("p5.php"); break;
case 6:include("p6.php"); break;
case 7:include("p7.php"); break;
case 8:include("p8.php"); break;
case 9:include("p9.php"); break;
case 10:include("p10.php"); break;
case 11:include("p11.php"); break;
case 12:include("p12.php"); break;
case 13:include("p13.php"); break;
case 14:include("p14.php"); break;
case 15:include("p15.php"); break;
case 16:include("p16.php"); break;
case 17:include("p17.php"); break;
case 18:include("p18.php"); break;
case 19:include("p19.php"); break;
case 20:include("p20.php"); break;
case 21:include("p21.php"); break;
case 22:include("p22.php"); break;
case 23:include("p23.php"); break;
case 24:include("p24.php"); break;
case 25:include("p25.php"); break;
case 26:include("p26.php"); break;
case 27:include("p27.php"); break;
case 28:include("p28.php"); break;
case 29:include("p29.php"); break;
case 30:include("p30.php"); break;
case 31:include("p31.php"); break;
case 32:include("p32.php"); break;
case 33:include("p33.php"); break;
case 34:include("p34.php"); break;
case 35:include("p35.php"); break;
case 36:include("includmenu.php"); break;
case 37:include("menu2.php"); break;
case 38:include("menu3.php"); break;
default:include("p1.php"); break;
}
?>
</div>
</center>
</td>
</tr>
</tbody>
</table>
<table border="0" width="100%">
<tr>
<td width="100%" background="orange.gif">
<p align="center"><font size="2">All Rights Reserved-Copyright 2009 </font></td>
</tr>
</table>

</table>
</table>

</body>

Et voici l'erreur qui vient kan g lance le site:
Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 98

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 99

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 100

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 101

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 102

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 103

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 104

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 105

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 106

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 107

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 108

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 109

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 110

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 111

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 112

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 113

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 114

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 115

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 116

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 117

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 118

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 119

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 120

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 121

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 122

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 123

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 124

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 125

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 126

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 127

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 128

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 129

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 130

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 131

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 132

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 133

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 134

Notice: Undefined variable: p in C:\wamp\www\agence_voyage\index.php on line 135
la page s'affiche après.
SVP aidez moi

7 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
21 oct. 2009 à 15:24
<?php
if(isset($_GET['$p'])){
$p=$_GET['$p'];
}
?>
ce que tu mets entre les crochets n'est pas une variable mais une clé pour un tableau associatif et une valeur pour un tableau simple. Tu ne dois donc pas mettre $p mais p

<?php echo 'index.php?$p=33'; ?>
Tu ne doit pas mettre le signe dollar !
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
21 oct. 2009 à 15:24
je pense qu'il faut modifier ca:
<?php
if(isset($_GET['$p'])){
$p=$_GET['$p'];
}
?>

en ca

<?php
if(isset($_GET['p'])){
$p=$_GET['p'];
}
else
$p=1;//la valeur par défaut
?>
0
papouuu86 Messages postés 77 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 4 novembre 2009 11
21 oct. 2009 à 15:24
Deja <a href="<?php echo 'index.php?$p=33' ?>">Contacts</a> enleve le $ devant ton p il ne sert à rien

il faut que tu déclares ton $p avant ton $_GET pour qu'il renvoie à une page par defaut. car si $_GET['p'] n'existe pas alors ton $p non plus du coup ton switch ne sert a rien..
0
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 199
21 oct. 2009 à 15:28
Salut, j'avais pas vu ce que dit avion-f16, mais c'est pas faux.
Il faut aussi que tu attribue une valeur à $p même si le get n'est pas présent.
if(isset($_GET['p'])){
$p = $_GET['p'];
}
else {
$p = 0;
}

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
papouuu86 Messages postés 77 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 4 novembre 2009 11
21 oct. 2009 à 15:31
je dirais qu'il vaudrait mieux pour toi de mettre une valeur de ton switch car comme dis si $_GET[p] n'existe pas $p vaudra 0 or il n'y a pas de cas ou $p=0 dans ton switch.. attribue la valeur de ta page par defaut
0
Merci à tous .j'ai trouvé l'erreur:
il fallait modifier ca:
<?php
if(isset($_GET['$p'])){
$p=$_GET['$p'];
}
?>

en ca

<?php
if(isset($_GET['$p'])){
$p=$_GET['$p'];
}
else
$p=1;//la valeur par défaut
?>
_______________________________________________________
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
21 oct. 2009 à 16:09
comme dit plus haut, les $ n'ont rien à faire dans l'url, ni dans le $_GET['$p']

ce n'est pas vraiment faut en soit, mais c'est super moche, et dans le cas s'utilisation des variables globales, ca risque de merdouiller
0
papouuu86 Messages postés 77 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 4 novembre 2009 11
21 oct. 2009 à 16:09
enleve le $ devant ton p dans ton $_GET
comme on te l'a tous dit
0