probleme comparaison dans un if.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme comparaison dans un if.

par damaskinos » 08 sept. 2006, 22:39

j'ai trouvé le problème. J'avais des caractère invisible dans ma string que je lisais dans mon fichier csv. Avec trim la question est réglée.

merci pour ton temps jpaul.

par damaskinos » 08 sept. 2006, 22:08

J'ai essaye et le type est string pour les deux. alors j'ai changé mon code de comparaison j'ai mis un strcmp et ca marche toujours pas.

voils le code changé
<?php

if(isset($_POST["frame_number"]) && !empty($_POST["frame_number"]))
{
	$number = $_POST["frame_number"];
	//lire le fichier
	$fp = fopen("test.csv","r"); //lecture
	
	while (!feof($fp))
	{ // On parcours le fichier
		$ligne = fgets($fp,4096); // On se déplace d'une ligne
		$ligne = preg_replace("#\"#","",$ligne);
		list($number1,$menu1,$number2,$menu2,$number3,$menu3,$number4,$menu4,$number5,$menu5,$number6,$menu6,$number7,$menu7,$text1,$text2,$lineNumber) = split(";",$ligne);
		
		echo "<BR>lineNumber='".$lineNumber."'";
		echo "<BR>number='".$number."'";
		echo "<BR>".gettype ($lineNumber);
		echo "<BR>".gettype ($number); 
		
		if(strcmp($lineNumber,$number) == 0)
		{
		
			echo "&menu1=$menu1&menu2=$menu2&menu3=$menu3&menu4=$menu4&menu5=$menu5&menu6=$menu6&menu7=$menu7&number1=$number1&number2=$number2&number3=$number3&number4=$number4&number5=$number5&number6=$number6&number7=$number7&text1=$text1&text2=$text2&line=$lineNumber&test=trouver<br>";
		}
			
	}//fin while
	
	fclose($fp); // Fermeture du fichier
}
else
exit();
?>

par jpaul » 08 sept. 2006, 21:54

Salut,

As tu vérifié le type de tes variables ?
A ta place, je ferais un :
echo "<BR>lineNumber='".$lineNumber."'";
echo "<BR>number='".$number."'";
echo "<BR>".gettype ($lineNumber);
echo "<BR>".gettype ($number);
Pour vérifier...
Bonne chance.

probleme comparaison dans un if.

par damaskinos » 08 sept. 2006, 21:21

Bonjour

J'ai un fichier php qui lit dans un fichier csv. tout fonctionne, le probleme est que dans mon if j'effectue une comparaison, c'est deux nombres, même quand les nombres sont identiques je n'arrive pas à afficher ce qu'il y a a l'interieur de mon if. J'ai meme essayé avec
strcmp
sans succès. Merci pour votre aide je joinds mon code.
if(isset($_POST["frame_number"]) && !empty($_POST["frame_number"]))
{
	$number = $_POST["frame_number"];
	//lire le fichier
	$fp = fopen("test.csv","r"); //lecture
	
	while (!feof($fp))
	{ // On parcours le fichier
		$ligne = fgets($fp,4096);
		$ligne = preg_replace("#\"#","",$ligne);
		list($number1,$menu1,$number2,$menu2,$number3,$menu3,$number4
,$menu4,$number5,$menu5,$number6,$menu6,$number7,$menu7
,$text1,$text2,$lineNumber) = split(";",$ligne);
		
		if($lineNumber == $number)
		{
		
			echo "&menu1=$menu1&menu2=$menu2&menu3=$menu3&menu4=$menu4&menu5=$menu5&menu6=$menu6&menu7=$menu7&number1=$number1&number2=$number2&number3=$number3&number4=$number4&number5=$number5&number6=$number6&number7=$number7&text1=$text1&text2=$text2&line=$lineNumber&test=trouver<br>";
		}
			
	}//fin while
	
	fclose($fp); // Fermeture du fichier
}
else
exit();