pseudo frames et sessions

pseudo frames et sessions - PHP - Programmation

Marsh Posté le 27-11-2005 à 05:39:46    

Bonjour,
Je travaille actuellement sur un site avec les pseudoframes. J'ai un formulaire de 2 champs: user et password pour identifier les membres. Je veux quand un membre s'identifie le message "Bienvenu nom_membre" apparaisse au lieu du formulaire, si mauvaise identification le message "verifiez vos donnez" en gardant mon formulaire. En plus je ne veux pas quitter ma page index pour une autre (je veux garder plus ou moins la même apparence).
Ma page index.php:
<?php
session_start();
require ("config.inc.php" ); ?>
<?php include('entete.php'); ?>// mon formulaire est ici. (haut de mes pages)
<?php include('menu.php'); ?> // (partie gauche)
<?php include('centre.php'); ?>// (partie principale)
<?php include('droite.php'); ?>
<?php include('pieds.html'); ?>
 
Avez-vous une idée comment faire? Merci beaucoup.

Reply

Marsh Posté le 27-11-2005 à 05:39:46   

Reply

Marsh Posté le 28-11-2005 à 15:59:16    

T'as que du php vires moi les <?php ?> à tout va ;)
A toi de gérer dans ton entete.php ce que tu veux qui en sorte ;)
T'as ta session pour gérer à quel état est l'authentification ;)

Reply

Marsh Posté le 29-11-2005 à 05:05:16    

Salut, je n'ai pas bien ce saisi ce que tu voulais que je fasse leflos5. Mais j'ai bien joué sur ma page entete.php. Je perds la session au 2eme clique malgré que ma "session_start();" est bien placée au début de index.php. Pour etre plus clair  je vous passe mes codes:
D'abord la page entete.php:
<?php
             if (isset($_GET['page'])){  
                switch($_GET['page'])    
                   {   case'entete1':
                       include('entete1.php'); //contient le formulaire qui pointe vers index.php?page=entete2
                       break;
 
                       case'entete2':
                       include('entete2.php'); // voir code
                       break;  }    
                                     }
                                     
             else{  include('entete1.php');} ?>
 
page entete2.php:
<?php mysql_connect($host,$user,$pass);  
mysql_select_db($db);  
 
if(isset($_POST['login']))      $login=$_POST['login'];
else      $login="";
if(isset($_POST['pass']))      $pass=$_POST['pass'];
else      $pass="";
 
$sql = "SELECT * FROM utilisateurs WHERE COMPTE_UTILISATEUR=\"$login\" and PASSE_UTILISATEUR=\"$pass\"";  
 
$res = @mysql_query($sql) or die("Error ".mysql_errno().": ".mysql_error()."\nQuery: $sql" );
 
$exist = mysql_num_rows($res);  
 
if(!$exist) {  
    include("form_fx.php" );  //contient presque le même formulaire avec la mention "verifier vos données" et pointe vers: index.php?page=entete2      
}  
else {
 
session_register("login" );
 
echo '<table width="231" height="66" align="right" border="0"  cellspacing="0" cellpadding="0"><tr><td>';
echo "<center>Bienvenu <b> $login</center>";  
echo '</td></tr></table>';  
     
$sess_nom = session_name();  
$sess_id = session_id();  
}  
?>  
je tourne dans un cercle, pourriez vous me dire où est l'erreur? pourquoi je perds ma session dans les autres pages?
merci d'avoir lu et corrigé ce long code...

Reply

Marsh Posté le 04-12-2005 à 04:56:49    

J'attends toujours de l'aide merci

Reply

Marsh Posté le 04-12-2005 à 12:33:36    

en lève moi les <?php et ?> de chaque ligne de ton index!!!!!!
Ensuite utilise $_SESSION plutot que session_register ;)
 
J' ai pas bien compris ton histoire de GET et page, et tes différents entete.php
 
Mais dans ton test dans entete.php, si page est pas définit en GET tu renvois sur entete1.php :) Mais si tu définis jamais $_GET["page"] ça peut tourner en boucle longtemps :D Si c'est bien ça le problème :??:
 

Reply

Marsh Posté le 05-12-2005 à 23:44:44    

Pour ce qui est des <?php et ?> c'est parce que mon code php est mélangé avec du HTML en fait les <?php et ?> sont dans des <td> d'un tableau mais je  vais essayer de m'en debarrasser.
Ok pour être encore plus concrêt de ce que je veux voir s'afficher jettez un coup d'oeil sur cette page:
http://www39.websamba.com/robertlebon/

Reply

Marsh Posté le 06-12-2005 à 01:24:34    

J'avais bien compris ce que tu veux :)
Pour les <php tu peux inclure du code php dans une chaine de texte :)
 
T'as ce qu'il faut ou pas dans ta session :??: On va peut être réussir à savoir :D Et le SID c'est bien le même d'une page à l'autre :??: Il est peut être aussi là le problème ;)

Reply

Marsh Posté le 08-12-2005 à 02:07:18    

Pour ce qui est de la session ça va ça marche. Il me reste la forme: qu'est-ce qui manque  à mon code pour me permettre d'avoir le message de bienvenu dans toutes les pages après le login du membre.

Reply

Marsh Posté le 10-12-2005 à 09:06:32    

Pourquoi ne pas faire une fonction qui te retourne un message selon que le visiteur est identifie ou non (en utilisant les variables de session). Tu pourras ainsi utiliser cette fonction a partir de n'importe quelle page.

Reply

Marsh Posté le 11-12-2005 à 05:56:19    

zerealfred a écrit :

Pourquoi ne pas faire une fonction qui te retourne un message selon que le visiteur est identifie ou non (en utilisant les variables de session). Tu pourras ainsi utiliser cette fonction a partir de n'importe quelle page.


Reply

Marsh Posté le 11-12-2005 à 05:56:19   

Reply

Marsh Posté le 11-12-2005 à 05:58:21    

Merci "zerealfred" pour l'idée des fonctions je vais essayer ça. entre temps est-ce que quelqu'un peut me traduire ce qui suit en langage PHP:
[ s'il y a session affiche moi $chaine_1;
 s'il n'y a pas session affiche moi $chaine_2 ] bien sûr en tenant compte des sessions

Reply

Marsh Posté le 12-12-2005 à 20:08:06    

pour ca tu peux utiliser le login et le mot de passe que tes utilisateurs saisissent pour s'identifier, a condition qu'il soient stockes dans des variables de session et qu'il y ait "session_start()" au debut de ta page ;)
if(isset($_SESSION['NomVarSessionLogin']) && isset($_SESSION['NomVarSessionMdp']))
{
   echo $chaine_1;
}
else
{
   echo $chaine_2;
}
 

Reply

Marsh Posté le 13-12-2005 à 18:07:10    

Merci infiniment zerealfred ça marche maintenant!

Reply

Marsh Posté le 13-12-2005 à 21:00:46    

Y a pas de quoi ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed