Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
827 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  session + controle de controle de champ

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

session + controle de controle de champ

n°1004542
skynicko
Posté le 08-03-2005 à 10:47:25  profilanswer
 

Bonjour
 
J'ai un problème de logique dans mon script php pourriez vous jeter un oeil pour me donner votre avis.
 
Ce que je veux c'est juste vérifier que le champ "valeur" soit rempli et si c'est le cas on insere dans la base et on affiche un message comme quoi l'opération s'est bien déroulée sinon on affiche un message d'erreur.
 

Code :
  1. <?
  2.  include ('inclusions/connexion.php');
  3. session_start();
  4. // On relaye la session
  5. if (session_is_registered("authentification" ))
  6. { // vérification sur la session authentification (la session est elle enregistrée ?)
  7. if (@$_GET['action'] == "ajout" )
  8.     {
  9.    if (!empty($_POST ['valeur']))
  10.     {
  11. $qte= trim($_POST['qte']);
  12. $ref= trim($_POST['ref']);
  13. $valeur= trim($_POST['valeur']);
  14.    
  15. $query_ins_paiement = "INSERT INTO tab_stock(stock_id, stock_qte, stock_ref, stock_valeur) VALUES('$qte','$ref','$valeur')";
  16.    
  17.     // on insère les informations du formulaire dans la table
  18.     mysql_query($query_ins_paiement) or die('Erreur SQL!'.$query_ins_paiement.'<br>'.mysql_error());
  19.     // on affiche le message
  20.    
  21.     header("Location:accueil.php?erreur=valeur" );
  22. // ici les éventuelles actions en cas de réussite de la connexion
  23. }
  24. else {
  25. header("Location:index.php?erreur=intru" ); // redirection en cas d'echec
  26. }
  27. }
  28. }
  29. else {
  30.   // redirection si utilisateur a envoyé le formulaire
  31.   header("Location:accueil.php?erreur=envoye" );
  32. }
  33. ?>
  34. <?
  35.   include ('inclusions/entete.php');
  36.   ecrit_head();
  37. ?>
  38. <script type="text/javascript">
  39. function verif_valeur()
  40. {
  41.        if (document.form_valeur.valeur.value == "" )
  42.    {
  43.        alert("Le champ Valeur est obligatoire." )
  44.        return false;
  45.     }
  46.   else
  47.   {
  48.    form_valeur.submit;
  49.    return true;
  50.   }
  51.  }
  52. </script>
  53. ...
  54. <? 
  55.     if(isset($_GET['erreur']) && ($_GET['erreur'] == "valeur" ))
  56.   { // Affiche l'erreur   
  57.     ?>
  58.       <span style="color:red">vous devez au moins remplir le champ valeur</span>
  59.   <?
  60.   }
  61.   ?>
  62.    <? 
  63.     if(isset($_GET['erreur']) && ($_GET['erreur'] == "envoye" ))
  64.   { // Affiche l'erreur   
  65.     ?>
  66.       <span style="color:green">Insertion realisees</span>
  67.   <?
  68.   }
  69.   ?> 
  70. <label for="bouton">&nbsp;</label>
  71.             <input type="submit" name="bouton" id="bouton" value="Envoyer" title="Validez votre demande"  />
  72.            </fieldset>
  73. </form>


 
C'est surement assez confus mon code mais j'essaye depuis 2 jours et la je commence à bloquer.
Mon bug c'est quand j'envoie le formulaire et que le champ valeur est vide il me tue ma session.
 
Si vous pouviez me donner un coup de main j'apprécierai énormement

mood
Publicité
Posté le 08-03-2005 à 10:47:25  profilanswer
 

n°1004553
Xav_
The only one...
Posté le 08-03-2005 à 10:52:35  profilanswer
 

Citation :

@$_GET['action'] == "ajout"

???
 
c'est quoi l'erreur possible, tester la variable alors qu'elle n'existe pas ??? dans ce cas c'est un isset qu'il te faut, pas un "@"


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1004558
skynicko
Posté le 08-03-2005 à 10:56:20  profilanswer
 

merci deja pour cela. C'est qu'il me renvoyait une alerte alors j'ai mis ça devant pour eviter l'erreur. Mais c'est vrai que ce que tu dis c'est bien plus logique.

n°1004567
skynicko
Posté le 08-03-2005 à 10:59:07  profilanswer
 

mais quand j'écris ça :
 
if (isset($_GET['action'] == "ajout" ))
 
j'ai une erreur "unexpected T_IS_EQUAL, expecting ',' or ')'"
 
J'ai résolu ce problème mais il m'en reste un. Quand j'arrive sur la page j'ai le message "vous devez au moins remplir le champ valeur" qui s'affiche par defaut.  
 
Merci xav pour ta correction, je suis un ane sur ce coup la


Message édité par skynicko le 08-03-2005 à 11:02:50
n°1004570
KangOl
Profil : pointeur
Posté le 08-03-2005 à 10:59:38  profilanswer
 

[:matleflou]
 
www.php.net/isset


---------------
Nos estans firs di nosse pitite patreye...
n°1004571
dedefou
Allias Fiddelcastor
Posté le 08-03-2005 à 10:59:58  profilanswer
 

il te manque " )" a la fin de ton isset:
isset($_GET['action'])

n°1004581
skynicko
Posté le 08-03-2005 à 11:04:01  profilanswer
 

Le isset j'avais oublié une parenthese je m'en suis rendu compte. C'est la fatigue. Pour mon dernier souci quelqu'un a une idée ?

n°1004589
dedefou
Allias Fiddelcastor
Posté le 08-03-2005 à 11:06:03  profilanswer
 

vous pas faire passer les variable de la session dans le formulaire ?

n°1004594
skynicko
Posté le 08-03-2005 à 11:08:37  profilanswer
 

en fait si j'aimerai bien mais deja je vais resoudre ce problème apres je moccuperai de ça.

n°1004607
esox_ch
Posté le 08-03-2005 à 11:14:52  profilanswer
 

P.S: je te conseille de tester quand meme que tes valeurs $_POST['qte'] & co soient passées


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 08-03-2005 à 11:14:52  profilanswer
 

n°1004612
skynicko
Posté le 08-03-2005 à 11:19:05  profilanswer
 

le truc c'est que mon chef il m'a dit qu'il veut tester juste le champ valeur le reste ça lui pose pas problème. J'ai essayé d'insister mais il veut pas. Il a pas envie de tout remplir c'est un flemard

n°1004615
esox_ch
Posté le 08-03-2005 à 11:20:19  profilanswer
 

Oui mais dans ce cas on peut te faire foirer ton script, si on envoie pas de qte (je dis pas si on l'envoie vide, je dit si on l'envoie pas du tout)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1004627
skynicko
Posté le 08-03-2005 à 11:26:29  profilanswer
 

le truc c'est que mon script sera utilisé uniquement par mon patron sur un serveur local. Vous penez qu'à ce niveau la ça comporte tout de meme des risques ?

n°1004643
Xav_
The only one...
Posté le 08-03-2005 à 11:37:14  profilanswer
 

on a rarement idée à quel point il faut mettre des anti-cons dans un script meme (surtout d'ailleurs) si tu le fait pour ton chef http://webxav.chez.tiscali.fr/gif/src1/hotshot.gif


Message édité par Xav_ le 08-03-2005 à 11:37:35

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1004937
cerel
Posté le 08-03-2005 à 15:09:58  profilanswer
 

Sache que si l'utilisateur peut faire une connerie, il la fera, ce n'est qu'une question de temps.
Alors autant "securiser" ton script de ce point de vue.


Message édité par cerel le 08-03-2005 à 15:10:09

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  session + controle de controle de champ

 

Sujets relatifs
session_registerDeveloppement sous CVi d'une interface de controle de verrou de porte.
[PHP] recupérer le contenu d'une page dans une session[Résolu] [MySQL] Connaître la taille max d'un champ text
session et popupchamp profil active directory pour vbs
Session UtilisateurSelectionner tous les champs avec une date dans un champ DATETIME
ajout d'un champ dynamique interface graphiqueRecopier un champ de texte dans un autre champ
Plus de sujets relatifs à : session + controle de controle de champ


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR