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

Langage PHP Discussion :

Problème pour récupérer le nom utilisateur


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Problème pour récupérer le nom utilisateur
    Bonjour.

    Sur ma page accueil.php, je demande le nom utilisateur et le mot de passe.
    Je vérifie les 2 et sur ma page index, j'affiche le nom utilisateur.

    Si le nom utilisateur ou le mot de passe ne sont pas bon j'affiche un message.
    le problème c'est que je récupère pas le nom utilisateur sur la page index.
    ma page accueil :
    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
    $exist = "";
    if(isset($_POST['utilisateur']))      $proprietaire=$_POST['utilisateur'];
    else	$proprietaire = "";
    if(isset($_POST['pwdid']))      $pswdsaisi=$_POST['pwdid'];
    else	$pswdsaisi = "";
    if ((!empty($_POST['utilisateur'])) && (!empty($_POST['pwdid'])))
    {
    	$sql = mysql_query("SELECT * FROM proprietaires");
    	$nombreligne = mysql_num_rows($sql);
    	for ($i = 0; $i < $nombreligne; $i++) 
    	{
    		$idproprietaire = mysql_result($sql,$i,"id_proprietaire");		
    		$utilisateur = mysql_result($sql,$i,"identifiant_proprio");
    		$passbd = mysql_result($sql,$i,"password_proprio");
    		if ((sha1($pswdsaisi) == $passbd) && ($proprietaire == $utilisateur)) 
    		{
    			$_SESSION['utilisateur'] = $utilisateur;
    			$_SESSION['idproprietaire'] = $idproprietaire;
    			$exist = "ok";
    		}
    	}
    	if ($exist != "ok")
    	{
    		$_SESSION['utilisateur'] = "";
    		$_SESSION['idproprietaire'] = "";
    		echo "<p align='center'><font color='red'>Nom utilisateur ou mot de passe invalide</font></p><br>";
    	}
    }
    la page index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    session_start();
    if(isset($_GET['deconnexion']) && $_GET['deconnexion']=="1"){
    	session_unregister('idproprietaire');
    	session_unregister('utilisateur');
    	session_destroy();
    }
    ?>
    // affichage du nom utilisateur
    	<TD align='center' width='13%' valign='middle'>
    		<font size='2' color='black' face='tahoma'>
    		<?php if (isset($_SESSION['utilisateur'])) { echo $_SESSION['utilisateur']; 
    		echo "<br><a href=index.php?deconnexion=1>d&eacute;connecter</a></font><br>"; } ?>
    	</TD>
    Je travaille avec include.

    Je tourne en rond

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Fais un var_dump($_SESSION) à la fin de ta page accueil.php et au début de index.php afin de savoir si tu fais bien l'affectation et que, si elle se fait, tu sois sur qu'elle est transmise.

    Dis nous ce que cela t'affiche après.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Sur la page accueil j'ai bien un tableau avec les élements qui correspondent à la bdd mais rien sur la page index : array(0){}.

    Il faut peut être que j'ajoute un $_SESSION['utilisateur'] = $utilisateur sur la page index ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Sur le script d'accueil, il vous manque, a priori, l'appel à session_start().

    Sur le script d'index, vous utilisez des fonctions dépréciées (session_unregister('var') unset($_SESSION['var'])).

    Citation Envoyé par philippef
    Je travaille avec include.
    Soit, mais où, quoi, comment ? Aucune inclusion n'apparaît dans le code donné !

  5. #5
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par philippef
    Il faut peut être que j'ajoute un $_SESSION['utilisateur'] = $utilisateur sur la page index ?
    Et non puisque justement tu veux le récupérer l'utilisateur.

    Comme julp l'a dit tu ne fais pas de session_start pour créer la session dans la page d'accueil, mais c'est que tu nous a pas tout montrer ou que tu l'as oublié (ne voyant les balises <?php ?> je n'ai pas posé la question car ça me paraissait évident en fait )

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    J'ai ajouté session_start(); sur la page d'accueil et j'ai un message d'erreur ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: A session had already been started - ignoring session_start() in c:\weblocal\sites\monsite\accueil.php on line 2
    pour include, sur la page index :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];  
     switch($page)
    {
    //menu horizontal
    case 'accueil': include ('accueil.php');break;
    case 'videotheq': include ('liste_films.php');break;
    case 'ajout_film': include ('ajout_film.php');break;
    case 'fiche_film': include ('fiche_film.php');break;
     
    //autres sélections
    case 'liste_films': include ('liste_films.php');break;
    case 'film_modif': include ('film_modif.php');break;
    }

  7. #7
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par philippef
    J'ai ajouté session_start(); sur la page d'accueil et j'ai un message d'erreur ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: A session had already been started - ignoring session_start() in c:\weblocal\sites\monsite\accueil.php on line 2
    Il faut que tu fasses le session_start avant d'afficher quoi que ce soit au navigateur donc place le plutôt en début de page avant tout autre code et tu ne devrais plus avoir d'erreur.

  8. #8
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    ma session_start est au début!!!

    Pour que ce soit plus facile pour vous, je vous donne le script complet de mes pages :
    -index :
    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
    <?php
    session_start();
    if(isset($_GET['deconnexion']) && $_GET['deconnexion']=="1"){
    	unset($_SESSION['idproprietaire']);
    	unset($_SESSION['utilisateur']);
    	session_destroy();
    }
    //pour tester
    var_dump($_SESSION);
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Le site de Fred</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta name="description" content="por mes dvd">
    <meta name="keywords" content="dvd">
    <META NAME="Author" LANG="fr" CONTENT="Philippe Fontayne"> 
    <meta name="Robots" content="index, follow, all">
    <META NAME="Revisit-after" CONTENT="5 days"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <link rel="stylesheet" type="text/css" href="style.css">
    </HEAD>
    <BODY>
    <div class="haut">
    <TABLE WIDTH=100% BORDER="0" CELLPADDING="0" CELLSPACING="0">
    	<TR style="height:45px">
    	<TD align='center' width='87%'>
    		<font size='5' color='blue' face='Palatino'><B>LE SITE DE FRED</b></font><br>
    	</TD>
    	<TD align='center' width='13%' valign='middle'>
    		<font size='2' color='black' face='tahoma'>
    		<?php if (isset($_SESSION['utilisateur'])) { echo $_SESSION['utilisateur']; 
    		echo "<br><a href=index.php?deconnexion=1>d&eacute;connecter</a></font><br>"; } ?>
    	</TD>
    	</TR>
    </TABLE>
    <?php
    function date_fran() { 
    $mois = array("janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "decembre"); 
    $jours = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"); 
    return $jours[date("w")]." ".date("j").(date("j") == 1 ? "er" : " "). $mois[date("n")-1]." ".date("Y")." - ".date("H")."h".date("i"); 
    } 
    ?> 
    <TABLE WIDTH=100% BORDER="1" class="bordure" style="border-color: white; FILTER: 
    			progid:DXImageTransform.Microsoft.GRADIENT(startColorstr=#003366 
    			,endColorstr=#ffffff ,gradientType=0" bgColor=#ffffff scroll=yes;>
    	<TR style="height:30px; color=white">
    	<TD WIDTH=23%><font face=verdana size=1><? echo (date_fran());?>
    	<TD WIDTH=15% class=td1>
    	<A HREF="index.php?page=accueil" class=td1><font color="white" style="text-decoration:none">accueil</A>
    	</TD>
    	<TD WIDTH=15% class=td1>
    	<A HREF="index.php?page=videotheq" class=td1><font color="white" style="text-decoration:none">Vidéothèque</A>
    	</TD>
    	<TD WIDTH=15%  class=td1>
    	<A HREF="index.php?page=encours"><font color="white" style="text-decoration:none">Ce qui me manque</A>
    	</TD>
    	<TD WIDTH=15%  class=td1>
    	<A HREF="index.php?page=ajout_film"><font color="white" style="text-decoration:none">Ajouter un film</A>
    	</TD>
    	</TR>
    </TABLE>
    </div>
    <div class="conteneur">
    <div class="frame">
    <?php 
    if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];  
     switch($page)
    {
    //menu horizontal
    case 'accueil': include ('accueil.php');break;
    case 'videotheq': include ('liste_films.php');break;
    case 'ajout_film': include ('ajout_film.php');break;
    case 'fiche_film': include ('fiche_film.php');break;
    //autres sélections
    case 'liste_films': include ('liste_films.php');break;
    case 'film_modif': include ('film_modif.php');break;
    }
    ?>
    </div>
    </div>
    </body>
    </html>
    -accueil :
    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    <?php
    session_start();
    require('connect.php');
    ?>
    <HTML>
    <HEAD>
    <title>Le site de Fred</title>
    <LINK REL="stylesheet" HREF="style.css" TYPE="TEXT/CSS">
    </HEAD>
     
    <script type="text/javascript">
    function hide(identifiant,identifiant1) {
            if (document.getElementById(identifiant).className == "hidden") {
                document.getElementById(identifiant).className = "visible";
                document.getElementById(identifiant1).className = "hidden";
            } 
    }
    function fermer(identifiant){
    	document.getElementById(identifiant).className = "hidden";
    } 
    function controle(){
    if ((document.inscrire.pwdid.value == document.inscrire.pwdidb.value) && (document.inscrire.utilisateur.value != ""))
    {
    	document.inscrire.verif.value="ok";
    	document.inscrire.submit();
    }
    }
    </script>
    <BODY >
    <p>
    Cliquez <a href="#" onclick="javascript:hide('mondiv','mondiv1')";><span style="text-decoration:none"><b>ici</b></span></a> pour vous inscrire.<br><br>
    Cliquez <a href="#" onclick="javascript:hide('mondiv1','mondiv')";><span style="text-decoration:none"><b>ici</b></span></a> pour vous connecter.
    </p>
    <!-- **************************************
          *****FORMULAIRE D'INSCRIPTION ***** 
         ***********************************-->
    <div id="mondiv" class="hidden">
    <form name="inscrire" method="post" action="index.php?page=accueil">
    <table border="0" style="margin-left:30%">
    	<tr>
    		<td align="right">identifiant : </td>
    		<td> <input type="text" name="utilisateur" value="">
    	</tr>
    	<tr>
    		<td align="right">mot de passe : </td>
    		<td><input type="password" name="pwdid" value="">
    	</tr>
    	<tr>
    		<td align="right">confirmer le mot de passe : </td>
    		<td><input type="password" name="pwdidb" value="">
    	</tr>
    	<tr style="height:50px">
    		<td></td><td align="center"><input type="button" name="valid" value="Valider" onclick="javascript:controle()">&nbsp;&nbsp;&nbsp; 
    		 <input type="button" name="close" value="Fermer" onclick="javascript:fermer('mondiv')"></td>
    	</tr>
    	<tr>
    		<td><input type="hidden" name="verif" value="">
    	</tr>
    </table>
    </form>
    </div>
     
    <?php
    $exist = "";
    if(isset($_POST['verif']))      $ok=$_POST['verif'];
    else	$ok = "";
    $mon_text = "";
    if (!empty($_POST['verif']))
    {
    	$utilisateur = $_POST['utilisateur'];
    	$pswd = $_POST['pwdid'];
    	$pswd = sha1($pswd);
    	// vérifier si l'identité est déjà utilisée
    	$sql = mysql_query("SELECT * FROM proprietaires");
    	$nombreligne = mysql_num_rows($sql);
    	for ($i = 0; $i < $nombreligne; $i++) 
    	{
    		$res = mysql_fetch_array($sql);
    		$idproprietaire = $res['identifiant_proprio'];
    		if ($proprietaire == $utilisateur){
    			$mon_text = "<p align='center'><font color='red'>Identifiant déjà utilisé";
    			echo $mon_text;
    			$exist = "existe";
    		}
    	}
    	if (empty($exist)) {
    		// enregistrement de l'inscription 
    		$rsql = "INSERT INTO proprietaires(id_proprietaire, identifiant_proprio, password_proprio) 
    			VALUES('','$utilisateur','$pswd')";
    		$idproprietaire = mysql_insert_id(); 
    		mysql_query($rsql) or die('Erreur SQL !'.$rsql.'<br>'.mysql_error());
    		$_SESSION['utilisateur'] = $utilisateur;
    		$_SESSION['idproprietaire'] = $idproprietaire;
    		$mon_text = "<p align='center'>Vous êtes inscrit sur <font color='blue'><b>LE SITE DE FRED</b></font>";
    		echo $mon_text;
    	}
    }
    ?>
    <!-- **************************************
          *****FORMULAIRE DE CONNEXION ***** 
         ***********************************-->
    <div id="mondiv1" class="hidden">
    <form name="connecter" method="post" action="index.php?page=accueil">
    <table border="0" style="margin-left:36%">
    	<tr>
    		<td align="right">identifiant : </td>
    		<td> <input type="text" name="utilisateur" value="">
    	</tr>
    	<tr>
    		<td align="right">mot de passe : </td>
    		<td><input type="password" name="pwdid" value="">
    	</tr>
    	</tr>
    	<tr style="height:50px">
    		<td></td><td align="center"><input type="submit" name="valid" value="Valider">&nbsp;&nbsp;&nbsp; 
    		 <input type="button" name="close" value="Fermer" onclick="javascript:fermer('mondiv1')"></td>
    	</tr>
    </table>
    </form>
    </div>
    <?php
    $exist = "";
    $mon_text_connection = "";
    if(isset($_POST['utilisateur']))      $proprietaire=$_POST['utilisateur'];
    else	$proprietaire = "";
    if(isset($_POST['pwdid']))      $pswdsaisi=$_POST['pwdid'];
    else	$pswdsaisi = "";
    if ((!empty($_POST['utilisateur'])) && (!empty($_POST['pwdid'])))
    {
    	$sql = mysql_query("SELECT * FROM proprietaires ");
    	$nombreligne = mysql_num_rows($sql);
    	for ($i = 0; $i < $nombreligne; $i++) 
    	{
    		$idproprietaire = mysql_result($sql,$i,"id_proprietaire");		
    		$utilisateur = mysql_result($sql,$i,"identifiant_proprio");
    		$passbd = mysql_result($sql,$i,"password_proprio");
    		if ((sha1($pswdsaisi) == $passbd) && ($proprietaire == $utilisateur)) 
    		{
    			$_SESSION['utilisateur'] = $utilisateur;
    			$_SESSION['idproprietaire'] = $idproprietaire;
    			$exist = "ok";
    		}
    	}
    	if ($exist != "ok")
    	{
    		echo "<p align='center'><font color='red'>Nom utilisateur ou mot de passe invalide</font></p><br>";
    	}
    }
     
    var_dump($_SESSION);
    ?>
    Merci d'avance

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par trotters213
    ne voyant les balises <?php ?> je n'ai pas posé la question car ça me paraissait évident en fait
    D'où mon "a priori"

    Citation Envoyé par trotters213
    Il faut que tu fasses le session_start avant d'afficher quoi que ce soit au navigateur donc place le plutôt en début de page avant tout autre code et tu ne devrais plus avoir d'erreur.
    D'une part le message d'erreur n'est que de type notice (donc sans impact, tout du moins dans ce cas) et d'autre part tu confonds le message avec celui qui dit que les entêtes ont déjà été envoyées. Ici il indique simplement qu'on tente de démarrer une deuxième fois une session donc que cet appel sera ignoré : chose logique. De plus, c'est ce qu'il fait déjà dans index.php

    J'ai testé votre code et il semble fonctionner
    array(2) { ["utilisateur"]=> string(4) "julp" ["idproprietaire"]=> string(1) "1" }
    session_id : a524a3b8c578f366783509939bf508c4
    Est-ce que register_globals est actif ? Vérifiez la propagation de la session en affichant son id en début de page (fonction session_id), vous devriez avoir le même sur chacune de vos pages.

    Par ailleurs votre code peut être optimisé, inutile de parcourir tous les enregistrements d'une table quand on peut y mettre une condition (clause WHERE) et sécurisé (injections SQL et failles XSS - voir la FAQ). Exemple (accueil.php) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if ((!empty($_POST['utilisateur'])) && (!empty($_POST['pwdid'])))
    {
    	$sql = mysql_query(sprintf('SELECT id_proprietaire FROM proprietaires WHERE identifiant_proprio = \'%s\' AND password_proprio = \'%s\'', mysql_real_escape_string($_POST['utilisateur']), sha1($_POST['pwdid'])));
    	if (mysql_num_rows($sql) == 1) {
            	$row = mysql_fetch_row($sql);
    	        $_SESSION['utilisateur'] = $_POST['utilisateur']; // A protéger des failles XSS
            	$_SESSION['idproprietaire'] = $row[0];
    	} else {
    		$_SESSION['utilisateur'] = "";
    		$_SESSION['idproprietaire'] = "";
    		echo "<p align='center'><font color='red'>Nom utilisateur ou mot de passe invalide</font></p><br>";
    	}
    }
    (non testé)

  10. #10
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Merci pour toutes ces réponses.

    Pour la fonction registers_global, je viens de regarder et elle est off. par contre je ne sais pas comment la modifier. Dans Programmes Files/php mais après je ne connais pas le fichier.

    J'ai testé session_id et j'ai bien la même chose sur la page index et sur la page accueil.

    Pour l'amélioration du code je verrais lorsque j'aurais résolu mon problème.

    Je viens aussi de regarder la FAQ comment se protéger de la faille XSS, j'avoue que je n'ai pas bien compris ni son utilité ni l'endroit où il conviendrait de placer la fonction.

  11. #11
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Je reviens faire le point :

    - Pour la registers_global, j'ai trouvé le fichier et je l'ai mis "on".
    - j'ai aussi modifié la requête et elle fonctionne.
    - si l'utilisateur ou le mot de passe ne sont pas bons j'ai bien le message que je veux afficher.


    je dois les saisir 2 fois l'utilisateur et le mot de passe sur la page accueil pour que le nom utilisateur s'affiche sur la page index.

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par philippef
    Pour la fonction registers_global, je viens de regarder et elle est off. par contre je ne sais pas comment la modifier.
    Ne la modifier pas en ce cas ! La valeur Off évite bien des problèmes (écrasement de variables). C'est la valeur recommandée et par défaut depuis la version 4.2.0.

    Citation Envoyé par philippef
    Je viens aussi de regarder la FAQ comment se protéger de la faille XSS, j'avoue que je n'ai pas bien compris ni son utilité ni l'endroit où il conviendrait de placer la fonction.
    Assurez-vous que le login ne puisse pas comporter de code (balises HTML/JS) dès la création du compte par exemple.

    Citation Envoyé par philippef
    je dois les saisir 2 fois l'utilisateur et le mot de passe sur la page accueil pour que le nom utilisateur s'affiche sur la page index.
    Il vous faudrait une redirection après la phase d'identification (à moins de traiter l'authentification sur index.php juste après session_start).

  13. #13
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Merci à vous pour votre aide.

    Tout à l'air de fonctionner comme je le veux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour convertir un nom d'utilisateur en SID
    Par VincentSc dans le forum Windows
    Réponses: 2
    Dernier message: 13/05/2009, 15h09
  2. Problème pour récupérer le nom d'un JLabel
    Par ropabo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/06/2006, 01h10
  3. Réponses: 2
    Dernier message: 20/08/2004, 17h10
  4. Problème pour récupérer la clé primaire
    Par caramel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2003, 13h57

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