script verification numeros de siret besaoin d'aide

Eléphant du PHP | 150 Messages

24 mai 2011, 12:55

bonjour,
j'ai récupérer ce script sur le web et je n'arrive pas a l'utilisé

mon but est un champ ou la personne entre son siret et si quant il valide son siret est bon il est rediriger ver un autre page sinon sa lui dit siret non correct


voici le script que j'ai recuperer :

<?php
/**
* Validate du numéros d'identification des entreprises (SIREN)
*/
function isSiren($siren) {
	$siren = str_replace ( ' ', '', $siren );
	if (strlen ( $siren ) != 9 || !is_numeric ( $siren )) {
		return false;
	}
	
	$total = 0;
	for($i = 0; $i < 9; $i++) {
		$temp = substr ( $siren, $i, 1 );
		if ($i % 2 == 1) {
			$temp *= 2;
			if ($temp > 9) {
				$temp -= 9;
			}
		}
		$total += $temp;
	}
	return (($total % 10) == 0);
}

/**
 * Validate du numéros d'identification des établissements(SIRET)
 */
function isSiret($siret) {
	$siret = str_replace ( ' ', '', $siret );
	if (strlen ( $siret ) != 14 || !is_numeric ( $siret )) {
		return false;
	}
	
	$siren = substr ( $siret, 0, 9 );
	if (! isSiren ( $siren )) {
		return false;
	}
	
	$total = 0;
	for($i = 0; $i < 14; $i++) {
		$temp = substr ( $siret, $i, 1 );
		if ($i % 2 == 0) {
			$temp *= 2;
			if ($temp > 9) {
				$temp -= 9;
			}
		}
		$total += $temp;
	}
	return (($total % 10) == 0);
}
?>


j’espère qu'une personne pourra m'aider  car je ne comprend pas comment le faire fonctionner 

merci encore 


ViPHP
xTG
ViPHP | 7331 Messages

24 mai 2011, 13:05

Tu as une fonction qui renvoie true en cas de succès et false dans l'autre cas.
Donc :
if( isSiret($siret) === true )
{
  // siret correct
}
else
{
  // siret incorrect
}
Même combat avec la seconde fonction.

Eléphant du PHP | 150 Messages

24 mai 2011, 13:43

ok merci et juste pour savoir


pour le formulaire

est ce que sa c bon :

<?php
$siret =$HTTP_POST_VARS['siret'];
?>


<form action="verif.php" method="POST">
  entrer le numéro de siret: <input type="text" name="siret" size="14"> (14 caractère pour un siret)<br>
   <input type="submit" value="verifier">
</form>



Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 mai 2011, 14:15

Ben, difficile de savoir si c'est bon quand on ne sait pas ce que c'est sensé faire... donc syntaxiquement, oui, c'est bon. Il est quand même recommandé d'utiliser $_POST plutôt que $HTTP_POST_VARS...


Ps : Lorsqu'une fonction retourne un booléen, il n'est pas nécessaire de tester si ce booléen est égal à un booléen qui est égal à "vrai", pour retourner un booléen égal à vrai... :
if( isSiret($siret) )
est tout aussi efficace et plus optimisé que :
if( isSiret($siret) === true )
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...