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

  FORUM HardWare.fr
  Programmation
  PHP

  Une histoire de formulaire qui ne passe pas !!!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une histoire de formulaire qui ne passe pas !!!!

n°755872
cakeman
Posté le 08-06-2004 à 10:07:57  profilanswer
 

Bonjour,
 
J'essaie de passer des varaible dans un formulaire mais certaines choses de passent pas. Je m'explique:
 
Pour accéder accéder, il faut vérifier que l'utilisateur est identifié, si ce n'est pas le cas, l'utilisateur est renvoyé sur une page d'identification : www.nomdomaine.com/login.php?back= [...] ntifiant=2
 
Back est la page à laquelle l'utilisateur souhaitait accéder avant la vérification de son login. Les variables sont donc récupérées avec $_GET. L'utilisateur remplit donc le formulaire avec un login et mot de Passe via un formulaire, Les valeurs sont à ce moment précis renvoyée avec la méthode POST (et non plus avec la méthode GET). La page de login est rechargé et renvoie sur back si c'est ok ou recharge le formulaire sinon. On note cependant que les varibla back et identifiant doivent aussi être passée grâce à ce formulaire. Voici un résumé du code:
---------------------------------------------------------------
//Dans un premier temps, seul l'id et le back sont transmis à cette page avec la méthode GET
//Dans un deuxième temps (après l'identification) les infos sont passées avec la méthode POST
 
 
if (isset($_GET['back'])) { $back=$_GET['back'];}
if (isset($_GET['identifiant'])) {$id=$_GET['identifiant'];}
if (isset($_POST['back'])) {$back=$_POST['back'];}
if (isset($_POST['identifiant'])) {$id=$_POST['identifiant'];}
if (isset($_POST['login'])) {$login=$_POST['login'];}
if (isset($_POST['password'])) {$password=$_POST['password'];}
if (isset($_POST['send'])) {$send=$_POST['send'];  
 
 
// On détruit les GET vu qu'on va utiliser la methode post pour le formulaire (surtout valable lors du premier chargment de la page)
unset($_GET['id']);
unset($_GET['back']);
 
include("confidentiel/fonctions.php" );
 
connexion();
$error_login=false;
 
 
//Il faut gérer deux choses:  
//- si la combinaision login/password exsite dans la base
//- Si c'est le cas, il faut voir si l'utilisateur en question a le droit d'accéder à cette page (ie a le bon id)
 
if ($send!='')
{
//Ici a lieu l'ananlyse de l'identifcation
}
mysql_close();
 
echo ParseTpl(makeUp('../style/bandeau','login','../style/','../'));
 
 
if($error_login)
{
 echo "<p class=\"centre\">Erreur de Login ou de password !</p>";
}
else //L'utisateur existe ($error_login=false -> la combinaison login/mot de passe est correct) mais il n'a pas le droit d'accéder à la page
{
  echo "<p class=\"centre\">Désolé mais tu n'es pas autorisé à accéder à cette page !</p>";
}
   
?>
 
<form action="login.php" method="post">
   
   <fieldset>
   
   <legend class=legend>Identification</legend>
   
   <table style="background:none;border-width:0;width:10%;margin-left:40% ; margin-right:40%">
   <tr>
    <td>Nain: </td>
    <td><input class=textForm type="text" name="login" /> </td>
   </tr>
   <tr>
    <td>Pass:</td>
    <td><input class=textForm type="password" name="password" /></td>
   </tr>  
     
   <tr>
   <td class="centre" colspan="2">
   <?php
    if($error_login)
    {  
    echo "<input type=\"hidden\" name=\"back\" value=\"$back\" />";
    }  
    else
    {
    echo "<input type=\"hidden\" name=\"back\" value=\"$back\" />\n"
        ."<input type=\"hidden\" name=\"id\" value=\"$identification\" />";
    }
   ?>  
    <input type="hidden" name="send" value="1" />
    <input class=inputButton type="submit" value="OK" />
    </td>
   </tr>
   </table>
   
   </fieldset>
   
   </form>
   
   </body>
   
</html>
---------------------------------------------------------------------
 
Le pb, c'est que je récupère parfois des valeur vides dans le fomulaire (soit au premier chargment de la page (id et back récupérés avec GET, soit après un ou plusieurs chargement du formulaire (id et back renvoyés avec la méthode POST).
Je crois bien que j'ai un pb avec les méthodes GET et POST (ou alors c'est un pb qui m'échappe et c'est pour ça que je pose la question ici pour voir si qqun peut éclairer ma lanterne  :hello:


Message édité par cakeman le 08-06-2004 à 10:08:33

---------------
Qui ne s'est jamais perdu dans les voies impénétrables de l'informatique !
mood
Publicité
Posté le 08-06-2004 à 10:07:57  profilanswer
 

n°756138
Jer
Posté le 08-06-2004 à 11:55:47  profilanswer
 

Citation :


unset($_GET['id']);
echo "<input type=\"hidden\" name=\"back\" value=\"$back\" />\n"  
       ."<input type=\"hidden\" name=\"id\" value=\"$identification\" />";  


 
Tu mélanges les variables $id, $identification et $identifiant
 

Citation :


// On détruit les GET vu qu'on va utiliser la methode post pour le formulaire (surtout valable lors du premier chargment de la page)  
unset($_GET['id']);  
unset($_GET['back']);


 
Je trouve ça bien inutile
 


 
Pourquoi ne pas utiliser des variables de session pour transmettre back et identifiant? Déja c'est plus propre et ensuite avec ta méthode n'importe qui peut se faire passer pour autruit en changant son identifiant dans l'URL


Message édité par Jer le 08-06-2004 à 12:02:10
n°756296
cakeman
Posté le 08-06-2004 à 12:56:33  profilanswer
 

sauf qu'il faut qu'il connaisse le mot de passe pour effectivement avoir les accès de cette personne.
Je en mâitrise pas trop les variables de session mais je vais me penscher sur la question.


Message édité par cakeman le 08-06-2004 à 13:02:11

---------------
Qui ne s'est jamais perdu dans les voies impénétrables de l'informatique !

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

  Une histoire de formulaire qui ne passe pas !!!!

 

Sujets relatifs
Probleme de formulaire sous accesssript mot de passe
valider un formulairea l'aide pour script mot de passe
[HTML/JavaScript] Bouton retour du navigateur est formulairepb avec formulaire et bdd
taille bouton & champ formulaireformulaire validé automatiquement.
refresh et formulaire (liste deroulante)[ASP] [formulaire] comment ajouter/supprimer des champs
Plus de sujets relatifs à : Une histoire de formulaire qui ne passe pas !!!!


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