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 :

notice: undefined index:action


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Par défaut notice: undefined index:action
    Bonjour,
    je dois reprendre un projet déjà existant et lui apporter des modifications, j'ai donc copié ce programme et sa base de données en local afin de ne pas altérer l'application.
    Seulement, alors que cette dernière fonctionne correctement, lorsque j'exécute le programme sous Wamp, plusieurs erreurs apparaissent dans le code, ces erreurs sont toutes de type
    Notice: Undefined index: action in C:\wamp\www\appli\html\recherche.php on line 4
    Je vous poste un extrait du code pour que vous puissiez m'indiquer d'où viennent ces erreurs, afin que je puisse modifier aussi les autres fichiers qui comportent les mêmes erreurs.

    Merci

    Un morceau du code :
    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
    <?php session_start(); 
    include "connexion.php"; 
    include "fonctions.php";
    $action = $_GET['action'];
    $typeSociete = $_SESSION['typeSociete'] = $_GET['typeSociete']; 
     
    	if ($action == "new") session_unset(); //Suppression de toutes les variables session ;
     
    	// RECUPERATION DE CHAQUE VARIABLE DANS UNE SESSION
    	if (isset($_POST['nbSitesMin'])) 		$_SESSION['nbSitesMin'] = $_POST['nbSitesMin'];
    	if (isset($_POST['nbSitesMax'])) 		$_SESSION['nbSitesMax'] = $_POST['nbSitesMax'];
    	if (isset($_POST['nbSalariesMin'])) 	$_SESSION['nbSalariesMin'] = $_POST['nbSalariesMin'];
    	if (isset($_POST['nbSalariesMax'])) 	$_SESSION['nbSalariesMax'] = $_POST['nbSalariesMax'];
    	if (isset($_POST['codePostalSociete'])) $_SESSION['codePostalSociete'] = $_POST['codePostalSociete'];
    	if (isset($_POST['possedeSiteWeb']))	$_SESSION['possedeSiteWeb'] = $_POST['possedeSiteWeb'];
    	if (isset($_POST['codeNAF']))			$_SESSION['codeNAF'] = $_POST['codeNAF'];
    	if (isset($_POST['codeAPE']))			$_SESSION['codeAPE'] = $_POST['codeAPE'];
    	if (isset($_POST['fonctionTesteur']))	$_SESSION['fonctionTesteur'] = $_POST['fonctionTesteur'];
    	if (isset($_POST['jourMin']))			$_SESSION['jourMin'] = $_POST['jourMin'];
    	if (isset($_POST['jourMax']))			$_SESSION['jourMax'] = $_POST['jourMax'];
    	if (isset($_POST['moisMin']))			$_SESSION['moisMin'] = $_POST['moisMin'];
    	if (isset($_POST['moisMax']))			$_SESSION['moisMax'] = $_POST['moisMax'];
    	if (isset($_POST['anneeMin']))			$_SESSION['anneeMin'] = $_POST['anneeMin'];
    	if (isset($_POST['anneeMax']))			$_SESSION['anneeMax'] = $_POST['anneeMax'];
     
    	if (isset($_POST['jourMin']) && isset($_POST['moisMin']) && isset($_POST['anneeMin'])) $dateMin = $_POST['anneeMin'].'-'.$_POST['moisMin'].'-'.$_POST['dateMin'];
    	if (isset($_POST['jourMax']) && isset($_POST['moisMax']) && isset($_POST['anneeMax'])) $dateMin = $_POST['anneeMax'].'-'.$_POST['moisMax'].'-'.$_POST['dateMax'];
     
    	if (isset($_POST['nbPart0']))			$_SESSION['nbPart0'] = $_POST['nbPart0'];
    	if (isset($_POST['nbPart1']))			$_SESSION['nbPart1'] = $_POST['nbPart1'];
    	if (isset($_POST['nbPart2']))			$_SESSION['nbPart2'] = $_POST['nbPart2'];
    	if (isset($_POST['nbPart3']))			$_SESSION['nbPart3'] = $_POST['nbPart3'];
    	if (isset($_POST['liste1']))			$_SESSION['liste1'] = $_POST['liste1'];
    	if (isset($_POST['liste2']))			$_SESSION['liste2'] = $_POST['liste2'];
    	if (isset($_POST['liste3']))			$_SESSION['liste3'] = $_POST['liste3'];
    	if (isset($_POST['liste4']))			$_SESSION['liste4'] = $_POST['liste4'];
    	if (isset($_POST['liste5']))			$_SESSION['liste5'] = $_POST['liste5'];
    	if (isset($_POST['liste6']))			$_SESSION['liste6'] = $_POST['liste6'];
    	if (isset($_POST['liste7']))			$_SESSION['liste7'] = $_POST['liste7'];
    	if (isset($_POST['liste8']))			$_SESSION['liste8'] = $_POST['liste8'];
    	if (isset($_POST['liste9']))			$_SESSION['liste9'] = $_POST['liste9'];
    	if (isset($_POST['liste10']))			$_SESSION['liste10'] = $_POST['liste10'];
    	if (isset($_POST['liste11']))			$_SESSION['liste11'] = $_POST['liste11'];
    	if (isset($_POST['liste12']))			$_SESSION['liste12'] = $_POST['liste12'];
    	if (isset($_POST['liste13']))			$_SESSION['liste13'] = $_POST['liste13'];
     
    	if ($_SESSION['nbSitesMin'] == '') $_SESSION['nbSitesMin'] = '0';
    	if ($_SESSION['nbSalariesMin'] == '') $_SESSION['nbSalariesMin'] = '0';
    	if ($_SESSION['nbSites'] == '') $_SESSION['nbSitesMax'] = mysql_result(mysql_query("SELECT MAX(NbSites) FROM societe"),0)or die("<br /><strong>".mysql_error()."</strong>");
    	if ($_SESSION['nbSalariesMax'] == '') $_SESSION['nbSalariesMax'] = mysql_result(mysql_query("SELECT MAX(NbSalaries) FROM societe"),0)or die("<br /><strong>".mysql_error()."</strong>");
     
    	function ajoutListeMultiple($numListe) {
    		$typeSociete = $_SESSION['typeSociete'];
    echo	'<p>
    			<label class="titre" for="liste'.$numListe.'" >'.afficherLib('LibListe', 'liste', 'NumListe', $numListe).'</label>';
    			$resultat = execute("SELECT NumCritere, LibCritere FROM critere WHERE NumListe = $numListe AND (TypeSociete = '$typeSociete' OR TypeSociete IS NULL)");
    			$nbLignes = mysql_num_rows($resultat); $cpt = '0'; //Nombre de lignes retournées afin d'adapter la longueur de la listBox
    echo 		'<select name="liste'.$numListe.'[]" id="liste'.$numListe.'" size="'.$nbLignes.'" multiple="multiple" class="max">';
    				while ($donnees = mysql_fetch_array($resultat)) {
    					echo '<option value="'.$donnees["NumCritere"].'" '.selectionnerListeTab("liste$numListe", $cpt, $donnees['NumCritere']).'>'.$donnees["LibCritere"].'</option>';
    					if ($_SESSION["liste$numListe"][$cpt] == $donnees['NumCritere']) $cpt++;
    				}	
    echo		'</select>
    		</p>';
    	}
     
    	$nbSitesMinOK = preg_match("#^[0-9]+$#", $_SESSION['nbSitesMin']); // Doit être composé uniquement d'entiers
    	$nbSitesMaxOK = preg_match("#^[0-9]+$#", $_SESSION['nbSitesMax']); // Doit être composé uniquement d'entiers
    	$nbSalariesMinOK = preg_match("#^[0-9]+$#", $_SESSION['nbSalariesMin']); // Doit être composé uniquement d'entiers
    	$nbSalariesMaxOK = preg_match("#^[0-9]+$#", $_SESSION['nbSalariesMax']); // Doit être composé uniquement d'entiers
     
    	$dateMinOK = checkdate($_SESSION['moisMin'], $_SESSION['jourMin'], $_SESSION['anneeMin']);
    	$dateMaxOK = checkdate($_SESSION['moisMax'], $_SESSION['jourMax'], $_SESSION['anneeMax']);

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Bonjour ,
    le message d'erreur est claire , il n'y a pas de variable Action passée dans l'URL ...faut regarder le code du formulaire pour eclaircir le tout .
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Par défaut
    D'accord, les erreurs viennent du formulaire, mais ce que je ne comprends pas c'est que l'application fonctionne sans ces erreurs, mais depuis que je l'ai installée en local, ces erreurs sont apparues
    voici le formulaire, j'espère que quelqu'un pourra m'aider à y voir plus clair, car c'est difficile de repartir d'un code qui comporte maintenant des erreurs...

    (attention, formulaire balèze)

    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
    125
    126
    127
    128
    129
    130
    131
    132
     
    <form action="recherche.php?action=verification&amp;typeSociete=<?php echo $typeSociete; ?>" method="post" class="cssform" >
    				<fieldset>
    					<legend>Informations sur la societe</legend>
     
    					<p> <!-- Liens type de société -->
    						<label class="titre">Type de société</label>
    						<a href="recherche.php?typeSociete=Entreprise">Entreprises</a>
    						<a href="recherche.php?typeSociete=Professionnel">Professionnels</a>
    						<a href="recherche.php">Les 2...</a>
    					</p>
    					<p> <!-- Liste déroulante Code NAF -->
    						<label for="codeNAF" class="titre">Code NAF</label>
    						<select name="codeNAF[]" id="codeNAF" size="4" multiple="multiple" class="max">
    							<option value="00">00 - Non renseigné</option>
    <?php						$resultat = execute("SELECT DISTINCT naf.CodeNAF, LibCodeNAF FROM naf, ape, societe WHERE naf.CodeNAF = ape.CodeNAF AND ape.CodeAPE = societe.CodeAPE ORDER BY LibCodeNAF");
    							while ($donnees = mysql_fetch_array($resultat)) { 
    								echo '<option value="'.$donnees['CodeNAF'].'" '.selectionnerListeTab('codeNAF', $cpt, $donnees['CodeNAF']).'>'.$donnees['CodeNAF']." - ".$donnees["LibCodeNAF"].'</option>';
    								if ($_SESSION['codeNAF'][$cpt] == $donnees['CodeNAF']) $cpt++;
    							}
    ?>						</select>
    					</p>
    					<p> <!-- Liste déroulante Code APE -->
    						<label class="titre">Code APE</label>
    						<select name="codeAPE[]" id="codeAPE" size="4" multiple="multiple" class="max">
    							<option value="00000">00000 - Non renseigné</option>
    <?php						$resultat = execute("SELECT DISTINCT ape.CodeAPE, LibCodeAPE FROM ape, societe WHERE ape.CodeAPE = societe.CodeAPE ORDER BY LibCodeAPE");
    							while ($donnees = mysql_fetch_array($resultat)) {
    								echo '<option value="'.$donnees["CodeAPE"].'" '.selectionnerListeTab('codeAPE', $cpt, $donnees['CodeAPE']).'>'.$donnees["CodeAPE"].' - '.$donnees["LibCodeAPE"].'</option>';
    								if ($_SESSION['codeAPE'][$cpt] == $donnees['CodeAPE']) $cpt++;
    							}
    ?>						</select>
    					</p>
    					<p> <!-- Nombre de sites : zones de texte Min et Max -->
    						<label class="titre">Nombre de sites</label>
    						<label for="nbSitesMin" class="input">Min</label><input type="text" class="petit" name="nbSitesMin" id="nbSitesMin" <?php afficherValeurDefautMin('nbSitesMin');?>  />
    						<label for="nbSitesMax" class="input">Max</label><input type="text" class="petit" name="nbSitesMax" id="nbSitesMax" <?php afficherValeurDefautMax('nbSitesMax', 'nbSites');?>  />
    					</p>
    					<p> <!-- Nombre de salariés : zones de texte Min et Max -->
    						<label class="titre">Effectif</label>
    						<label for="nbSalariesMin" class="input">Min</label><input type="text" class="petit" name="nbSalariesMin" id="nbSalariesMin" <?php afficherValeurDefautMin('nbSalariesMin');?>  />
    						<label for="nbSalariesMax" class="input">Max</label><input type="text" class="petit" name="nbSalariesMax" id="nbSalariesMax" <?php afficherValeurDefautMax('nbSalariesMax', 'nbSalaries');?>  />
    					</p>
    					<p> <!-- Localisation : liste déroulante multiple sur 4 lignes -->
    						<label class="titre" for="codePostalSociete">Localisation</label>
    						<select name="codePostalSociete[]" id="codePostalSociete" size="4" multiple="multiple" class="grand">
    <?php					$resultat = execute("SELECT DISTINCT CodePostalSociete FROM Societe ORDER BY CodePostalSociete"); $cpt=0;
    						while ($donnees = mysql_fetch_array($resultat)) {
    							echo '<option value="'.$donnees['CodePostalSociete'].'" '.selectionnerListeTab('codePostalSociete', $cpt, $donnees['CodePostalSociete']).'>'.$donnees['CodePostalSociete'].'</option>';
    							if ($_SESSION['codePostalSociete'][$cpt] == $donnees['CodePostalSociete']) $cpt++;
    						}
    ?>						</select>
    					</p>
    <?php				if ($typeSociete == 'Entreprise'){ 
    						ajoutListeMultiple(11); //Type d'entreprise
    						ajoutListeMultiple(12); // Agence Entreprise
    					} else if ($typeSociete == 'Professionnel'){ 
    						ajoutListeMultiple(13); // Type de structure juridique
    					} ?>
    					<p> <!-- Boutons radio possède Site Web -->
    						<label class="titre">Possède un site Web</label>
    						<input type="radio" name="possedeSiteWeb" value="1" id="possedeSiteWebOui" <?php echo cocheRadio('possedeSiteWeb', "1")?> /> <label for="possedeSiteWebOui">oui</label>
    						<input type="radio" name="possedeSiteWeb" value="0" id="possedeSiteWebNon" <?php echo cocheRadio('possedeSiteWeb', "0")?> /> <label for="possedeSiteWebNon">non</label>
    					</p>
    <?php				ajoutListeMultiple(1);
    					ajoutListeMultiple(2);
    					ajoutListeMultiple(3);
    					ajoutListeMultiple(4);
    ?>
    				</fieldset>
    				<fieldset>
    					<legend>Informations sur le testeur</legend>
    					<p> <!-- Liste déroulante Fonction -->
    						<label class="titre" for="fonctionTesteur">Fonction</label>
    						<select name="fonctionTesteur[]" id="fonctionTesteur" size="4" multiple="multiple" class="max">
    <?php						$resultat = execute("SELECT NumFonction, LibFonction FROM Fonction"); $cpt=0;
    							while ($donnees = mysql_fetch_array($resultat)) {
    								echo '<option value="'.$donnees['NumFonction'].'" '.selectionnerListeTab('fonctionTesteur', $cpt ,$donnees['NumFonction']).'>'.$donnees['LibFonction'].'</option>';
    								if ($_SESSION['fonctionTesteur'][$cpt] == $donnees['NumFonction']) $cpt++;
    							}
    ?>						</select>
    					</p>
    					<p> <!-- Checkbox Nombre de participations-->
    						<label class="titre">Nombre de participations</label>
    						<input type="checkbox" name="nbPart0" id="nbPart0" <?php echo cocheCheck('nbPart0', "on");?>/> <label for="nbPart0">0</label>
    						<input type="checkbox" name="nbPart1" id="nbPart1" <?php echo cocheCheck('nbPart1', "on");?>/> <label for="nbPart1">1</label>
    						<input type="checkbox" name="nbPart2" id="nbPart2" <?php echo cocheCheck('nbPart2', "on");?>/> <label for="nbPart2">2</label>
    						<input type="checkbox" name="nbPart3" id="nbPart3" <?php echo cocheCheck('nbPart3', "on");?>/> <label for="nbPart3">3 ou +</label>
    					</p>
    <?php 				// Gestion des dates
    					if (!isset($_SESSION['jourMin'])) $_SESSION['jourMin'] = date("j");
    					if (!isset($_SESSION['jourMax'])) $_SESSION['jourMax'] = date("j");
    					if (!isset($_SESSION['moisMin'])) $_SESSION['moisMin'] = date("n");
    					if (!isset($_SESSION['moisMax'])) $_SESSION['moisMax'] = date("n");
    					if (!isset($_SESSION['anneeMin'])) $_SESSION['anneeMin'] = date('Y')-1;
    					if (!isset($_SESSION['anneeMax'])) $_SESSION['anneeMax'] = date("Y");
    ?>					<p> 
    						<label class="titre">Du</label>
     
    						<select name="jourMin" class="petit">
    							<?php for ($i=1;$i<=31;$i++) echo '<option value="'.$i.'" '.selectionnerListe("jourMin", $i).' >'.$i.'</option>'; ?>
    						</select>
    						<select name="moisMin" class="grand">
    							<?php for ($i=1;$i<=12;$i++) echo '<option value="'.$i.'" '.selectionnerListe("moisMin", $i).' >'.afficherMois($i).'</option>'; ?>
    						</select>
    						<select name="anneeMin" class="grand">
    							<?php for ($i=2000;$i<=2020;$i++) echo '<option value="'.$i.'" '.selectionnerListe("anneeMin", $i).' >'.$i.'</option>'; ?>
    						</select>			
    					</p>
    					<p>
    						<label class="titre">Au</label>
     
    						<select name="jourMax" class="petit">
    							<?php for ($i=1;$i<=31;$i++) echo '<option value="'.$i.'" '.selectionnerListe("jourMax", $i).' >'.$i.'</option>'; ?>
    						</select>
    						<select name="moisMax" class="grand">
    							<?php for ($i=1;$i<=12;$i++) echo '<option value="'.$i.'" '.selectionnerListe("moisMax", $i).' >'.afficherMois($i).'</option>'; ?>
    						</select>
    						<select name="anneeMax" class="grand">
    							<?php for ($i=2000;$i<=2050;$i++) echo '<option value="'.$i.'" '.selectionnerListe("anneeMax", $i).' >'.$i.'</option>'; ?>
    						</select>			
    					</p>
    <?php				ajoutListeMultiple(5);
    					ajoutListeMultiple(6);
    					ajoutListeMultiple(7);
    					ajoutListeMultiple(8);
    					ajoutListeMultiple(9);
    					ajoutListeMultiple(10);
    ?>				
    				</fieldset>
    				<p><input type="submit" value="Rechercher"/><input type="reset" value="Effacer"/></p>
    			</form>

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut
    Je pense que cela n'a rien à voir avec ton locale
    Regarde ta balise form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="recherche.php?action=verification&amp;typeSociete=<?php echo $typeSociete; ?>" method="post" class="cssform" >
    Toi tu tentes de récupérer un get alors que ton formulaire envoi un Post.
    Remplace juste : method="post" par method="get".
    @+

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Par défaut
    Merci, j'ai testé ta solution mais en mettant get à la place de post, ça me renvoie sur la même page de recherche. C'est bien juste au niveau de la balise form que je dois appliquer la modification?

  6. #6
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    salut,
    Citation Envoyé par floctc
    D'accord, les erreurs viennent du formulaire, mais ce que je ne comprends pas c'est que l'application fonctionne sans ces erreurs, mais depuis que je l'ai installée en local, ces erreurs sont apparues
    tente de remplacer cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form action="recherche.php?action=verification&amp;typeSociete=<?php echo $typeSociete; ?>" method="post" class="cssform" >
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form action="recherche.php?action=verification&typeSociete=<?php echo $typeSociete; ?>" method="post" class="cssform" >

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/04/2007, 10h01
  2. Notice: Undefined index method post
    Par vanou dans le forum Langage
    Réponses: 8
    Dernier message: 07/03/2007, 09h33
  3. Pb erreur Notice: Undefined index: pseudo
    Par PAINCO dans le forum Langage
    Réponses: 15
    Dernier message: 19/02/2007, 18h20
  4. Notice: Undefined index
    Par abusatif dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2007, 09h03
  5. Réponses: 9
    Dernier message: 01/05/2006, 00h02

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