IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Recuperer la valeur d'une session


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut Recuperer la valeur d'une session
    Bonjour a tous ! Voila je debute en php MySql et pour les cours j'ai décidé de réaliser un systeme de blog reporter c'est a dire un systeme ou les membres s'inscrive puis peuvent créer leur propre blog dans lequel il postent leurs articles qu'on peut commenter etc etc.

    Donc pour l'instant j'ai reussi a créer un systeme d'enregistrement et un systeme de login . Une fois que l'utilisateur est loggué j'utilise une session pour définir qu'il y est et ainsi afficher ou masquer certains éléments.

    Problème j'aimerais savoir maintenant comment faire pour que certains éléments n'apparaissent qu'en fonction de son Pseudo (unique donc bon moyen pour identifier si il peut ou non), par exemple permettre de voir les outils d'administration que sur son blog ou des ptits trucs dans le genre.

    Donc voila mon code d'enregistrement tout d'abord :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    <?
    session_start();
     
    include("connect.php");
     
    if(isset($_SESSION['Pseudo'])){
    	echo "Vous etes deja enregistrer";
    }
    else {
    	include("formulaire.html");
     
    	//on récupère les données envoyées par le formulaire
    	$Nom=$_POST["Nom_User"];
    	$Prenom=$_POST["Prenom_User"];
    	$Pseudo=$_POST["Pseudo_User"];
    	$Pass=$_POST["Pass_User"];
    	$Pass_Verif=$_POST["Verif_Pass_User"];
    	$Nom_Blog=$_POST["Nom_Blog"];
    	$Mail=$_POST["Mail_User"];
     
    	//Génération des messages d'erreur
    	$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    	$msg_ok = "Votre demande a bien été prise en compte.";
    	$message = $msg_erreur;
     
    	// vérification des champs pour voir si ils sont tous bien remplis
    	if (empty($_POST['Nom_User']))
    	  $message .= "Votre Nom<br/>";
    	if (empty($_POST['Prenom_User']))
    	  $message .= "Votre prenom<br/>";
    	if (empty($_POST['Pseudo_User']))
    	  $message .= "Votre Pseudo<br/>";
    	if (empty($_POST['Pass_User']))
    	  $message .= "Votre Mot de passe <br/>";
    	if (empty($_POST['Verif_Pass_User']))
    	  $message .= "Votre confirmation de mot de passe <br/>";
    	if (empty($_POST['Nom_Blog']))
    	  $message .= "le nom de votre Blog <br/>";
    	if (empty($_POST['Mail_User']))
    	  $message .= "Votre Email <br/>";
     
    	// si un champ est vide, on affiche le message d'erreur
    	if (strlen($message) > strlen($msg_erreur)) {
    	  echo $message;
    	  $champ_rempli=0;
    	}else{$champ_rempli=1;}
     
    	if($Pass==$Pass_Verif){
    		$Verification_Pass=1;
    	}else{$Verification_Pass=0;
    		echo'Mot de Passe et Confirmation Mot de Passe différent, veuillez les ressaisir';}
     
    	$Verif_Utilisateur="SELECT * FROM utilisateur where Pseudo_Utilisateur='$Pseudo'";
    	$valeur=mysql_query($Verif_Utilisateur);
    	if (mysql_affected_rows()<>0){
    		echo'Username existe déjà';
    	    echo'<br>Rentrez un autre nom';
    		$Pseudo_Libre=0;
    	}
    	else{
    		$Pseudo_Libre=1;
    	    $Verif_Mail="SELECT * FROM utilisateur where Mail_Utilisateur='$Mail'";
    	    $valeur=mysql_query($Verif_Mail);
    	    if (mysql_affected_rows()<>0){
    			echo 'Adresse mail existe déjà';
    		    echo'<br>Rentrez une autre Adresse Mail';
    			$Mail_Libre=0;
    	    }else{
    			$Mail_Libre=1;
    			$Verif_Blog="SELECT * FROM blog where Nom_Blog='$Nom_Blog'";
    			$valeur=mysql_query($Verif_Blog);
    			    if (mysql_affected_rows()<>0){
    					echo 'Nom de Blog existe déjà';
    					echo'<br>Rentrez un autre nom pour votre Blog';
    					$Blog_Libre=0;
    				}else{$Blog_Libre=1;}
    			}
    	}
     
    	if (!strpos($_POST['Mail_User'],'@','.')){
    	  echo 'Adresse mail non valide';
    		$Mail_Valide=0;
    	  // vérifie si le caractère @ est inclus dans la chaîne
    	}else{$Mail_Valide=1;}
     
    	if($Mail_Valide==1&&$Pseudo_Libre==1&&$champ_rempli==1&&$Mail_Libre==1&&$Blog_Libre==1&&$Verification_Pass==1) {
    		$Ajout_Utilisateur="INSERT INTO utilisateur
    		(Nom_Utilisateur,Prenom_Utilisateur,Pseudo_Utilisateur,Pass_Utilisateur,Mail_Utilisateur) VALUES
    		('$Nom','$Prenom','$Pseudo','$Pass','$Mail')";
    		$Ajout_Blog="INSERT INTO blog
    		(Nom_Blog,Pseudo_Utilisateur) VALUES
    		('$Nom_Blog','$Pseudo')";
    		if($Res=Mysql_query($Ajout_Utilisateur) && $Resu=Mysql_query($Ajout_Blog))
    		{echo"Enregistrement Effectué";}
    		else
    		{echo"Probleme dans la requete";}
    	}
    }
    ?>
    Mon code pour le Login :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
    session_start();
    include("connect.php");
     
    if(isset($_SESSION['Pseudo'])){
    	echo "ça roule";
    }
     
    else {
     
    	include("login.html");
    	echo 'ça marche pas';
    	//Initialisation de la sessiony
     
    	//on récupère les données envoyées par le formulaire
    	$Pseudo=$_POST["Pseudo_User"];
    	$Pass=$_POST["Pass_User"];
     
    //	function verification() {
    		if (!$Pseudo || !$Pass) {
    			echo 'ERREUR - Pseudo ou password manquant.';
    			return false;
    		} else {
    			$sql = "SELECT * FROM Utilisateur WHERE Pseudo_Utilisateur='$Pseudo' AND Pass_Utilisateur='$Pass'";
    			$result = mysql_query($sql);
    			if (!$result || mysql_num_rows($result) < 1) {
    				echo ' ERREUR - Nick ou password incorrect.\n';
    				return false;
    			} else {
    			//on sauvegarde le nom de l'utilisateur dans la Session 
    				$_SESSION['Pseudo']=$Pseudo;
    				echo 'Vous etes maintenant identifiez';
    				return true;
    				header( "Location: formulaire.html"); exit();
     
    			}
    		}	
    	}
    //}
    ?>
    </body>
    </HTML>
    bon voila aussi le debut de page que j'avais commencé pour voir comment récuperer la valeur de la session (en gros pour l'instant j'essaye d'afficher le nom du blog de l'utilisateur, faut commencer simple ^^)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    session_start();
     
    $Pseudo=$_SESSION['Pseudo'];
    echo"$Pseudo";
     
    include("connect.php");
    $Requete="Select Nom_Blog FROM blog";
     
    if($Result=MySql_query($Requete))
    {	
    echo"Requete Executée";
     
    While($ligne=Mysql_fetch_row($Result))
    {
    	echo"<TD>$ligne[0]</TD>";
    	}
    }
    else
    {
    	echo"probleme dans la requete";
    }
     
     
    ?>
    Voila merci d'avance

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Je pense qu'il te faut faire le lien entre la table utilisateur et la table des blogs puisqu'un blog appartient à un utilisateur !

    par exemple!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Requete="Select Nom_Blog FROM blog where blog_proprio='".$_SESSION['pseudo']."'";
    Attention à sécuriser $_SESSION['pseudo'] pour faire la requete (avec des mysql_real_escape).

    En fait, une fois que tu as la session le but est pour toi d'aller récupérer les éléments concernant l'utilisateur connecté seulement. C'est pour ca qu'il te faut faire un lien entre ta table utilisateur et le blog en question.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut
    Oui j'avais comprit qu'il fallait faire le lien entre les tables mais je voyais pas comment intégrer la session dans la requete ^^

    En tout cas ça marche impec merci

    sinon quand tu dis
    Attention à sécuriser $_SESSION['pseudo'] pour faire la requete (avec des mysql_real_escape).
    Comment on fait ça ?

    Encore Merci^^

Discussions similaires

  1. Comment recuperer la valeur d'une variable de session avec du javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2006, 10h40
  2. recuperer la valeur d'une session PHP dans une variable javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/09/2006, 18h33
  3. [VB.NET] Recuperer la valeur d'une cellule d'un DataTable
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/03/2005, 10h59
  4. recuperer la valeur d une cellule
    Par Invité(e) dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/01/2005, 18h05
  5. [C#] Recuperation de valeur dans une autre page
    Par kenzo080 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 02/06/2004, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo