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

  FORUM HardWare.fr
  Programmation

  php passage de variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

php passage de variables

n°45921
bob2674
Posté le 11-07-2001 à 13:51:59  profilanswer
 

je voudrais faire une page ou l'utilisateur entre son nom et son mot de passe puis que ces données puissent être utilisés deux pages plus loin coment puis je faire?

mood
Publicité
Posté le 11-07-2001 à 13:51:59  profilanswer
 

n°45928
Mara's dad
Yes I can !
Posté le 11-07-2001 à 14:20:57  profilanswer
 

Cookies !
DOC là : http://www.php.net/manual/fr/features.cookies.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°45934
bob2674
Posté le 11-07-2001 à 14:32:39  profilanswer
 

si les cookies sont desactives cela marche pas ?
et est ce que c'ets la meilleur solution pour faire utiliser le nom de l'utilisateur et le mot de passe?
les cookies marchent-ils dans tout les cas?
est-il possible de passer ces variables autrement que par cookies?

n°45953
Mara's dad
Yes I can !
Posté le 11-07-2001 à 15:10:29  profilanswer
 

C'est sûr que çà marche pas si les cookies sont désactivés !
 
Sinon, faut que toutes tes pages se refillent les variables de page en page ou il utiliser les sessions.
 
Sessions DOC : http://www.php.net/manual/fr/ref.session.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°45979
bob2674
Posté le 11-07-2001 à 15:58:41  profilanswer
 

tu en pense  koi de la fçon la plus fiable à prendre?

n°45984
Mara's dad
Yes I can !
Posté le 11-07-2001 à 16:09:50  profilanswer
 

La super solution la plus mieux, c'est les sessions !
 
Mais j'ai jamais utilisé çà avec PHP, seulement en ASP.
 
Tu connais le principe ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°45985
bob2674
Posté le 11-07-2001 à 16:14:16  profilanswer
 

j'ai lu la doc mais c'est bien complique tout cela a gere moi je veux juste que des utilisateurs entre leur nom et mot de passe ce qui me permet d'ouvrir une liaison odbc avec ces paramètres

n°45990
bob2674
Posté le 11-07-2001 à 16:37:41  profilanswer
 

tu as un exemple avec  un passage par Paramètre URL ???

n°45993
Mara's dad
Yes I can !
Posté le 11-07-2001 à 16:56:22  profilanswer
 

Te fache pas si tout çà t'es familier, c'est juste pour faire un récap de la situation !
 
Un peu de théorie donc :
 
Le protocole HTTP fonctionne en mode déconnecté, c'est à dire que le serveur réponds à une requête (demande de page web, d'image...) et se dépèche d'oublier qui la lui a demandée !
 
Il en résulte que si on veut garder de l'information d'une page à une autre, il faut que chaque page transmette cette information.
 
Pour cela, il y a 2 solutions:
Les variables en GET (Lien hypertext ou formulaire) donc codées dans l'url et visibles par l'utilisateur ou en POST (formulaire).
Les cookies.
 
Le mécanisme des sessions utilisent une de ces deux solutions.
 
Il permet de ne transmettre qu'une seule information (un ID de session) que le serveur utilise pour se remémorer toutes les autres. Imagine un site de e-commerce, il n'est pas pensable que chaque page transmette tout le contenu du caddie à chaque fois !
 
Le principe consiste donc à générer un identifiant (quelconque, mais unique) qui est atribué à un visiteur lors de sa première viste.
Si les cookies sont activé sur le navigateur, ils sont utilisés pour stocker cet identifiant, sinon, en général il est passé dans l'url d'une page à l'autre.
Cet identifiant est utilisé par le serveur pour référencer l'ensemble des informations que l'on doit garder sur le visiteur, d'une page à une autre.
En pratique, le visiteur demande une page et fournis un ID de session (par cookies ou url). Le script coté serveur récupère cet ID, et va chercher dans une base de donnée si cet ID existe. Si c'est le cas, il récupère les informations déja stockées, en stocke éventuellement d'autres ... et enfin fait sont boulot !
 
Ce mécanisme n'éxistait pas de manière native dans PHP3, mais chaque programmeur pouvait en mettre un en place si nécessaire.
 
Pour ton problème, tu peux essayer de réinventer la roue si tu trouve que les sessions de PHP4 sont trop compliquées.
 
Il te faudra donc :
Une tables des connexions avec:
ID ( pour les identifiant de sessions )
UserName
MotDePasse
DateHeure ( pour stocker l'heure de dernière visite )
 
Sur toutes tes pages (donc dans un include !) tu devra :
Vérifier qu'un ID a été reçu. Si ce n'est pas le cas, il faut rediriger vers la page qui demande le UserName et le MotDePasse. Cette page, une fois renseignée par l'utilisateur renvoie vers une page qui génère l'id et enregistre les informations en base.
Si il y a un ID, il faut aller lire les infos (user + pass) en base.
Il faut aussi faire un travail de nettoyage de la table des connexions, genre ; supprimer tout les enregs dont la DateHeure date de plus . . . d'un certain temp à déterminer.
En effet, tu sais quand un user arrive sur ton site, mais tu ne sais pas quand il part !
Ne pas oublier non plus dans chaque page de transmettre l'ID si c'est par url, il faut penser à tous les liens de la page !
 
Bon courage !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°45995
bob2674
Posté le 11-07-2001 à 17:06:57  profilanswer
 

moi c'ets pas si complique que cela je veux rien tester du tout ej veux dans une page on puisse entrer le nom utilisateur et le mot de passe et que ej puisse le recuperer dans les autres pages c'est tt
 
mais je n'ai pas compris cet exemple  
 
<?php
session_register("compteur" );
$compteur++;
?>
Salut visiteur, vous avez vu cette page <?php echo $compteur; ?> times.<P>
<php?
# le <?=SID> est nécessaire pour transmettre l'identifiant de session
# au cas oú les utilisateurs auraient inactivé les cookies
?>
     
 
 
Pour continuer, <A HREF="nextpage.php?<?=SID"?>clique ici</?>  
 
 
 
Le <?=SID-> n'est pas nécessaire, si l'option --enable-trans-sid a été utilisé pour compiler PHP.  
 
 
Note : Les URL absolues  
 
 
t upeux m'aider???

mood
Publicité
Posté le 11-07-2001 à 17:06:57  profilanswer
 

n°45999
Mara's dad
Yes I can !
Posté le 11-07-2001 à 17:21:55  profilanswer
 

Relis mon dernier message, et compare le à ton besoin !
 
C'est Exactement çà ! Tu as des infos à passer d'une page à une autre : le USER et le MOT de passe !
 
Met toi dans le crâne que c'est comme çà que çà marche !
 
Je sais bien que ton problème est simple, mais çà veux pas dire que la solution l'est !
Il y a une solution simple, c'est les cookies, mais il faut une condition que tu ne peux pas maitriser : le navigateur de ton visiteur doit les accepter !
 
Je sais pas où t'as pris ton exemple, mais à mon avis, y'en manque un bout !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°46001
bob2674
Posté le 11-07-2001 à 17:26:55  profilanswer
 

il dise que ce'ts possible par url masi je n'y arrive pas

n°46002
bob2674
Posté le 11-07-2001 à 17:29:51  profilanswer
 

l'esmple se trouve dans le deuxième lien que tu m'as donne
exemple3

n°46005
Mara's dad
Yes I can !
Posté le 11-07-2001 à 17:36:26  profilanswer
 

Par l'url, c'est possible, mais le user et le mot de passe sont alors visibles par l'utilisateur et il me semble avoir lu que cette solution ne te conviens pas !
 
Quoi qu'il en soit, il suffit de rajouter à la fin de chaque lien : ?user=$user&pass=$pass
Ou bien, si ta page contient un formulaire, tu ajoute 2 champs cachés :
echo( "<input type=hidden name=user value=$user>" );
echo( "<input type=hidden name=pass value=$pass>" );
 
Tu peut aussi les crypter, masi c'est une autre histoire...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°46006
bob2674
Posté le 11-07-2001 à 17:40:41  profilanswer
 

ben merci pour ton aide je vais y reflechir

n°46009
bob2674
Posté le 11-07-2001 à 17:54:39  profilanswer
 

et en ce qui concerne lea var global?

n°46012
Mara's dad
Yes I can !
Posté le 11-07-2001 à 18:07:19  profilanswer
 

Bon un exemple simple avec les sessions PHP4
Mais je pense qu'il utilise les cookies pour passer l'ID de session !
 
fichier acceuil.php :  

Code :
  1. <form method=post action=page1.php>
  2. User Name: <input type=text name=user><br>
  3. Password : <input type=password name=pass><br>
  4. <input type=submit name=go value=Go!><br>


 
fichier page1.php :  

Code :
  1. <?php
  2. session_register("user" );
  3. session_register("pass" );
  4. echo( "<H1> PAGE 1 </H1><br>" );
  5. echo( "Salut visiteur, votre user : $user, votre password : $pass<br>" );
  6. ?>
  7. Pour continuer, <A HREF="page2.php">clique ici pour aller PAGE 2</A>


 
fichier page2.php :  

Code :
  1. <?php
  2. session_register("user" );
  3. session_register("pass" );
  4. echo( "<H1> PAGE 2 </H1><br>" );
  5. echo( "Salut visiteur, votre user : $user, votre password : $pass<br>" );
  6. ?>
  7. Pour continuer, <A HREF="page1.php">clique ici pour aller PAGE 1</A>


 
Les vars global sont des variables visibles par toutes les focntions. Rien à voir avec ton PB.

 

[edtdd]--Message édité par Mara's dad--[/edtdd]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°46093
bob2674
Posté le 12-07-2001 à 10:24:04  profilanswer
 

si je fait un tableau et je teste dans ce tableau le mot de passe et le nom est ce que la securite est bonne?
peut on acceder à un tableau?

n°46109
Mara's dad
Yes I can !
Posté le 12-07-2001 à 10:48:17  profilanswer
 

Tu veux dire que les User et MotDePasse sont en clair dans ton script PHP ?
 
Point de vue sécurité, c'est pas trop un problème. S'ils était dans une BDD, il faudrait bien qu'un de tes scripts d'accès à la base ait en clair le user et le mot de passe !
 
Pour augmenter la sécurité, tu peux crypter les users et mots de passe (avec crypt()) avant de les mettre dans ton tableaux. Ensuite, quand un utilisateur se présente, tu crypte ce qu'il saisie, et tu cherche le résultat dans ton tableaux !
Comme crypt() est injective, il n'y a pas moyen de décrypter. Tout ce qu'on peut faire, c'est comparer deux chaînes cryptées pour vérifier qu'elles sont identiques. Celà implique que si un utilisateur à perdu sont mot de passe il faut lui en générer un autre, car l'ancien est irrécupérable !
 
Truc : Quand un mot de passe n'est pas bon, ne met pas un message du genre, "Le mot de passe ne correspond pas au user $user !", mais plutôt "Identification incorrecte, ressaisiez le User et le Mot de Passe.". Il faut éviter de faire comprendre à l'intru que le user qu'il à mit est bon et qu'il lui reste le mot de passe à trouver.
 
En revanche, pour la mise à jour, le tableau c'est pas trop cool, surtout si un utilisateur veux changer de mot de passe.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°46116
bob2674
Posté le 12-07-2001 à 10:58:11  profilanswer
 

normalement il y a pas de personne qui peuvent se rajouter comme cela  
comme cela si on doit rajouter une personne il faut aller sur le serveur et rajouter dans le tableau

n°46142
bob2674
Posté le 12-07-2001 à 11:29:18  profilanswer
 

qu'est ce que tu en pense?

n°46153
Mara's dad
Yes I can !
Posté le 12-07-2001 à 11:35:46  profilanswer
 

Pourquoi pas !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le   profilanswer
 


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

  php passage de variables

 

Sujets relatifs
php: passage de paramètre par url.Passage de variables dun form[ACCESS SQL]
[JAVASCRIPT] Passage dargument[PHP4] comment déclarer les variables d'une variable ?
recuperer toutes les variables d'un formulaire! en php![PHP]Passage de fichier en paramétres
php : passage d'argumentsphp : passage d'arguments
[Delphi 5] passage de variables d'une fiche à une autrePassage de variables entre frames
Plus de sujets relatifs à : php passage de variables


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