[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 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
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!
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
-
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 -
Bonjour,
Et si tu mettais "if ($a == 8)" plutôt ?
;)
Xavier -
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? -
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)