Rechercher : dans
Par :

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

Dernière réponse le 6 jui 2007 à 16:16:41 micom59, le 6 jui 2007 à 15:17:58 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [php] PB test sur la longueur d'une variable » dans :
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...

1

micom59, le 6 jui 2007 à 15:38:39

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?

Répondre à micom59

2

freto, le 6 jui 2007 à 16:08:43
  • +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

Répondre à freto

3

freto, le 6 jui 2007 à 16:12:09

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)

Répondre à freto

4

 Reivax962, le 6 jui 2007 à 16:16:41
  • +1

Bonjour,

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

;)

Xavier

Répondre à Reivax962