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 :

Manque Variable si trop ligne


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut Manque Variable si trop ligne
    Bonjour à tous,

    (Désolé si le titre n'ai pas parlant, mais je sais pas trop comment le formuler)

    Je dispose d'une page web ou je génère (en JavaScript) un tableau html avec des données à l’intérieur avec plus ou moins de ligne.

    Mais quand je valide si mon tableau fait < =29 lignes c'est OK (j'ai bien mes enregistrement dans ma base) par contre si => 30 lignes cela ne s'enregistre pas (pas erreur).

    Quand je fait mes test jusqu’à 29 lignes> je vois bien s'afficher. mais au-delà la page est blanche.*
    (*dans les outil Dev de mon navigateur, je vois bien qu'il y a bien toute les données envoyé au formulaire).

    J'ai comme l'impression qu'il manque des ressources pour pouvoir tout traiter. Est-ce possible ?

    je suis preneur de vos conseils

    guigui69

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Voici le bout de code de ma 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
    If (isset($_POST["btnSubmit_x"]) && isset($_POST["btnSubmit_y"]))
    {
     
     
    $values = array();
     
    foreach ($_POST['article'] as $article)
     
    {
     
       $values = '("' . valid_data($article[0]) . '",
    				 STR_TO_DATE("' . valid_data($article[2]) . '","%d/%m/%Y"),
    				 "' . valid_data($article[1]) . '",
    				 "' . valid_data($article[3]) . '",
    				 "' . valid_data($article[4]) . '",
    				 "' . valid_data($article[5]) . '",
    				 "' . valid_data($article[6]) . '",
    				 "' . valid_data($article[7]) . '",
    				 "' . valid_data($article[8]) . '",
    				 "' . valid_data($article[9]) . '",
    				 "' . valid_data($article[10]) . '",
    				 "' . valid_data($article[11]) . '",
    				 "' . valid_data($article[12]) . '",
    				 "' . valid_data($article[13]) . '",
    				 "' . valid_data($article[16]) . '",
    				 "' . valid_data($article[17]) . '",
    				 "' . valid_data($article[18]) . '",
    				 "' . valid_data($article[19]) . '",
    				 "' . valid_data($article[20]) . '",
    				 "' . valid_data($article[21]) . '",
    				 "' . valid_data($article[22]) . '",
    				 "' . valid_data($article[23]) . '",
    				 STR_TO_DATE("' . valid_data($article[24]) . '","%d/%m/%Y"),
    				 "' . valid_data($article[25]) . '",
    				 "0",
    				 STR_TO_DATE("' . valid_data($article[26]) . '","%d/%m/%Y"),
    				 "' . valid_data($article[14]) . '",
    				 "' . valid_data($article[15]) . '",
    				"' . valid_data($article[27]) . '"	,
    				"' . valid_data($article[28]) . '"	,
    "' . valid_data($article[29]) . '",
    "' . valid_data($article[30]) . '",
    "' . valid_data($article[7]) . '",
    "' . valid_data($article[31]) . '"	,
    "' . valid_data($article[32]) . '"					
    				 )';
     
    $requete2 = 'INSERT INTO `com` (................) VALUES ' .$values;
     
     
    echo $requete2;
    $query2=mysqli_query($mysqli,$requete2) or die ('erreur2');
     
    }

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 652
    Par défaut
    affichez le contenu de $_POST au début de votre code pour vérifier que le tableau contient bien toutes les données.

    pour faire cela, essayez cette fonction qui affichera n'importe quelle variable composée d'objets, tableaux, code XML :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function aff($var)
    {
    	echo "<pre>";
    	echo htmlspecialchars(var_export($var, TRUE));
    	echo "</pre>";
    }

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Bonjour,

    J'ai ajouté le code le resultat sur la parte gauche on va que cela s’arrête à 29 variable "Article" (et pas en entier) alors qu'a droite dans la partie ToolDev du navigateur il voit bien la totalité.
    Nom : 11111.PNG
Affichages : 39
Taille : 62,2 Ko

    on dirat que la variable Article ne peut pas contenir tout les valeurs, non ?

  5. #5
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 652
    Par défaut
    il y a plusieurs réglages de php qui pourrait influencer sur l'éventuel affichage d'un message d'erreur ou sur la limitation du nombre de valeurs.
    vous pouvez regarder dans phpinfo ou alors exécuter ce code pour afficher ces valeurs :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $parametres = [
    	"display_errors", // affichage des erreurs
    	"error_reporting", // types d'erreurs
    	"max_input_vars", // nombre de variables
    	"post_max_size", // mémoire maximale pour les requêtes POST
    ];
     
    foreach ($parametres as $p) {
     
    	$valeur = ini_get($p);
    	echo "<div>$p : $valeur</div>";
     
    }
    ;

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Bonjour Mathieu,

    c'est cette variable que j'ai modifié max_input_vars je suis passé de 1000 à 10000 et cela a fonctionné. Je devais depassé la valeur de 1000

    je surveille encore quelque jours mais je pense que c'est résolu

  7. #7
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 652
    Par défaut
    ah oui si vous avez 33 cases par article et 50 articles, on arrive à 1 650 variables.

    une évolution de cette page serait de répartir le contenu sur plusieurs pages, je suppose que toutes les valeurs ne sont pas modifiées à chaque fois.

Discussions similaires

  1. [DOM] Déclarer une variable sur plusieurs lignes
    Par fgallnii dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 28/10/2008, 15h32
  2. Il me manque une ou deux lignes de code!
    Par intel_mark dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/08/2007, 21h27
  3. Variable sur plusieurs ligne
    Par krfa1 dans le forum ASP
    Réponses: 5
    Dernier message: 20/04/2006, 10h26
  4. Réponses: 3
    Dernier message: 14/04/2006, 12h54
  5. [langage] variable selon la ligne de commande
    Par rodolphedj dans le forum Langage
    Réponses: 3
    Dernier message: 13/12/2004, 13h21

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