IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Index non défini


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut [PHP-JS] Index non défini
    Bonjour.

    Je viens de copier un script du bouquin PHP5 "le guide complet"
    Quand je lance la page, j'ai un message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined index: action in c:\weblocal\sites\testsphp\eleve_edite.php on line 5
    je ne comprends d'où vient le problème. Je mets tout le code la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    <?php
    $liendb = mysql_connect("localhost", "root","");
    mysql_select_db ("mabdd");
    if ($_REQUEST['action']=="maj")
    {
     if (empty($_REQUEST['nom']) || empty($_REQUEST['prenom']) ||
      empty($_REQUEST['adresse']) ||
      empty($_REQUEST['ville']) ||
      empty($_REQUEST['codepostal']) ||
      empty($_REQUEST['pays']) ||
      empty($_REQUEST['naissance']) ||
      empty($_REQUEST['telephone']) ||
      empty($_REQUEST['lv']))
      die("ERREUR : tous les champs doivent être remplis.");
     if ($_REQUEST['sexe']!="masculin" && $_REQUEST['sexe']!="feminin")
      die("ERREUR : choissisez votre sexe.");
     $reg_email = "^[[:alnum:]]+@[[:alpha:]]+\.[[:alpha:]]{2,3}$";
     if (eregi($reg_email,$_REQUEST['email']) == 0)
      die("ERREUR : adresse mail non valide");
     if ($_REQUEST['taille']<=100 || $_REQUEST['taille']>=220)
      die("ERREUR : la taille n'est pas valide.");
     $sql = "UPDATE eleve SET nom = '".$_REQUEST['nom']."',".
      "prenom = '".$_REQUEST['prenom']."',".
      "adresse = '".$_REQUEST['adresse']."',".
      "ville = '".$_REQUEST['ville']."',".
      "cp = '".$_REQUEST['cp']."',".
      "pays = '".$_REQUEST['pays']."',".
      "sexe = '".$_REQUEST['sexe']."',".
      "naissance = '".$_REQUEST['naissance']."',".
      "taille = '".$_REQUEST['taille']."',".
      "email = '".$_REQUEST['email']."',".
      "telephone = '".$_REQUEST['telephone']."',".
      "lv = '".$_REQUEST['lv']."',".
      " WHERE ideleve = '".$_REQUEST['id']."'";
     mysql_query ($sql);
    }
    elseif ($_REQUEST['action']=="suppr" && $_REQUEST['id']>=1)
    {
     $sql = "DELETE FROM eleve WHERE ideleve='".$_REQUEST['id']."'";
     mysql_query ($sql);
     header("Location: <a href="http://localhost/admin.php" target="_blank">http://localhost/admin.php</a>");
    }
    echo "<html>";
    echo "<head>";
    echo "<title>Admin Ecole</title>";
    echo "</head>";
    echo "<body>";
    echo "<h1>admin - école</h1>";
    echo "<p align=left> :: fiche d'élève [".$_REQUEST['id']."]</p>";
    $sql = "SELECT * FROM eleve WHERE ideleve = '".$_REQUEST['id']."'";
    $resultat = mysql_query ($sql);
    $eleve = mysql_fetch_array ($resultat);
    ?>
    <form action="eleve_edite.php" method="post">
    <input type="hidden" name="enregistre" value="oui"/>
    <input type="hidden" name="id" value="<?php echo $_REQUEST['id']; ?>" />
    <table>
    <tr>
    <td>nom</td>
    <td><input type="text" name="nom" value="<?php echo $eleve['nom']; ?>" /></td>
    </tr>
    <tr>
    <td>prénom</td>
    <td><input type="text" name="prenom" value="<?php echo $eleve['prenom']; ?>" /></td>
    </tr>
    <tr>
    <td>adresse</td>
    <td><textarea name="adresse" ><?php echo $eleve['adresse']; ?></textarea></td>
    </tr>
    <tr>
    <td>ville</td>
    <td><input type="text" name="vile" value="<?php echo $eleve['ville']; ?>" /></td>
    </tr>
    <tr>
    <td>code postal</td>
    <td><input type="text" name="codepostal" value="<?php echo $eleve['cp']; ?>" /></td>
    </tr>
    <tr>
    <td>pays</td>
    <td><input type="text" name="pays" value="<?php echo $eleve['pays']; ?>" /></td>
    </tr>
    <tr>
    <td>sexe</td>
    <td>M <input type="radio" name="sexe" value="masculin" <?php if ($eleve['sexe'] == "masculin") echo "CHECKED";?>> -
    <td>F <input type="radio" name="sexe" value="feminin" <?php if ($eleve['sexe'] == "feminin") echo "CHECKED";?>></td>
    </tr>
    <tr>
    <td>date de naissance</td>
    <td><input type="text" name="naissance" value="<?php echo $eleve['naissance']; ?>" /></td>
    </tr>
    <tr>
    <td>taille</td>
    <td><input type="text" name="taille" value="<?php echo $eleve['taille']; ?>" /></td>
    </tr>
    <tr>
    <td>email</td>
    <td><input type="text" name="email" value="<?php echo $eleve['email']; ?>" /></td>
    </tr>
    <tr>
    <td>téléphone</td>
    <td><input type="text" name="telephone" value="<?php echo $eleve['telephone']; ?>" /></td>
    </tr>
    <tr>
    <td>langue vivante</td>
    <td><select name="lv">
     <option value="anglais"> anglais </option>
     <option value="espagnol" <?php if ($eleve['lv'] == "espagnol") 
      echo "SELECTED"; ?>> espagnol </option>
     <option value="allemand" <?php if ($eleve['lv'] == "allemand") 
      echo "SELECTED"; ?>> allemand </option>
     </select>
    </td>
    </tr>
    </table>
    <br/>
    <select name="action">
     <option value="maj"> Enregistrer la fiche </option>
     <option value="suppr"> Supprimer la fiche </option>
    </select>
    <input type="submit" value="valider">
    </form>
    </body>
    </html>
    <?php mysql_close($liendb); ?>
    Merci de me dire où est le problème.
    Si vous connaissez, merci de me donner votre appréciation.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    au premier chargement de la page,
    $_REQUEST['action']
    sera forcement indéfini...

    Il faut donc que tu le test avec isset() pour ne pas tenter de récuperer la valeur si elle n'existe pas.

Discussions similaires

  1. Problèmes d'index non défini
    Par pat06 dans le forum Langage
    Réponses: 6
    Dernier message: 03/11/2007, 18h52
  2. un index à la fois défini et non-défini
    Par Biosox dans le forum Langage
    Réponses: 4
    Dernier message: 03/04/2007, 16h00
  3. [PHP-JS] Formulaire non trouvé dans une fonction
    Par philippe30 dans le forum Langage
    Réponses: 4
    Dernier message: 11/12/2005, 21h53
  4. [RAR] Fonction rar_open non définie
    Par laulau75 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/11/2005, 12h19
  5. [MYSQL] index non utilisés
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 10
    Dernier message: 27/10/2005, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo