Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme de variable de session [ Base de données / MySQL ] (VestaX)

lundi 8 octobre 2007 à 22:38:22 | Probleme de variable de session

VestaX

Membre Club

Bonjour,

Voila, je débute en php, et j'ai un petit soucis. J'ai créer une base de donnée sous Mysql (taccess) avec iduser, login, pass, email, anniversaire, site.

Donc le membre s'inscrit en ligne , s'identifie, et accede a son compte. Et là ca plante.
Dès que le membre veux acceder a son compte ca ne marche pas. J'ai essayé de rentrer des variables de session, mais j'ai surement du mal m'y prendre.


Page d'identification:

<?php
mysql_select_db($database_ircfrance, $ircfrance);
$query_totalmembres = "SELECT * FROM taccess";
$totalmembres = mysql_query($query_totalmembres, $ircfrance) or die(mysql_error());
$row_totalmembres = mysql_fetch_assoc($totalmembres);
$totalRows_totalmembres = mysql_num_rows($totalmembres);
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['login'])) {
  $loginUsername=$_POST['login'];
  $password=$_POST['pass'];

  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "../auth-ok.php";
  $MM_redirectLoginFailed = "../erreur-auth.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_ircfrance, $ircfrance);


  $LoginRS__query=sprintf("SELECT login, pass, email FROM taccess WHERE login='%s' AND pass='%s' AND email='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
  
  $LoginRS = mysql_query($LoginRS__query, $ircfrance) or die(mysql_error());
   $data = mysql_fetch_assoc($LoginRS);
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
   
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup; 
     

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>

Donc là j'utilise deux post:
  $loginUsername=$_POST['login'];
  $password=$_POST['pass'];
qui viennent de mes champs de formulaires ce qui est facile a réccuperer comme variables. mais apres pour les variables avec email, site etc... c'est une autre histoire :/

Page de confirmation:
 j'ai tout essayé ca ne marche pas.

j'ai essayé <?php echo $_SESSION['email']; ?>  en mettant une variable de formulaire $email dans la page de connexion mais bon surement mal placé?

Si quelqu'un pouvais m'aider svp ca m'aiderais vraiment. Car là je bloque sur ca depuis 1 semaine et je ne peux pas avancer mon site :/

Merci d'avance

VestaX


mercredi 10 octobre 2007 à 18:09:48 | Re : Probleme de variable de session

buno

Salut,
Je m'avance peut-être, mais ne faut-il pas faire un session_start() avant toute chose?
[ Lien ]

// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}


Je mettrais le session_start() avant l'accès à la base, moi...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

mercredi 10 octobre 2007 à 18:20:09 | Re : Probleme de variable de session

VestaX

Membre Club

merci de ta réponse buno.

En fait je veux bien le mettre avant, mais ca ne me parrait pas logique, car il faut bien identifié la base afin de pouvoir se connecter. C'est comme quand tu va sur un site et que tu t'identifie, tu ne va pas t'identifier avant d'aller sur le site :) //clind'oeil

Par contre, le lien que tu m'a passé je vois:

<?php
// page1.php

session_start();

echo
'Bienvenue à la page numéro 1';

$_SESSION['favcolor'] = 'vert';
$_SESSION['animal']   = 'chat';
$_SESSION['time']     = time();

// Fonctionne si le cookie a été accepté
echo '<br /><a href="page2.php">page 2</a>';

// Ou bien, en indiquant explicitement l'identfiant de session
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

apparament dans les variables de session il y a deja des valeurs prédéfinies (vert, chat, time) alors que moi je voudrais reccuperer les valeurs d'une requete interrogant la base de données :/

Merci quand meme de ta réponse :)


mercredi 10 octobre 2007 à 19:30:08 | Re : Probleme de variable de session

buno

Yop!
Je crois que tu mélanges des notions. Les variables de session ne sont pas liées aux bases de données. Ce n'est pas parce que tu as un champ "email" dans ta base que ce champ sera dans une variable de session...

La fonctions session_start() te permet d'accéder aux variables de session au sein du script. Il faut donc le faire le plus tôt possible (mais ce n'est pas obligatoire).
Ensuite, tu accèdes à ta base pour récupérer des infos. Si tu veux stocker des infos de ta base dans la session, genre le champ "email", il faut le faire explicitement: $_SESSION['email'] = $tonEmail.
Une fois que tu as fait cela, tu pourras récupérer l'email n'importe où dans la session.

J'espère que j'ai été clair et que cela te permettra d'avancer.
Sinon, tu sais où nous trouver!

@+

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

mercredi 10 octobre 2007 à 23:39:41 | Re : Probleme de variable de session

VestaX

Membre Club

merci de ta réponse buno, mais quand tu dis $_SESSION['email'] = $tonEmail
le $tonEmail c'est quoi? je le prends ou? dans la base? et si oui comment? c'est là que je bloque :/


jeudi 11 octobre 2007 à 09:16:39 | Re : Probleme de variable de session

buno

Ah ok....
Je pensais que ton souci était les variables de session, désolé. Ton souci est donc de récupérer la valeur d'un champ de ta base?
OK. Je ne suis pas un expert "base de données", et je ne connais pas la structure de ta base mais, en gros, à l'aide de SELECT, tu vas aller chercher une entrée qui contient ton champ "email". Genre, un truc comme ça:
SELECT iduser, login FROM taccess WHERE email='%s'

Sur cette page, il y a un bon exemple: exemple 1593

@+

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage



Cette discussion est classé dans : mysql, login, session, mm, totalmembres


Répondre à ce message

Sujets en rapport avec ce message

code connexion [ par vrkill2 ] bonjour a tous qui peux me donner un coup de main pour  se code de connexion car sa ne marche pas mérci de bien vouloire méclairémysql_select_db($data probléme authentification avec php/mysql [ par kingprog ] Mon  probléme c'est que quand j'entre le login et le mot de passe qui existe déja dans la base la page se redirige toujours vers la page d'erreur et p Faire une session d'administration [ par romega ] Salut, Je me remet a l'informatique je connais un peu le php et le html ainsi que dreamweaver et je découvre le mysql. Je compte faire un blog a base Prendre des variable de session dans MySQL sur une autre table PROB [ par NORTIC_V ] VOILA le code ---------------------------------------------------------------------- // SCRIPT D'AUTHENTIFICATION session_start(); // début de sess phpmyadmin > choix session [ par RoX5 ] Bonjour,J'ai fait mon serveur web, j'ai bien installé mysql et donc phpmyadmin mais comme ce sera plusieur hébergement différent (pour des amis) il au Probleme de requete mysql [ par momoxe ] Bonjour, j'ai fait un code en php pour mon site web et il ne fonctionne pas.A chaque fois, mon serveur me renvoie "parse error on line 5, ce qui corre Sessions permissions [ par Soul EX ] session_start(); $login = $_POST["login"]; $password = $_POST["password"]; $connexion = mysql_connect("*","*","*"); mysql_select_db("*",$connexion); Problème session zone membres [ par Florent06 ] Bonjour Lorsque je me connecte, je suis redirigé vers la page zonemembre.php et voici son code : session_start(); ligne 2 require 'conf.php'; if( Pourquoi mes sessions ne fonctionnent plus !! [ par arnold002 ] Bonjour à tous,J'ai créé un site d'anciens élèves uniquement consultable par des utilisateurs préalablement enregistrés dans ma BDD.Sur la page d'inde login avec mot de pass crypté en md5 [ par dannyl ] bonjours je connais pas gros chose en php/mysql, parceque jutilise dreamweaver avec des comportement serveur, je suis entrain de regardé pour crypté u


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.