Indefined index

lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012 - 31 mai 2011 à 18:21
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 5 juin 2011 à 20:26
bonjour,
Suite à un exercice je met ce code ; Le probleme est qu'il me met comme erreur indefined index nom
indefined index mdp

comment puis je régler cette erreur ?
merci d avance
lorant

<?php
  // Création de variables aux noms abrégés
    $nom = $_POST['nom'];
  $mdp = $_POST['mdp'];

  if( (!isset($nom)) || (!isset($mdp)) ) {

    // Le visiteur doit entrer un nom et un mot de passe
?>
    Connectez-vous

    Cette page est secrète.


    <form method="post" action="secret.php">
      Nom : 


      Mot de passe : 


      


    </form>
<?php
  } else if(($nom "utilisateur1") && ($mdp "secret")) {
    // La combinaison nom/mot de passe est correcte
    echo "Bienvenue !

          Je pense que vous êtes content de voir cette page 
             secrète. 

";
  } else {
    // La combinaison nom/mot de passe est incorrecte
    echo "Fichez le camp !

          Vous n'avez pas le droit de venir ici.

";
  }
?>

5 réponses

inwebo Messages postés 380 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014
31 mai 2011 à 20:20
Bonjour

Test si $_POST['nom']; isset(existe) si il n'existe pas tu lui donne une valeur par défaut sinon rien. idem pour $_POST['mdp'];

________________________________________
( $toBe || !$toBe ) = $this->Question();
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
31 mai 2011 à 20:52
bonsoir,
Merci pour ta réponse !!!
En fait je sais qu'il faut tester avec isset la variable mais je n'y arrivait pas et du coup en cherchant je pense avoir trouvé en remplacant les variables par :
if (isset($_POST["nom"]) )$nom=$_POST["nom"];
  if (isset($_POST["mdp"]) )$mdp=$_POST["mdp"];


Cela semble fonctionner !!

MERCI en tout cas
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 juin 2011 à 15:22
Bonjour,

tu auras toujours une notice :

if (isset($_POST["nom"]) )$nom=$_POST["nom"] else $nom='';
if (isset($_POST["mdp"]) )$mdp=$_POST["mdp"] else $mdp='';

si tu vas dans ton php.ini et que tu mets ton error_reporting a E_ALL, t'auras de meilleurs erreurs.
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
5 juin 2011 à 16:50
je ne veux pas modifier le fichier ini ; pas tres propre. Par contre cela semble fonctionne sans notice que ce soi sur ma virtualisation ou sur mon domaine.Merci quand meme en cas ou j ai tes informations
0

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

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
5 juin 2011 à 20:26
c'est pas tres propre de pouvoir voir toutes les erreurs que tu fais ???

tu peux l'avoir en utilisant une fonction genre set_error_reporting je crois, mais ca fait longtemps que je n'ai pas fait de php.
0
Rejoignez-nous