C'est encore moi Prêt à me faire hari kiri une deuxieme fois... J'ai amélioré le code précédent, mais voilà j'ai un problème : curieusement ma variable $categorie ne veut pas s'inscrire dans la BD... alors que lors de la vérification (if (isset...)) la variable est bien transmise par le formulaire, elle n'est plus utilisable qques lignes plus bas. Voilà le code :
Code :
<?php
$erreur=0;
$contenu_manquant=0;
$categorie_manquante=0;
If (isset($_POST['contenu'])) { $contenu=$_POST['contenu']; }
else { $contenu="";}
If (isset($_POST['categorie'])) { $categorie=$_POST['categorie']; }
else { $categorie=""; }
If (isset($_POST['validation'])) { $validation=$_POST['validation']; }
else { $validation=0; }
If ($validation==1)
{
If ($categorie="" )
{
$erreur=1;
$categorie_manquante=1;
}
If ($contenu=="" )
{
$erreur=1;
$contenu_manquant=1;
}
If ($erreur==0)
{
mysql_connect('localhost','root','');
mysql_select_db('annonces');
$date='01/02/2006';
$utilisateur='Makenshi';
$request=mysql_query("SELECT localisation, mail, nbannonces FROM users WHERE pseudonyme='$utilisateur'" );
$data=mysql_fetch_assoc($request);
$localisation=$data['localisation'];
$mail=$data['mail'];
$nbannonces=$data['nbannonces'];
$nbannonces=$nbannonces+1;
$changenbannonces=mysql_query("UPDATE users SET nbannonces=".$nbannonces." WHERE utilisateur=".$utilisateur);
If ($nbannonces<10) { $nbannonces='0000'.$nbannonces; }
If ($nbannonces>=10 AND $nbannonces<100) { $nbannonces='000'.$nbannonces; }
If ($nbannonces>=100 AND $nbannonces<1000) { $nbannonces='00'.$nbannonces; }
If ($nbannonces>=1000 AND $nbannonces<10000) { $nbannonces='0'.$nbannonces; }
ben via PHPmyAdmin, toutes les variables sont insérées, sauf $categorie... Et bizarrement si par exemple je met un $categorie='machin'; entre la ligne 47 et 48, ca m'insère bien la variable... donc j'ai vraiment du mal à comprendre
skeye
Posté le 20-02-2006 à 15:07:26
Fais un echo $request au lieu du mysql_query, pour voir...
Message édité par skeye le 20-02-2006 à 15:08:05
---------------
Can't buy what I want because it's free -
pas possible.
Soit tout est inséré, soit rien, mais pas des morceaux, si la requête générée fonctionne.
Ben justement je ne comprend pas c'est la seule variable à ne pas fonctionner, les autres sont transmises sans problème, tout roule...bon je vais tester en introduisant la variable $categorie jusqu'a voir où elle ne fonctionne plus
skeye
Posté le 20-02-2006 à 15:30:52
euh oui mais non.
Recommence, c'est tout simplement pas possible ce que tu racontes.
euh oui mais non.
Recommence, c'est tout simplement pas possible ce que tu racontes.:o
Ben euh... Si je met un $categorie='machin'; avant le If (validation==1), la variable ne passe pas. Alors que si je la met entre le If (validation==1) et la requete, ca marche
Idem : si au même endroit après le If je met un echo $categorie, ca me renvoie rien, alors qu'echo $contenu fonctionne.
Message édité par Yagmoth le 20-02-2006 à 15:41:30
Ben oui justement Quand j'exécute la requête, normalement il devrait récupérer la variable $categorie définie plus haut, au même titre que la variable $contenu qui elle est bien prise en compte... Et quand je vérifie si la variable passe bien au travers du code, il n'y a pas de problème avec $contenu, alors qu'il y a un problème avec $categorie (qui n'est plus reconnue à partir du If (validation==1)).
Bon j'ai bien trouvé une solution, c'est de redéfinir plus bas catégorie en refaisant un $categorie=$_POST['categorie']; ce qui marche bien, mais je ne comprend toujours pas pourquoi l'une des deux variables ne passe pas
cinocks
Posté le 20-02-2006 à 15:55:01
C'est n'importe quoi. Il faut chercher l'erreur quand il y en a une plutôt que de la masquée.
Elle est tres simple. Encore plus simple puisque je l'ai donné
C'est n'importe quoi. Il faut chercher l'erreur quand il y en a une plutôt que de la masquée.
Elle est tres simple. Encore plus simple puisque je l'ai donné
debug en pas à pas, ca a du bon pour trouver.
Merci (je n'avais pas vu ta réponse entre les deux posts)