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

micom59 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
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!
A voir également:

4 réponses

freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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
2
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Et si tu mettais "if ($a == 8)" plutôt ?

;)

Xavier
2
micom59 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   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
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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)
1