[php] PB test sur la longueur d'une variable

Bonjour!
J'ai un petit formulaire permettant d'ajouter a ma base de donnée un article définit par article, quantité et zone, j'aierais tester la variable "article" afin de voir si la personne qui l'a entrée y a bien mis 8 characteres.

Le problême est que ajouter.php ne test pas $_POST['article'] , et ajoute donc n'importe quel article quelquesoit sa longueur.

J'ai donc écrit ce la dans mon ajouter.php :

<html>
<body>
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'base';

$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$sql = "SELECT * FROM article where article=".$_POST['article']." and zone=".$_POST['zone']."";
$result = mysql_query($sql) or die(mysql_error());
$articles= mysql_fetch_array($result);

$article = $articles['article'];
$quantite = $articles['quantite'];
$zone = $articles['zone'];

$a=strlen($_POST['article']);

if ($a=8)

{

if($_POST['article']==$article and $_POST['zone']==$zone)
{

$quantite=$_POST['quantite']+$quantite;

mysql_query("UPDATE article SET quantite=".$quantite." where article=".$article." and zone=".$zone."");

echo "quantité modifiée";

}

else
{

mysql_query("INSERT INTO article VALUES('$_POST[article]','$_POST[quantite]','$_POST[zone]') ");
echo "Enregistrement effectué";

}
unset($_POST['article'],$_POST['zone'],$_POST['quantite'],$zone,$quantite,$article);
}

else
{
echo "L'article doit se définir par 8 charactères";
}
?>

<BODY BGCOLOR=#33CCFF>
<p>
<a href="index.html">Accueil</a><p>
<a href="formulaire.html">Ajouter un autre composant</a><p>
<a href="visu.php">Visualisation générale</a><p>
</body>
</html>

Voyez-vous ou se situe le probleme?

Merci d'avance!
Configuration: Windows 2000
Internet Explorer 6.0

4 réponses

  1. Salut a toi!
    Juste un conseil: change de nom de variable pour des noms plus différents, cela t'aidera je pense
    Pour ce qui est du problème je cherche encore mais sa ne va pas tarder
    1. mes sauveurs habituels sont absents!

      le probleme vient peut etre de $a=strlen($_POST['article']);

      if ($a=8) {...

      c'est bien ca qu'il faut utiliser pour retourner la longueur de la variable article?
      1. Re
        En fait tu a peut etre raison, cela vien de ton strlen, essaie pluto d'affecter une variable avec le $_POST['article'] et teste cette variable (et non directement le $_POST)