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 :

Transmission de tableau de données


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Par défaut Transmission de tableau de données
    Bonjour, bonjour !
    Je rencontre un problème de récupération de données de formulaire sur un serveur Suze Server Enterprise Edition
    Version de php 5.3.8
    Version MySQL 5.0.96

    Dans mon formulaire, je souhaite récupérer mes infomrations dans une variable tableau portant le nom jform.

    Voici le code HTML du questionnaire
    Code html : 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
    <form action="http://10.67.212.75/jcu/administrator/index.php?option=com_jcu&amp;layout=edit&amp;id=0" method="post" name="adminForm" id="staff-form" class="form-validate form-horizontal">
    	<div class="control-group">
    		<div class="control-label">
    		</div>
    		<div class="controls">
    			<input type="hidden" name="jform[id]" id="jform_id" value="">
    		</div>
    	</div>
     
    	<div class="control-group">
    		<div class="control-label">
    			<label id="jform_nom-lbl" for="jform_nom" class="hasTip required invalid" title="" aria-invalid="true">Nom<span class="star">&nbsp;*</span></label>
    		</div>
    		<div class="controls">
    			<input type="text" name="jform[nom]" id="jform_nom" value="" class="inputbox validate_username required invalid" size="40" required="required" aria-required="true" aria-invalid="true">					
    		</div>
    	</div>
     
    	<div class="control-group">
    		<div class="control-label">
    			<label id="jform_prenom-lbl" for="jform_prenom" class="hasTip required" title="">Prénom<span class="star">&nbsp;*</span></label>					
    		</div>
    		<div class="controls">
    			<input type="text" name="jform[prenom]" id="jform_prenom" value="" class="inputbox validate_username required" size="40" required="required" aria-required="true">
    		</div>
    	</div>
     
    	<div class="control-group">
    		<div class="control-label">
    			<label id="jform_email-lbl" for="jform_email" class="hasTip" title="">Email</label>					
    		</div>
    		<div class="controls">
    			<input type="email" name="jform[email]" class="validate-email inputbox" id="jform_email" value="" size="40">					
    		</div>
    	</div>
    	<div class="control-group">
    		<div class="control-label">
    			<label id="jform_telephone-lbl" for="jform_telephone" class="hasTip" title="">Télephone</label>					
    		</div>
    		<div class="controls">
    			<input type="text" name="jform[telephone]" id="jform_telephone" value="" class="inputbox validate-telephone" size="40">					
    		</div>
    	</div>
    	<div class="control-group">
    		<div class="control-label">
    			<label id="jform_direction-lbl" for="jform_direction" class="hasTip" title="">Direction</label>					
    		</div>
    		<div class="controls">
    			<input type="text" name="jform[direction]" id="jform_direction" value="" class="inputbox" size="40">					
    		</div>
    	</div>
    	<div class="control-group">
    		<div class="control-label">
    			<label id="jform_categorie-lbl" for="jform_categorie" class="hasTip" title="">Catégorie</label>					
    		</div>
    		<div class="controls">
    			<input type="text" name="jform[categorie]" id="jform_categorie" value="" class="inputbox" size="40">					
    		</div>
    	</div>
    	<div class="control-group">
    		<div class="control-label">
    			<label id="jform_commentaire-lbl" for="jform_commentaire" class="hasTip" title="">Commentaire</label>					
    		</div>
    		<div class="controls">
    			<textarea name="jform[commentaire]" id="jform_commentaire" class="inputbox"></textarea>					
    		</div>
    	</div>
     
    	<input type="hidden" name="task" value="staff.edit">
    	<input type="hidden" name="37538c5cd774f623dfb4cd0063201674" value="1">		
    	<input type="submit" value="Valider">
    </form>

    Voici le code du serveur (code de test de la variable $_POST) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    echo("On atteint le fichier<br />");
    echo("<br />presentation du post <br />");
    var_dump($_POST);
    echo("<br />presentation du get aussi <br />");
    var_dump($_GET);
    Voici la réponse du serveur :
    On atteint le fichier
    
    presentation du post 
    array(3) { 
    		["jform"]=> 
    			array(1) { 
    				["id"]=> string(0) "" 
    			} 
    		["task"]=>string(10) "staff.edit" 
    		["37538c5cd774f623dfb4cd0063201674"]=>string(1) "1" 
    	} 
    presentation du get aussi 
    array(3) { 
    		["option"]=>string(7) "com_jcu" 
    		["layout"]=> string(4) "edit" 
    		["id"]=> string(1) "0" 
    	}
    
    Voici en paralèle une écoute de la requète http émise lors du clic sur le submit :
    Code x : 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
    Request URL:http://10.67.212.75/jcu/administrator/index.php?option=com_jcu&layout=edit&id=0
    Request Method:POST
    Status Code:303 See other
    
    Request Headers
    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
    Cache-Control:max-age=0
    Connection:keep-alive
    Content-Length:281
    Content-Type:application/x-www-form-urlencoded
    Cookie:3573b78d7776c4a6427bb91dd5e4d1cd=t0i8u7stj4mguihk1v0fd9bmq2iu0khhlj6q4flkfoe9t5k6lh01; e77545367656b9daa4f8ee5b3dad7856=0suvvt1j9140nfcqru5fib2f4vrus0ok5i6cg22br8ubglcjmsg0; 90623414a4f223fadea3f3811163365e=5vuc5qo93kdpvsm859uttd1pd6fs6i4is2hui28561jq5jr2er41
    Host:10.67.212.75
    Origin:http://10.67.212.75
    Referer:http://10.67.212.75/jcu/administrator/index.php?option=com_jcu&view=staff&layout=edit
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
    
    Query String Parameters view URL encoded
    option:com_jcu
    layout:edit
    id:0
    
    Form Data 
    jform[id]:
    jform[nom]:afefzef
    jform[prenom]:ezefezf
    jform[email]:zfezf@fzefze.fezf
    jform[telephone]:
    jform[direction]:
    jform[categorie]:
    jform[commentaire]:
    jform[evenement_attachees_guide]:-1
    task:staff.save
    37538c5cd774f623dfb4cd0063201674:1
    
    Response Headers
    Connection:Keep-Alive
    Content-Length:0
    Content-Type:text/html; charset=utf-8
    Date:Mon, 13 May 2013 12:25:10 GMT
    Keep-Alive:timeout=15, max=100
    Location:http://10.67.212.75/jcu/administrator/index.php?option=com_jcu&view=staff&layout=edit
    Server:Apache
    X-Powered-By:PHP/5.3.8

    Mon problème est donc le suivant, pourquoi est ce que je n'arrive pas à récupérer toutes les valeurs de mon tableau "jform" sur ce serveur, puisque les données sont bien envoyées.
    J'ajoute que ce code fonctionne bien sur d'autres serveurs. Y a-t-il une configuration de PHP ou bien de Apache qui permet de définir que l'on peut ou non recevoir des tableau dans les variables des formulaires ? Je ne comprends pas du tout d'ou peut provenir cette erreur.

    Si quelqu'un avait une idée ce serait super

    Merci d'avance !

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    J'aurais éventuellement compris pour le champ de type email (même si a priori PHP se moque du type html du moment que c'est dans la requête HTTP) mais pas pour les autres.

    Par pure curiosité, est-ce que ça fonctionne si tu utilises des noms distincts au lieu d'utiliser un tableau ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Par défaut
    Oui si j'utilise des noms distincts cela fonctionne, en fait c'est vraiment la récupération du tableau qui plante. Mais je n'ai jamais rencontré ce type de problème et la je sèche totalement.

    Le soucis c'est que je ne peux pas passer par des variables distinctes parceque le code qui prend en charge le formulaire est un code générique qui habituellement fonctionne très bien. J'ai juste réussit a diagnostiquer que le problème viens de la mauvaise transmission des données du form... après pourquoi...
    C'est ce qui me fait penser que le problème viens d'un paramétrage serveur, vu que c'est la seul chose qui change par rapport à une autre installation sur laquelle le formulaire fonctionne, mais... ce n'est qu'une hypothèse... Y a t'il des configurations d'apache ou de php qui sont relative à la transmission des éléments d'un formulaire ou à la prise en charge des tableaux ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Par défaut
    P.I.

    J'ai trouvé un truc pas très encourageant qui correspond à ma version de PHP sur un autre forum... mais je continue les recherches

    http://stackoverflow.com/questions/1...-are-truncated

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Quelle version de PHP utilises-tu ?
    A partir de 5.3.9, il y a une directive max_input_vars qui permet de limiter le nombre de champs passés dans un formulaire. (mais bon, si ça marche avec des noms différents, je ne vois pas pourquoi ça ne marcherait pas avec un tableau )
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [VBA-E] Tableau de données <=> Fichier Texte
    Par P50 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2005, 16h02
  2. Réponses: 7
    Dernier message: 15/12/2005, 14h24
  3. exporter un tableau de donnée vers un document word
    Par demerzel0 dans le forum Access
    Réponses: 2
    Dernier message: 04/11/2005, 11h57
  4. Filtrer un tableau de données
    Par Yux dans le forum Langage
    Réponses: 12
    Dernier message: 13/10/2005, 22h21
  5. [Collections] Transformer un tableau de données en une chaîne
    Par NATHW dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 03/06/2004, 16h44

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