Undefined index en php?

Résolu
Georges97427
Messages postés
54
Date d'inscription
mardi 28 juin 2011
Statut
Membre
Dernière intervention
21 février 2013
- 30 juil. 2011 à 02:39
Georges97427
Messages postés
54
Date d'inscription
mardi 28 juin 2011
Statut
Membre
Dernière intervention
21 février 2013
- 1 août 2011 à 10:59
Bonjour,

Notice: Undefined index: admin in C:\wamp\www\calendrier_bo.php on line 13

je reçois ce message d'erreur (surtout en localhost-wamp).
Mais le fichier fonctionne malgré cela.
Comment dois-je écrire cette instruction?
Merci de votre compréhension.

<html>
<head>
<title>index</title>
<link href="calendar.css" rel="stylesheet" type="text/css">
</head>


<?php
session_start();

if(isset($_POST['pwd']) AND $_POST['pwd']=="Georges974") $_SESSION['admin']=true;

if($_SESSION['admin'])
{

include("fonctions.php");
// recuperation du jour, mois, et année actuels
$jour_actuel = date("j", time());
$mois_actuel = date("m", time());
$an_actuel = date("Y", time());
$jour = $jour_actuel;

// si la variable mois n'existe pas, mois et année correspondent au mois et à l'année courante
if(!isset($_GET["mois"]))
{
$mois = $mois_actuel;
$an = $an_actuel;
}
else
{
$mois = $_GET["mois"];
$an = $_GET["an"];
}
//mois suivant
$mois_suivant = $mois + 1;
$an_suivant = $an;
if ($mois_suivant == 13)
{
$mois_suivant = 1;
$an_suivant = $an + 1;
}

//mois précédent
$mois_prec = $mois - 1;
$an_prec = $an;
if ($mois_prec == 0)
{
$mois_prec = 12;
$an_prec = $an - 1;
}

//affichage du mois et de l'année en french
$mois_de_annee = array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Decembre");
$mois_en_clair = $mois_de_annee[$mois - 1];
// creation d'un tableau à 31 entrée (1 pour chaues jours) et on dit qu'aucuns jours n'est resevé
for($j = 1; $j < 32; $j++){
$tab_jours[$j] = (bool)false;
}
// connexion à la bdd
include("config.inc.php");
$connect = mysql_connect($hote, $user, $password);
mysql_select_db($base, $connect);

$requete mysql_query("SELECT * FROM calendrier WHERE YEAR(jour) $an	AND MONTH(jour) = $mois");
while ($ligne = mysql_fetch_array($requete)){
// recupartion du jour ou il y a la reservation
$jours = $ligne["jour"];
// transforme aaaa/mm/jj en jj
$jour_reserve = (int)substr($jours, 8, 2);
// insertion des jours reservé dans le tableau
$tab_jours[$jour_reserve] = (bool)true;	
}
mysql_close($connect);
?>



<table width="346" border="0" cellpadding="0" cellspacing="0">
----,
<?php echo $mois_en_clair,\" \", $an; ?>
</td>
[tarifs.php Retour Le paille-en-queue]



<!--RETOUR-->


</html>

43 réponses

cod57
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
20
30 juil. 2011 à 14:28
@kohntark
oui tu as raison (le hash) ça protege de rien comme ça dans ce script mais le hash c'est mieux et il suffit de changer un peu le script avec un token pour le renforcer donc voilà un subterfuge

exemple:



<?php
session_start();
$passfake=md5('Georges974fake'); //a personnaliser
$pass='Georges974'; //ce que tu veux
/* && et === sont plus strict au niveau du controle*/

if(isset($_POST['pwd']) && $_POST['pwd']===$pass && $_SERVER['REQUEST_METHOD']==='POST' && $_POST['passfake']===$passfake){
$_SESSION['admin']=true;
}else{
$_SESSION['admin']=false;
}

/*deconnection*/
if(isset($_GET['dec']) && $_GET['dec']==='medeconnecter'){
//session_start();
session_unset();
session_destroy();
header('Location: ?');exit;
}

if($_SESSION['admin']===true)
{

echo '[?dec=medeconnecter me deconnecter]
';

include("fonctions.php");
// recuperation du jour, mois, et annÚe actuels
$jour_actuel = date("j", time());
$mois_actuel = date("m", time());
$an_actuel = date("Y", time());
$jour = $jour_actuel;

// si la variable mois n'existe pas, mois et annÚe correspondent au mois et Ó l'annÚe courante
if(!isset($_GET["mois"]))
{
$mois = $mois_actuel;
$an = $an_actuel;
}
else
{
$mois = $_GET["mois"];
$an = $_GET["an"];
}
//mois suivant
$mois_suivant = $mois + 1;
$an_suivant = $an;
if ($mois_suivant == 13)
{
$mois_suivant = 1;
$an_suivant = $an + 1;
}

//mois prÚcÚdent
$mois_prec = $mois - 1;
$an_prec = $an;
if ($mois_prec == 0)
{
$mois_prec = 12;
$an_prec = $an - 1;
}

//affichage du mois et de l'annÚe en french
$mois_de_annee = array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Ao¹t", "Septembre", "Octobre", "Novembre", "Decembre");
$mois_en_clair = $mois_de_annee[$mois - 1];
// creation d'un tableau Ó 31 entrÚe (1 pour chaues jours) et on dit qu'aucuns jours n'est resevÚ
for($j = 1; $j < 32; $j++){
$tab_jours[$j] = (bool)false;
}
// connexion Ó la bdd
include("config.inc.php");
$connect = mysql_connect($hote, $user, $password);
mysql_select_db($base, $connect);

$requete mysql_query("SELECT * FROM calendrier WHERE YEAR(jour) $an	AND MONTH(jour) = $mois");
while ($ligne = mysql_fetch_array($requete)){
// recupartion du jour ou il y a la reservation
$jours = $ligne["jour"];
// transforme aaaa/mm/jj en jj
$jour_reserve = (int)substr($jours, 8, 2);
// insertion des jours reservÚ dans le tableau
$tab_jours[$jour_reserve] = (bool)true;	
}
mysql_close($connect);
?>
<!-- le html  ici -->
<html>
<head>
<title>index</title>
<link href="calendar.css" rel="stylesheet" type="text/css">
</head>




<table width="346" border="0" cellpadding="0" cellspacing="0">
----,
<?php echo $mois_en_clair,\" \", $an; ?>
</td>
[tarifs.php Retour Le paille-en-queue]



<!--RETOUR-->


</html>






Bonne programmation !
3