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 :

problème avec POST


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 444
    Points : 139
    Points
    139
    Par défaut problème avec POST
    Bonjour,

    je fais un formulaire dans ma page, et quand je clique le bouton valider, je lance un script php avec des paramètres récupérés du formulaire :
    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
    <table width="800">
    		<tr>			
    			<td>
    				<form name="formulaire" action="" method="post" id="evecosDemande2">
     
    					<hr align="center" width="700" size="3" class="hrCotier">
    					<table>
    						<tr>
    							<td class="titre3_cotier">Paramètres de la requête</td>
    						</tr>
    					</table>
    					<br>
    					<table>						
    						<tr>
    							<td class="frmLabel">&nbsp;</td>
    							<td class="frmLabel">Date de début*</td>
    							<td class="frmLabel">Date de fin*</td>							
    						</tr>
    						<tr>
    							<td class="frmLabel">
    								<input type="checkbox" name="allData" value="">Toute la série
    							</td>
    							<td>
    								<input type="text" class="frmTextField" value="" readonly name="beginDate" onclick="displayCalendar(document.forms[0].beginDate,'yyyy-mm-dd',this)">
    							</td>
    							<td>
    								<input type="text" class="frmTextField" value="" readonly name="endDate" onclick="displayCalendar(document.forms[0].endDate,'yyyy-mm-dd',this)">
    							</td>
    						</tr>
    					</table>
    					<br>
    					<table align="center">
    						<tr>
    							<td><input type="submit" name="valider" value="Envoyer"/></td>
    						</tr>
    					</table>
    				</form>
    			</td>
    		</tr>
    	</table>
     
    <?php
    	if(isset($_POST['valider'])){		
    		$date1 = $_POST['beginDate'];
    		$date2 = $_POST['endDate'];
    		echo '<script language="php" src="scripts/evecosExtraction.php?date_begin=' .$date1. '&date_end=' .$date2. '"></script>';		
    	}
    ?>
    Mais j'ai un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Notice: Undefined index: beginDate in C:\wamp\www\charte_v0\evecosDemande2.php on line 164
     
    Notice: Undefined index: endDate in C:\wamp\www\charte_v0\evecosDemande2.php on line 165
    il ne sais donc pas récupérer les valeurs des champs ?
    qu'est ce que j'ai oublié ?

    Merci,

    Nico

  2. #2
    Membre habitué Avatar de Cobaye
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Points : 154
    Points
    154
    Par défaut
    vire tes readonly pour tester

    et fait un var_dump($_POST);

    ca te permettra de voir ce que retourne le formulaire
    Pro : http://www.ohweb.fr -> Spécialiste en développement de site e-commerce, Expert Prestashop
    perso : http://www.olecorre.com -> un dico de termes informatiques


    J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 444
    Points : 139
    Points
    139
    Par défaut
    j'ai peut-être une piste :
    dans mon enchainement de pages, j'ai une première page avec un formulaire, quand je clique sur Envoyer, ça fait une requête sur une base de données et ça affiche la deuxième page (celle qui me pose problème), où il y a aussi un formulaire.
    Donc, quand ça arrive sur la deuxième page, il y a déjà des valeurs de variables dans $_POST, mais pas dateBegin et dateEnd, d'où les messages d'erreur. Mais si on omet ces messages, et qu'on rempli le formulaire, quand on clique sur Envoyer, ça fait bien les traitements demandés.

    J'ai essayé de mettre un unset($POST) au début de la deuxième page, mais là, ça ne fait plus rien quand je clique sur Envoyer du formulaire de la deuxième page.

    voilà, ce n'est qu'une idée, si vous confirmez, est-ce que vous avez une idée pour résoudre le problème ?

    Merci,

    Nico

  4. #4
    Expert confirmé
    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
    Points : 4 853
    Points
    4 853
    Par défaut
    ajoutes des tests supplémentaires pour $_POST['beginDate'] et $_POST['endDate']
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(isset($_POST['valider'])){		
    		$date1 =isset( $_POST['beginDate']) ? $_POST['beginDate'] : '';
    		$date2 = isset( $_POST['endDate']) ? $_POST['endDate'] : '';
    //la suite...
    }
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 444
    Points : 139
    Points
    139
    Par défaut
    dans mes 2 formulaires, le bouton Envoyer avait comme propriété name="valider".
    en changeant name="valider1" pour le premier et name="valider2" pour le deuxième formulaire, ça marche.

    Nico

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

Discussions similaires

  1. problème avec POST
    Par pierrickg dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2009, 08h58
  2. Problème avec un "select multiple" et POST
    Par crazydiver_e2 dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2006, 15h54
  3. Problème avec le transfert par POST
    Par raptor70 dans le forum Langage
    Réponses: 11
    Dernier message: 28/11/2005, 11h44
  4. [IDHTTP] Problème avec la methode post (login:pass@ww.url)
    Par Rayek dans le forum Web & réseau
    Réponses: 5
    Dernier message: 11/07/2005, 10h03
  5. [HTTPS] Problème de Post et Get avec Apache et SSL
    Par bartrik dans le forum Apache
    Réponses: 5
    Dernier message: 17/09/2004, 08h37

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