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>
A voir également:

43 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
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
Rejoignez-nous