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
31 juil. 2011 à 10:53
bonjour

si je reprend ce que tu proposes tu as un message au premier lancement undefined ...
et plus apres vu que tu es toujours admin
donc il faut isset()
donc ça serait
<?php
session_start();

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

if(isset($_SESSION['admin']) && $_SESSION['admin'])
{ ...
?>


puis tu restes toujours admin

donc ce que je te propose de faire
nettoie le cache du navigateur si tu as
i.e -> outils -> options internet -> supprimer
historique de navigation tu fermes ton navigateur et tu reviens sur la page

message: undefined ...

puis tu te logues

tout et ok plus de message

tu refermes ton navigateur et reouvre celui ci tu retape la page en question et là tu es logué sans le password ?
(connectes toi avec ton script tel quel
pour le test)


donc il faut separer et se deconnecter
la solution et de faire un petit espace membre admin ça tient en quatre petits fichiers et je peux t'aider ...

Bonne programmation !
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 juil. 2011 à 12:41
voilà la correction en ligne 6 pour que ça fonctionne

En fait si je comprends bien il s'agit de la première réponse que tu as eu il y a 21 messages de cela, et qui a été précisée par la suite ...


Je ne suis pas à votre niveau d'où "débutant".
Merci de ne pas l'oublier!

C'est tout à fait ce qui est fait ici. J'ai réagi au code de Cod57 pour éviter que toi, ou d'autres débutants, ne recopient des lignes qui ne servent à rien et peuvent poser plus de problèmes qu'elles n'en résolvent.
Demain ce sera lui qui me corrigera, ce qui évitera aux débutants de recopier les erreurs que j'aurai laissé.
C'est sur que le débat a prit un côté un peu plus technique, mais c'était nécessaire.

Donc soyons concret et simple je réitère ma demande

C'est marrant que tu dises cela car tu fais exactement l'inverse.
J'ai pris du temps pour te proposer quelques solutions qui simplifient grandement le code ... à première vue j'ai écrit dans le vide
Menfin fait comme tu le sens hein, gardes juste à l'esprit que si tu ne soignes pas un minimum et simplifie le code maintenant tu vas galérer lorsqu'il s'agira de le faire évoluer.
Inutile de rappeler aussi que le premier crétin venu va pouvoir s'en donner à coeur joie pour "defacer" ton site, corrompre tes données, récupérer à ton insu des données sur tes clients (peut être pas en DB aujourd'hui, ... mais demain ??), mettre ton site hors service, etc ... etc ...
Tu auras été prévenu.

if(isset($_SESSION['admin']) && $_SESSION['admin'])

Dans le code initial fourni par Cod57 je vois :
$_SESSION['admin'] === true

Peut on savoir pourquoi tu as supprimé le "=== true" ?
Ca va fonctionner, mais tu ne testes par correctement le contenu de $_SESSION['admin'] qui doit être un booléen true et rien d'autre. Là dès l'instant où il y a quelque chose dans la variable ça passe tout debout.
Dans certains cas ça pourrait poser problème.


Cordialement,




Kohntark -
0
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 14:49
D'abord la réponse pour Kohntark:

En fait si je comprends bien il s'agit de la première réponse que tu as eu il y a 21 messages de cela, et qui a été précisée par la suite ...


je l'ai testé et plusieurs fois, mais ça ne fonctionnait pas. Je me suis certainement trompé, je veux bien l'admettre...

C'est marrant que tu dises cela car tu fais exactement l'inverse.


J'ai bien essayé mais, il est clair que tes solutions, certainement pertinentes, m'angoissaient à les prendre...et si je me trompe, non par peur, mais je n'ai pas votre niveau (sic).Pour ta mise en garde je suis absolument d'accord avec toi, mais pour l'instant "mes moyens" ne me permettent pas de "voler".

Peut on savoir pourquoi tu as supprimé le "=== true" ?

J'ai essayé la solution "===true" mais ceci ne voulait pas fonctionner et là....
Néanmoins vos solutions je les essaie, mais je dois encore faire des progrès.
Merci pour ton dévouement,j'apprécie ton travail pour moi et je mesure ton désappointement. Je reste à l'écoute...

Cordialement.
Georges
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 juil. 2011 à 15:13
BONJOUR

Georges je suis aller voir ton site et je vois le problème tu es pas vraiment programmeur php ... tu adaptes ton site avec un calendrier
de phpcs ok

j'ai fait un script tu vas ici
http//abyz.free.fr/nico/

admin
2015popi

et tu veras le sézame si c'est ça je te l'envoie voir je le publie sur phpcs
les conseils de kohntark sont les bons
mais tu captes pas ... il se donne du mal

maintenant reste à voir si le
script calendrier reservation est top ...

Bonne programmation !
0

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

Posez votre question
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 15:24
Bonjour cod57,

1-J'ai bien ce code, et ça fonctionne.

firefox5 -> outils -> options internet -> supprimer=je n'ai pas!- comment faire?

On peut essayer ta solution, malheureusement mon hébergeur n'a pas encore installé les fichiers.(olympe-network). Il faut attendre un peu, non?

Je constate que lorsque j'ouvre une 2ème fois ADMIN -> la demande du Password disparaît, je suis automatiquement dans la possibilité de modifier le calendrier. (est-ce ça que tu veux changer?).

puis tu te logues

tout et ok plus de message

tu refermes ton navigateur et reouvre celui ci tu retape la page en question et là tu es logué sans le password ?
(connectes toi avec ton script tel quel
pour le test)
donc il faut separer et se deconnecter


C'est une solution intéressante.
0
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 15:31
Georges je suis aller voir ton site et je vois le problème tu es pas vraiment programmeur php ... tu adaptes ton site avec un calendrier
de phpcs ok


C'est absolument ça, je ne suis pas programmateur php mais ingénieur électronicien(retraité). J'apprends.
je vais voir ton script.
Merci cod57
0
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 15:34
cod57
http//abyz.free.fr/nico/

ne veut pas s'ouvrir !!
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 juil. 2011 à 15:41
le prob c'est que je gére ton calendrier dans un iframe si tu coupes le site y plus rien dans le frame

je suis pas proprietaire bon c'était pour te montrer ... tu vois que ça fonctionne ...

je reflechis, tout publier ou le mettre en download

Bonne programmation !
0
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 15:50
Ah! J'oublieais sur le sîte de :
http://www.cogites.com/e_reserv/index.php
Il y un calendrier de résevation visible avec tous les mois de l'année (top).
Qu'en penses-tu ??
Je peux te donner mon E-mail (mais comment?)pour ne pas encombrer...

Comme tu as vu mon site (amateur) je voudrais par la suite encore installer un formulaire de réservation (pas compliqué).
Qu'en penses-tu ?
Si tu as des idées??
Cordialement
Georges
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 juil. 2011 à 16:20
oui faut essayer
avec mon script tu peux choisir
ce qui te semble le mieux tu géres par un frame
tout est dans le script ...
je t'ai envoyé un lien et une explication
je vais publier le script plus tard sur phpcs
...
en ce qui concerne le calendrier j'ai pas regardé le codage mais kohntark avait déjà soulever quelques problèmes de sécurité je
crois je vais regardé aprés




Bonne programmation !
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 juil. 2011 à 16:29
j'ai regardé
http://www.cogites.com/e_reserv/index.php
c'est un peu ce que tu essaies de faire
tu pourras remplacer la version calendrier nico ... par cette version gratuite voir developper ton script plus tard


Bonne programmation !
0
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 17:59
cod57,
pourquoi n'est-il pas possible d'ouvrir le site?
j'ai fait un script tu vas ici
http//abyz.free.fr/nico/

admin
2015popi

Je reçois un message que le fichier est introuvable.
Comment dois-je faire pour y parvenir??
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 juil. 2011 à 18:02
Re,

Ah! J'oublieais sur le sîte de :
http://www.cogites.com/e_reserv/index.php
Il y un calendrier de résevation visible avec tous les mois de l'année (top).
Qu'en penses-tu ??


Personnellement je te le déconseille vivement. Je n'ai regardé que 2 pages du script très rapidement : c'est mal codé, la gestion des erreurs est trop souvent inexistante (undefined index à tire larigot) , il doit être possible de récupérer l'intégralité des données clients assez facilement via des injections SQL, ...

Nan, franchement, je te le déconseille.

Je n'ai malheureusement pas d'adresse à te proposer, mais je suis sur qu'en cherchant un peu tu dois pouvoir trouver quelque chose qui correspond à tes besoins et qui est codé un minimum proprement.
Le temps de recherche sera au final du temps gagné !!



pourquoi n'est-il pas possible d'ouvrir le site?

=> il manque les ":" après le http
http://abyz.free.fr/nico/

Cordialement,

Kohntark -
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 juil. 2011 à 18:27
Georges le script de nico ... je l'ai téléchargé
marche pas trop en php 5 ça bug
je regarde aussi plus tard

Kohntark a analysé le code (Kohntark++)
http://www.cogites.com/e_reserv/index.php
ç'est que le code doit être limite j'ai pas regardé j'avais juste lu la présentation

j'ai oublié les :
http://abyz.free.fr/nico/

Bonne programmation !
0
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 19:30
Merci pour votre dévouement à toi Kohntark et cod57.

Quelle sagacité! pour le ":" et les conseils surtout, je m'y tiendrai!(Il y a aussi le calendrier de free)

http://mon.calendrier.free.fr

Il m'a l'air un superbe mais je pense au-dessus de mes "moyens" non?

Ok cod57 j'attendrai le temps qu'il faut.
bonsoir
Cordialement
Georges
0
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 19:44
J'ai ouvert: coquin...
Quelle surprise....Ah les Suissesses, Magnifique!!
On va oublier de regarder le calendrier...très appétissant!
pour le reste je prends les fichiers par le code source?
0
Georges97427 Messages postés 54 Date d'inscription mardi 28 juin 2011 Statut Membre Dernière intervention 21 février 2013
31 juil. 2011 à 19:58
Cod57, J'ai téléchargé le *.zip
A première vue très intéressant, je regarderai, mais pour ce soir j'arrête un peu, mais je me manifesterai.
cordialement
Georges
0
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 à 08:54
Bonjour cod57,

J'ai installé, comme tu le dis dans explique.txt.

1- mais lorsque je fais http://monsite.com/admingeorges/
le login et le password sont demandés, puis le calendrier Aout s'ouvre, jusque là ok, mais le touriste veut voir septembre, octobre etc...et là ça ne fonctionne plus.

2-Et comment fait-on pour que je puisse marquer les jours réservés? (avant j'utilisais calendrier_bo.php)

3-Sur mon site j'utilisais l'onglet "espace-privé" je pouvais modifier les réservations...

Comment fait-on ?
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
1 août 2011 à 09:49
bonjour
j'ai peu etre pas recuperé la version que tu as
je vais la mettre en ligne aprés tu compareras
mais je peux marqué les jours ...
calendrier_bo.php c'est index.php dans fichiers/
a++


Bonne programmation !
0
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:31
Il serait sympa si je te donnais mes fichiers, ne pourrais-je pas te les mettre en message privé ?
Mais je ne sais pas comment on fait chez phpcs.
sinon par un mail.
0
Rejoignez-nous