Page 1 sur 2
Champ vide alors que non et code "bancal"...
Posté : 28 oct. 2005, 21:22
par ItaloBADI
Voilà.
J'ai un problème avec un traitement de formulaire.
C'est une MEGA requête ( du moins à mes yeux )... Et je ne savais pas comment faire, j'ai donc utilisé la logique , en procédant étape par étape, et je m'attendais pour ce gros morceau-là à ne pas réussir, mais là, l'erreur annoncée me sidère...
ça fait comme si j'avais oublié de remplir un champ...
OR, ils sont bien remplis.
Cela viendrait-il de mon code ?
Si une âme charitable veut prendre le temps de se pencher dessus, et de m'excuser

pour les aberrations qu'elle y trouvera, et me dire comment l'améliorer, car là je ne sais plus que faire...
MERCI d'avance....
<?
// on crée la requête SQL
$sql = "SELECT saison, annee FROM temps";
// on envoie la requête :oops:
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
{
$saison=$data['saison'];
$annee=$data['annee'];
}
// On commence par récupérer les champs
if(isset($_POST['nbble'])) $nbble=$_POST['nbble'];
else $nbble="";
if(isset($_POST['nbchasse'])) $nbchasse=$_POST['nbchasse'];
else $nbchasse="";
if(isset($_POST['nbpeche'])) $nbpeche=$_POST['nbpeche'];
else $nbpeche="";
if(isset($_POST['nbbois'])) $nbbois=$_POST['nbbois'];
else $nbbois="";
if(isset($_POST['nbcueillette'])) $nbcueillette=$_POST['nbcueillette'];
else $nbcueillette="";
// On vérifie si les champs sont vides
if(isset($_POST) && empty($_POST['nbble']) && empty($_POST['nbchasse']) && empty($_POST['nbpeche']) && empty($_POST['nbbois']) && empty($_POST['nbcueillette']))
{
echo '<p>Vous avez oublié de faire un choix de quota.</p><br/><br/><br/><br/>
<span class="double"><a href="mj_terres.PHP">REVENEZ A VOTRE GESTION DES TERRES. </a></span>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// on crée la requête SQL
$sql = "SELECT login,argent,ble,chasse,peche,bois,cueillette, terres_vierges FROM informations WHERE login !='HOCHELAGA' AND login!='divers' ORDER BY id DESC";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on affiche les informations de l'enregistrement en cours
while($row = mysql_fetch_assoc($req))
{
$login[] = $row['login'];
$argent[] = $row['argent'];
$ble[] = $row['ble'];
$chasse[] = $row['chasse'];
$peche[] = $row['peche'];
$bois[] = $row['bois'];
$cueillette[] = $row['cueillette'];
$terres_vierges[] = $row['terres_vierges'];
}
$nb = count($login);
for($i = 0; $i < $nb; $i++)
{
//je calcule les terres vierges pour les réinitialiser plus tard, à partir des terres mises en cultures avant transformation.
$newterres_vierges[$i]=$terres_vierges[$i]+$ble[$i]+$chasse[$i]+$peche[$i]+$bois[$i]+$cueillette[$i];
$gainble[$i]=$ble[$i]*$nbble;
$gainchasse[$i]=$chasse[$i]*$nbchasse;
$gainpeche[$i]=$peche[$i]*$nbpeche;
$gainbois[$i]=$bois[$i]*$nbbois;
$gaincueillette[$i]=$cueillette[$i]*$nbcueillette;
$newrapport[$i]=$gainble[$i]+$gainchasse[$i]+$gainpeche[$i]+$gainbois[$i]+$gaincueillette[$i];
$newargent[$i]=$argent[$i]+$newrapport[$i];
// on envoie les données dans la table informations
$sql_maj = "UPDATE informations ".
"SET terres_vierges='". $newterres_vierges[$i] ."', ".
"ble='0', ".
"chasse='0', ".
"peche='0', ".
"bois='0', ".
"cueillette='0' ".
"rapport='". $newrapport[$i] ."' ".
"argent='". $newargent[$i] ."' ".
"WHERE login='".$login[$i]."'";
mysql_query($sql_maj);
//ON va maintenant procéder à l'achat des denrées par la ville
// on crée la requête SQL
$sql = "SELECT achatscolons FROM depenses WHERE date='".$annee."'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on affiche les informations de l'enregistrement en cours
$data= mysql_fetch_assoc($req);
$anciensoldachats = $row['achatscolons'];
$alldepenses=$newrapport[$i++];
mysql_query("UPDATE depenses SET achatscolons=$anciensoldachats+$alldepenses WHERE date='".$annee."'");
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
//ON va maintenant procéder à la vente automatique des denrées par la ville
$sql = "SELECT exportations FROM recettes WHERE date='".$annee."'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on affiche les informations de l'enregistrement en cours
$data= mysql_fetch_assoc($req);
$anciensoldexport = $row['exportations'];
$export=$alldepenses*1.2;
mysql_query("UPDATE exportations SET achatscolons=$anciensoldexport+$export WHERE date='".$annee."'");}
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on prévient le MJ que tout cela est fait
echo '<p>Vous avez procédé aux ventes automatiques des produits des colons, à leur achat par la ville<br/>
et à l\'exportation automatique de ces denrées.</p><br/><br/><br/><br/>
<span class="double"><a href="mj_terres.PHP">REVENEZ A VOTRE GESTION DES TERRES. </a></span>';}
mysql_close(); // on ferme la connexion
?>
Posté : 28 oct. 2005, 21:26
par ItaloBADI
Je résume le but de mon code :
je veux récupérer les nombre ( quotas ) par type de productions ( blé, chasse, pêche, bois, cueillette ) dans mon formulaire du MJ.
Ensuite, je récupère les données des joueurs ( c'est un jeu ), et...
Cette opération replace les terres des colons en terres_vierges,
leur attribue sous forme d'écus l'argent correspondant à leurs ventes,
expédie un message ( informations générales ) pour annoncer combien les ventes ont rapporté en fonction des types de récoltes,
effectue automatiquement le paiement en question sur les réserves d'HOCHELAGA,
effectue automatiquement l'action de revendre ces mêmes denrées à un prix supérieur aux marchands ou sur le marché.
Pas trop dur à la base...
Juste de multiples requêtes, MAIS je sais faire TOUT ça pour UN joueur, avec un LOGIN, et là je dois le faire faire automatiquement sur tous les logins de ma table, et là, pour moi, ça devient compliqué...
Je m'attendais donc à un problème de ce côté-là, mais non, le problème pour le moment, c'est que je n'ai soi-disant pas rempli les champs correctement !!
ET POURTANT, j'ai tout vérifié !
Posté : 28 oct. 2005, 21:42
par ouckileou
Quelle est l'erreur exactement ? une erreur PHP ou MySQL ? ou un message d'erreur à toi ?
Posté : 28 oct. 2005, 21:48
par Cyrano
On va y aller en commençant par le début: voici les premières lignes un peu rangées et simplifiées, commentaires ensuite:
<?php
// on crée la requête SQL
$sql = "SELECT saison, annee FROM temps";
// on envoie la requête Embarassed
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
$saison = $data['saison'];
$annee = $data['annee'];
}
// On commence par récupérer les champs
$nbble = (isset($_POST['nbble'])) ? $_POST['nbble'] : "";
$nbchasse = (isset($_POST['nbchasse'])) ? $_POST['nbchasse'] : "";
$nbpeche = (isset($_POST['nbpeche'])) ? $_POST['nbpeche'] : "";
$nbbois = (isset($_POST['nbbois'])) ? $_POST['nbbois'] : "";
$nbcueillette = (isset($_POST['nbcueillette'])) ? $_POST['nbcueillette'] : "";
// On vérifie si les champs sont vides
if(
isset($_POST['nom_bouton_submit']) &&
empty($nbble) &&
empty($nbchasse) &&
empty($nbpeche) &&
empty($nbbois) &&
empty($nbcueillette)
)
{
echo '<p>Vous avez oublié de faire un choix de quota.</p><br/><br/><br/><br/>
<span class="double"><a href="mj_terres.PHP">REVENEZ A VOTRE GESTION DES TERRES. </a></span>';
}
//...
?>
Première chose : je ne vois pas de connexion à la base ni d'inclusion d'un quelconque fichier de configuration de connexion... la requête s'exécute comment ?
Ensuite lorsque tu récupères les informations de la première requête, tu ne peux récupérer qu'une seule ligne dans tes variables $saison et $année : pour récupérer toutes les lignes (s'il y en a plusieurs bien entendu), il faudrait que ces mêmes variables soient au moins des tableaux indexés et tu fais ça dans une boucle pour chaque ligne.
Après ça, j'ai simplifié l'initialisation des variables de récupération des données du formulaire avec des opératques ternaires:
$var = (condition) ? "valeur x" : "valeur y";
Ce qui revient exactement à la même chose que ce que tu avais fait, mais sur une ligne au lieu de deux. Bien aligné, ça devient plus facile à lire en plus.
Continuons: tu testes si il y a des variables POSTDATA : il vaudrait mieux vérifier si le bouton du formulaire a été cliqué: observe comment je l'ai formulé : isset($_POST['nom_bouton_submit']) (remplace par la valeur de l'attribut name de ton bouton submit bien entendu)
Juste après ça, tu utilises à nouveau la super-globale $_POST : pour quoi faire ? tu as initialisé des variables, autant les utiiser, donc, là aussi on simplifie.
Voilà pour le début, mais j'arrête là, parce que la question de la connexion est toujours en suspend...
Posté : 28 oct. 2005, 21:53
par ItaloBADI
Quelle est l'erreur exactement ? une erreur PHP ou MySQL ? ou un message d'erreur à toi ?
J'avais eu deux-trois erreurs SQL ou PHP que j'avais réglées, du genre PARSE ERROR...
Et là, il n' y a aucune erreur d'affichée, sauf que le traitement se faisant, ça fait comme si un champ est vide.
Ca dit mon propre message que j'ai mis là , en cas de champ laissé vide :
// On vérifie si les champs sont vides
if(isset($_POST) && empty($_POST['nbble']) && empty($_POST['nbchasse']) && empty($_POST['nbpeche']) && empty($_POST['nbbois']) && empty($_POST['nbcueillette']))
{
echo '<p>Vous avez oublié de faire un choix de quota.</p><br/><br/><br/><br/>
<span class="double"><a href="mj_terres.PHP">REVENEZ A VOTRE GESTION DES TERRES. </a></span>';
}
ça me dit donc tout simplement :
Vous avez oublié de faire un choix de quota.
REVENEZ A VOTRE GESTION DES TERRES.
OR, je remplis bien mes champs, je sélectionne un chiffre.
Je vous mets le formulaire , ça peut aider lol
<form action="mj_action_terres.php">
<b>Indiquez pour chaque produit un gain par are :<br/>
<?
function choixParDefaut($nombre) // Création de la fonction
{
$par_defaut = ''; // On crée une variable (vide par défaut) que l'on retournera à la fin
if (isset($_POST['nombre'])) // Si le visiteur a choisi un nombre
{
if ($_POST['nombre'] == $nombre) // Si ce nombre correspond au nombre que l'on est en train de traiter
{
$par_defaut='selected="selected"'; // Alors on modifie la variable que l'on retournera et on lui met selected
}
}
return $par_defaut;
}
?>
Quota blé :
<select name="nbble" >
<option value=""<? echo choixParDefaut(''); ?>></option>
<option value="1"<? echo choixParDefaut('1'); ?>>1</option>
<option value="1.1"<? echo choixParDefaut('1.1'); ?>>1.1</option>
<option value="1.2"<? echo choixParDefaut('1.2'); ?>>1.2</option>
<option value="1.3"<? echo choixParDefaut('1.3'); ?>>1.3</option>
<option value="1.4"<? echo choixParDefaut('1.4'); ?>>1.4</option>
<option value="1.5"<? echo choixParDefaut('1.5'); ?>>1.5</option>
<option value="1.6"<? echo choixParDefaut('1.6'); ?>>1.6</option>
<option value="1.7"<? echo choixParDefaut('1.7'); ?>>1.7</option>
<option value="1.8"<? echo choixParDefaut('1.8'); ?>>1.8</option>
<option value="1.9"<? echo choixParDefaut('1.9'); ?>>1.9</option>
<option value="2"<? echo choixParDefaut('2'); ?>>2</option>
<option value="2.1"<? echo choixParDefaut('2.1'); ?>>2.1</option>
<option value="2.2"<? echo choixParDefaut('2.2'); ?>>2.2</option>
<option value="2.3"<? echo choixParDefaut('2.3'); ?>>2.3</option>
<option value="2.4"<? echo choixParDefaut('2.4'); ?>>2.4</option>
<option value="2.5"<? echo choixParDefaut('2.5'); ?>>2.5</option>
</select>
<br/>
Quota chasse :
<select name="nbchasse" >
<option value=""<? echo choixParDefaut(''); ?>></option>
<option value="1"<? echo choixParDefaut('1'); ?>>1</option>
<option value="1.1"<? echo choixParDefaut('1.1'); ?>>1.1</option>
<option value="1.2"<? echo choixParDefaut('1.2'); ?>>1.2</option>
<option value="1.3"<? echo choixParDefaut('1.3'); ?>>1.3</option>
<option value="1.4"<? echo choixParDefaut('1.4'); ?>>1.4</option>
<option value="1.5"<? echo choixParDefaut('1.5'); ?>>1.5</option>
<option value="1.6"<? echo choixParDefaut('1.6'); ?>>1.6</option>
<option value="1.7"<? echo choixParDefaut('1.7'); ?>>1.7</option>
<option value="1.8"<? echo choixParDefaut('1.8'); ?>>1.8</option>
<option value="1.9"<? echo choixParDefaut('1.9'); ?>>1.9</option>
<option value="2"<? echo choixParDefaut('2'); ?>>2</option>
<option value="2.1"<? echo choixParDefaut('2.1'); ?>>2.1</option>
<option value="2.2"<? echo choixParDefaut('2.2'); ?>>2.2</option>
<option value="2.3"<? echo choixParDefaut('2.3'); ?>>2.3</option>
<option value="2.4"<? echo choixParDefaut('2.4'); ?>>2.4</option>
<option value="2.5"<? echo choixParDefaut('2.5'); ?>>2.5</option>
</select>
<br/>
Quota pêche :
<select name="nbpeche" >
<option value=""<? echo choixParDefaut(''); ?>></option>
<option value="1"<? echo choixParDefaut('1'); ?>>1</option>
<option value="1.1"<? echo choixParDefaut('1.1'); ?>>1.1</option>
<option value="1.2"<? echo choixParDefaut('1.2'); ?>>1.2</option>
<option value="1.3"<? echo choixParDefaut('1.3'); ?>>1.3</option>
<option value="1.4"<? echo choixParDefaut('1.4'); ?>>1.4</option>
<option value="1.5"<? echo choixParDefaut('1.5'); ?>>1.5</option>
<option value="1.6"<? echo choixParDefaut('1.6'); ?>>1.6</option>
<option value="1.7"<? echo choixParDefaut('1.7'); ?>>1.7</option>
<option value="1.8"<? echo choixParDefaut('1.8'); ?>>1.8</option>
<option value="1.9"<? echo choixParDefaut('1.9'); ?>>1.9</option>
<option value="2"<? echo choixParDefaut('2'); ?>>2</option>
<option value="2.1"<? echo choixParDefaut('2.1'); ?>>2.1</option>
<option value="2.2"<? echo choixParDefaut('2.2'); ?>>2.2</option>
<option value="2.3"<? echo choixParDefaut('2.3'); ?>>2.3</option>
<option value="2.4"<? echo choixParDefaut('2.4'); ?>>2.4</option>
<option value="2.5"<? echo choixParDefaut('2.5'); ?>>2.5</option>
</select>
<br/>
Quota bois :
<select name="nbbois" >
<option value=""<? echo choixParDefaut(''); ?>></option>
<option value="1"<? echo choixParDefaut('1'); ?>>1</option>
<option value="1.1"<? echo choixParDefaut('1.1'); ?>>1.1</option>
<option value="1.2"<? echo choixParDefaut('1.2'); ?>>1.2</option>
<option value="1.3"<? echo choixParDefaut('1.3'); ?>>1.3</option>
<option value="1.4"<? echo choixParDefaut('1.4'); ?>>1.4</option>
<option value="1.5"<? echo choixParDefaut('1.5'); ?>>1.5</option>
<option value="1.6"<? echo choixParDefaut('1.6'); ?>>1.6</option>
<option value="1.7"<? echo choixParDefaut('1.7'); ?>>1.7</option>
<option value="1.8"<? echo choixParDefaut('1.8'); ?>>1.8</option>
<option value="1.9"<? echo choixParDefaut('1.9'); ?>>1.9</option>
<option value="2"<? echo choixParDefaut('2'); ?>>2</option>
<option value="2.1"<? echo choixParDefaut('2.1'); ?>>2.1</option>
<option value="2.2"<? echo choixParDefaut('2.2'); ?>>2.2</option>
<option value="2.3"<? echo choixParDefaut('2.3'); ?>>2.3</option>
<option value="2.4"<? echo choixParDefaut('2.4'); ?>>2.4</option>
<option value="2.5"<? echo choixParDefaut('2.5'); ?>>2.5</option>
</select>
<br/>
Quota cueillette :
<select name="nbcueillette" >
<option value=""<? echo choixParDefaut(''); ?>></option>
<option value="1"<? echo choixParDefaut('1'); ?>>1</option>
<option value="1.1"<? echo choixParDefaut('1.1'); ?>>1.1</option>
<option value="1.2"<? echo choixParDefaut('1.2'); ?>>1.2</option>
<option value="1.3"<? echo choixParDefaut('1.3'); ?>>1.3</option>
<option value="1.4"<? echo choixParDefaut('1.4'); ?>>1.4</option>
<option value="1.5"<? echo choixParDefaut('1.5'); ?>>1.5</option>
<option value="1.6"<? echo choixParDefaut('1.6'); ?>>1.6</option>
<option value="1.7"<? echo choixParDefaut('1.7'); ?>>1.7</option>
<option value="1.8"<? echo choixParDefaut('1.8'); ?>>1.8</option>
<option value="1.9"<? echo choixParDefaut('1.9'); ?>>1.9</option>
<option value="2"<? echo choixParDefaut('2'); ?>>2</option>
<option value="2.1"<? echo choixParDefaut('2.1'); ?>>2.1</option>
<option value="2.2"<? echo choixParDefaut('2.2'); ?>>2.2</option>
<option value="2.3"<? echo choixParDefaut('2.3'); ?>>2.3</option>
<option value="2.4"<? echo choixParDefaut('2.4'); ?>>2.4</option>
<option value="2.5"<? echo choixParDefaut('2.5'); ?>>2.5</option>
</select>
<input type="submit" value="LE SAMEDI, achat par HOCHELAGA des produits des colons provenant des terres." />
</form>
Posté : 28 oct. 2005, 22:01
par ItaloBADI
Réponses à Cyrano :
Première chose : je ne vois pas de connexion à la base ni d'inclusion d'un quelconque fichier de configuration de connexion... la requête s'exécute comment ?
la connexion s'effectue avant.
Aucun problème là-dessus.
En fait, au dessus de ces lignes, il y a ceci :
<?session_start();
include('connect.php');
?>
Ensuite lorsque tu récupères les informations de la première requête, tu ne peux récupérer qu'une seule ligne dans tes variables $saison et $année : pour récupérer toutes les lignes (s'il y en a plusieurs bien entendu), il faudrait que ces mêmes variables soient au moins des tableaux indexés et tu fais ça dans une boucle pour chaque ligne.
Je te remercie pour l'info ( tu m'avais déjà montré ça une fois, et je l'utilise parfois. )
Mais là, dans ce cas précis, j'ai une table juste une saison, et une année, et à chaque nouvelle saison, ça actualise, et pareil pour l'année.
Donc j'ai juste à récupérer une variable saison, et une année, car je me sers de l'une ou l'autre dans la page...
Après ça, j'ai simplifié l'initialisation des variables de récupération des données du formulaire avec des opératques ternaires:
PHP:
$var = (condition) ? "valeur x" : "valeur y";
Ce qui revient exactement à la même chose que ce que tu avais fait, mais sur une ligne au lieu de deux. Bien aligné, ça devient plus facile à lire en plus.
Merci, c'est le genre de chose que je ne sais pas faire et que je comprends de mieux en mieux grâve à ce forum d'aide...
Continuons: tu testes si il y a des variables POSTDATA : il vaudrait mieux vérifier si le bouton du formulaire a été cliqué: observe comment je l'ai formulé : isset($_POST['nom_bouton_submit']) (remplace par la valeur de l'attribut name de ton bouton submit bien entendu)
Juste après ça, tu utilises à nouveau la super-globale $_POST : pour quoi faire ? tu as initialisé des variables, autant les utiiser, donc, là aussi on simplifie.
OK. Merci...
Je vais tester ton bout de code, qui sait, autant, ça va résoudre mon problème de champ soit disant vide...
Voilà pour le début, mais j'arrête là, parce que la question de la connexion est toujours en suspend...
Posté : 28 oct. 2005, 22:05
par ItaloBADI
Le code de Cyrano a résolu mon problème.
tu testes si il y a des variables POSTDATA : il vaudrait mieux vérifier si le bouton du formulaire a été cliqué: observe comment je l'ai formulé : isset($_POST['nom_bouton_submit']) (remplace par la valeur de l'attribut name de ton bouton submit bien entendu)
Voilà ce qui a permis de ne plus avoir le message "champ vide".
PAR CONTRE, il me dit maintenant :
Vous avez procédé aux ventes automatiques des produits des colons, à leur achat par la ville
et à l'exportation automatique de ces denrées.
REVENEZ A VOTRE GESTION DES TERRES.
MAIS aucune des requêtes n'a été effectuée sur la table informations ou autre...
RIEN N'A ETE FAIT en fait.
Mon code est vraiment si mauvais que ça ?

lol
Posté : 28 oct. 2005, 22:10
par ItaloBADI
Ce qui est drôle, c'est qu'avec le ['nom_bouton_submit'], même si on ne sélectionne rien, ça met :
Vous avez procédé aux ventes automatiques des produits des colons, à leur achat par la ville
et à l'exportation automatique de ces denrées.
REVENEZ A VOTRE GESTION DES TERRES.
Je vais encore chercher l'endroit où ça coince.
En fait, je pense que c'est parce que je veux faire tout ça pour l'ensemble des login d'une table, ce que je ne sais pas faire.
Je saurai le faire en sélectionnant un login, mais je ne sais pas comment le mettre en boucle sur chacun des champs choisi de la table informations, pour chaque login...
Et je pense que c'est là que mon code ne veut rien dire...
Ces histoire de boucles et de $i $i++...
Posté : 28 oct. 2005, 22:24
par Cyrano
Pour trouver ce genre d'erreur, il faut cerner le coupable petit à petit: il faut que tes tests offrent des alternatives, à un if() doit correspondre un else avec un résultat différent. Quand tu arrives à un endroit où tu ne devrais pas arriver, il y a forcément une raison. Si une variable n'est pas remplie, il faut la faire afficher en remontant petit à petit dans le code. À un moment donné, tu retrouves des valeurs normales: là, ça devient intéressant parce que ça veut dire que tu as remonté un cran plus loin que l'erreur et ça se passe entre le dernier test concluant et le précédent qui a loupé: entre les deux, il faut chercher l'erreur de syntaxe, le nom de variable mal orthographié, l'appel à une fonction qui ne retourne pas la valeur attendue... et là on dévie vers une autre possibilité d'erreur qui en fin de compte est dans un autre script. etc, etc...
Est-ce que tu saisi ce système ?
Posté : 28 oct. 2005, 22:29
par ItaloBADI
Oui, c'est un peu ce que je tente de faire.
je vais donc tester ligne à ligne, ce qui m'étonne c'est que normalement, ça devrait au moins faire les UPDATE et changer quelque chose, même si les résultats sont loin de ceux escomptés, et là, RIEN de rien.
Je cherche donc où ça ne fonctionne plus...
Posté : 28 oct. 2005, 22:37
par ItaloBADI
Bien, je suis en train de tester.
Je réécris ma page ( copier-coller dans une nouvelle page ) en testant par des 'echo' ce que je suis en train d'afficher.
Et en fait, les champs ne sont pas récupérés, c'est ça le problème.
TOUT se calcule à partir de ces quotas, et ils son inexistants.
Je vais changer le formulaire, au lieu d'un menu déroulant, je vais mettre une ligne pour voir si le problème vient de là...
Posté : 28 oct. 2005, 22:42
par Cyrano

J'ai dû louper une marche... où ça ?
Posté : 28 oct. 2005, 22:47
par Cyrano
Je viens de m'attarder sur ton formulaire, ça marche pas ton système: tu ne testes pas les bonnes valeurs, ou alors il m'en manque un bout : dans la fonction, tu testes $_POST['nombre'] qui ne correspond à aucune des listes déroulantes du formulaire. Est-ce que tu n'aurais pas un problème à ce niveau là ?
Posté : 28 oct. 2005, 22:47
par ItaloBADI
Désolé, j'éditais quand tu as répondu...
Cyrano, regarde le code de départ , j'avasi utilisé des [] dans lesquels je mettais après des $i ....
Or, voilà quelque chose que je ne maîtrise pas...
J'ai repris ça dans un code qu'on m'avait donné, mais je ne sais pas l'utiliser, donc je viens de l'enlever dans tout mon code pour voir, mais rien lol....
Là, je teste donc le formulaire, car le problème vient bien des champs qui sont bien remplis mais non transmis en réalité...
Posté : 28 oct. 2005, 22:58
par ItaloBADI
Même en changeant la forme du formulaire, ça ne change rien, les champs ne sont pas transmis il me semble...