Page 1 sur 1

Erreur de parsing

Posté : 10 févr. 2013, 16:30
par tintin88
Bonjour,

Si ce terme a déjà traité, je ne comprends pas mon erreur. Je souhaite trier le formulaire que je récupère et qui est sous la forme quest2|rep5;quest1|rep3;quest6|rep3; etc en triant par réponses croissantes soit quest1|rep3 puis quest2|rep5 et enfin quest6|rep3 et en mettant chaque valeur dans une variable distincte, ce qui donnerait ici :
$quest0=quest1;
$rep1=rep3;
$quest2=quest2;
$rep3=rep5;
$quest4=quest6;
$rep5=rep3;

Mon code est le suivant:
$Form = @$_POST['Form'];
$tableau = explode(";", $Form);
$occurences = count($tableau);

$arrayChaine=explode("|",$Form);
$i=0;

do while ($i<$occurences)
	{
		$i++;
		$quest[2*$i] = $arrayChaine[$i];
		$rep[2*$i+1] = $arrayChaine[$i+1];
	}
?>
Je récupère cette erreur:
Parse error: syntax error, unexpected ';', expecting T_WHILE in ....

Une âme charitable verrait-elle mon (ou mes) erreur(s) ?
Merci d'avance

Re: Erreur de parsing

Posté : 10 févr. 2013, 18:46
par Aureusms
Pourquoi fais tu : $arrayChaine=explode("|",$Form); en dehors de ta boucle ? Et est ce vraiment $Form qui doit être "exploder" ne seconde fois ?
En plus ici while n'est pas utile car diminue les performances. Une simple boucle for doit faire l'affaire.
$Form = @$_POST['Form'];
$tableau = explode(";", $Form);
for ($i = 0 ; $i <  count($tableau); $i++)
{
     $arrayChaine=explode("|",$tableau[$i]);
     $quest[2*$i] = $arrayChaine[$i];
     $rep[2*$i+1] = $arrayChaine[$i+1];
}

Re: Erreur de parsing

Posté : 10 févr. 2013, 21:35
par tintin88
Bonjour,

Merci à tous et en particulier à Aureusms.
Je ne conniassais pas cette différence avec le while.

Avec ton code apparait une erreur nouvelle :
Notice: Undefined offset: 2 in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Site\save.php on line 9
Notice: Undefined offset: 2 in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Site\save.php on line 8
Notice: Undefined offset: 3 in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Site\save.php on line 9
Notice: Undefined offset: 3 in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Site\save.php on line 8
Notice: Undefined offset: 4 in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Site\save.php on line 9
Notice: Undefined offset: 4 in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Site\save.php on line 8
etc...

Est-ce que par hasard quelque chose ne fonctionnerait pas dans les 2 lignes suivantes :
                $quest[2*$i] = $arrayChaine[$i];
                 $rep[2*$i+1] = $arrayChaine[$i+1];
tintin88

Re: Erreur de parsing

Posté : 12 févr. 2013, 14:48
par tintin88
Bonjour,

Mon erreur de parsing étant résolue, je clos cette discussin. Merci à ceux qui se sont penché sur mon problème (entre autres Aureusms).