Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[php] session utilisateur sur un site

Riwalenn, le vendredi 20 avril 2007 à 11:23:32
Bonjour,

je voudrais créer un espace utilisateur sur mon site internet (je parle d'un site internet pro pas perso) et je ne sais pas trop par quoi commencer...

pour info : les utilisateurs se sont inscrits sur le site via un formulaire d'inscription qui écrit les données dans la bdd mysql.

mon collègue à créer un code pour le login mais je n'arrive pas à faire en sorte que l'utilisateur ayant inscrit son nom et son password ne soit pas logué s'il y a une erreur... je sais pas si on me suit...

j'ai le code suivant sur la page de login avant le html :

<?php

if(isset($_COOKIE["cookie_user"]))
{
	$cooki=$_COOKIE["cookie_user"];
?>
Bonjour <?php echo $cooki; ?>
		
<?
}
else
{

?>


j'ai le code suivant sur la page de login dans le body :
	<form action="candidats\index.php" method="post" name="login" id="log2">
        <div align="right"> 
          <input type="text" name="user" class="login">
          &nbsp; 
          <input type="password" name="mdp" class="login">
          <INPUT TYPE=checkbox name="cookie" value="1">
          <input type="submit" name="Submit" value="Ok" class="login">
          &nbsp;&nbsp; &nbsp;</div>
      </form>


et j'ai le code suivant après le html :

<?php
}
?>


actuellement si je clic sur le bouton ok je vais directement sur la page index de la partie candidats alors que je n'ai rien rentré dans les champs précédents...
si quelqu'un pouvait m'aider, merci. Cordialement,
Riwalenn
Configuration: Windows XP
Internet Explorer 6.0
Répondre à Riwalenn  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
bbar, le vendredi 20 avril 2007 à 11:54:06
Salut,
<form action="candidats\index.php" method="post" name="login" id="log2">

tout est là : il te faut définir un script de vérification dans ta table des données de l'utilisateur avant de le rediriger vers l'index, si les infos données son bonnes, vers la fenêtre de login le cas échéant.
en gros il faut que tu le réécrives de cette manière :
<form action="candidats\verification.php" method="post" name="login" id="log2">



et ton fichier verification.php en pseudo code vas ressembler à ça :

récupération du login et du mdp
vérification du log et du mdp dans la base de donnée
si c'est ok
-> aller sur la page index.php
sinon
-> retour sur la page de login
Répondre à bbar

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le vendredi 20 avril 2007 à 17:07:59
je te remercie je vais commencer par ça Cordialement,
Riwalenn
Répondre à Riwalenn

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le lundi 23 avril 2007 à 16:17:22
bon alors j'ai réussi à faire la vérification du login et du mot de passe par rapport à la base de données. (même le cookie fonctionne)...

cependant, je voudrais récuperé le login en question pour pouvoir inscrire le nom sur ma page...


j'ai le code suivant sur ma page avant le code html :

<?php include 'connexion.php'?>
<?php
$user = isset($_POST['user']) ? $_POST['user'] : ''; 
$sqlrequest = mysql_query("select user from login where user LIKE ('%$user%');") or die (mysql_error()); 

?>



puis code dans ma page :
<?php while(list($user)=mysql_fetch_array($sqlrequest)){ ?>
                  <td height="109"> <p class="boitecandidats">Bienvenue dans votre 
                      espace (<?php  echo $user ; ?>).<br>



enfin le code après html :
<?php } mysql_close(); ?>


avec ce code je récupère bien le nom mais ça me créé un tableau avec TOUT les noms lol... j'ai l'impression que c'est le while(list qui ne va pas...

merci par avance pour vos réponses Cordialement,
Riwalenn
Répondre à Riwalenn

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
bbar, le mardi 24 avril 2007 à 14:05:32
Salut, je pense qu'il serait intéressant de savoir à quoi ressemble le contenu de la variable $user avant de l'injecter dans ta requête mysql.
En reprenant le code suivant : ('%$user%'), tu mets n'importes quels caractères en nombre indéfini, puis le contenu de la variable $user, puis à nouveau un nombre indéfini de caractères. Or dans le cas où ta variable $user vaut '', une chaine vide, ça veut dire que tu prends tous les champs pour les quels user = n'importes quels caractères en nombre indéfini, cad la totalité de ta table.
D'autre part, il peut intéressant également de créer une variable $requete, par exemple dans laquelle tu vas coller ta requete puis tu en fait un écho pour voir les valeurs qui sont utilisées.
Voiloù, tiens moi au jus
Répondre à bbar

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le mardi 24 avril 2007 à 17:23:09
je comprends ce que tu veux dire ma fonction avec 'user' et %user% n'est pas bonne... mais comment je dois faire alors ?
excuse je suis newbie en php et mysql... Cordialement,
Riwalenn
Répondre à Riwalenn

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
bbar, le mardi 24 avril 2007 à 17:39:42
en fait, c'est pas ta requete en elle même qui est mauvaise, encore que je pense que mettre les % ne va pas : il te suffit d'avoir 2 noms très proches (à une ou deux lettres près) et tu te retrouves avec plusieurs user possibles.
Ce que je ferai :
if (isset ($_POST['user'])
{
  // là tu met en ta requete mysql et l'affichage des données correspondantes
}
else
{
  // la variable $_POST['user'] n'existe pas, à toi de voir ce que tu veux faire dans ce cas : retour sur la fenêtre de log, pas d'affichage de nom tout simplement, ...
}

comme ça, ça te permet de gérer de manière simple le cas où t'as qq'un qui essaye d'arriver sur la page sans être passé au préalable par la case départ, à savoir la fenêtre de log.
Dans ce cas, si tu veux le rediriger vers la page de login :
header("Location:adresse-de-ta-page.php");

dans ce cas, attention : majuscule à respecter strictement à "Location", d'autre part, au moment où php exécutera la fonction header(), il NE doit SURTOUT PAS y avoir eu d'affichage au préalable (genre message d'erreur, code html, ...) sinon il ne va rien faire que de te bouser dans les bottes.
Voiloù.@+
Répondre à bbar

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le mercredi 16 mai 2007 à 09:46:25
je comprends pas trop... j'ai l'impression que le code que tu me donnes est le même que celui que j'ai sur ma page de vérification :
<?php
include "connexion.php";
//cryptage MD5 du mot de passe pour comparer avec celui dans la base de donnée
$mdp=md5($_POST['mdp']);
$sqlrequest="select * from login where user='".$_POST['user']."' and pwd='".$mdp."';";
$results= mysql_query($sqlrequest);
$nbr_rp=mysql_num_rows($results);
$reponse=mysql_fetch_array($results);
if($nbr_rp!=0)
{
	if($reponse['level']==1)
	{
		if(isset($_POST['cookie']))
		{
			setCookie("cookie_user",$_POST['user'].';'.$mdp,NULL,NULL,NULL,FALSE);
		}
		header("Location: bravo.php");
	}
	if($reponse['level']==2)
	{
		if(isset($_POST['cookie']))
		{
			setCookie("cookie_user",$_POST['user'].';'.$mdp,NULL,NULL,NULL,FALSE);
		}
		header("Location: candidats/index.php");
	}
	if($reponse['level']==3)
	{
		if(isset($_POST['cookie']))
		{
			setCookie("cookie_user",$_POST['user'].';'.$mdp,NULL,NULL,NULL,FALSE);
		}
		header("Location: entreprises/index.php");
	}
}
else
{
	header("Location: index.php");
}
?>


ça va pas devenir compliqué si je mets 2 fois le même code ?...

moi ce que je veux c'est pouvoir afficher le nom de l'utilisateur sur ma page finale (sa page de de profil par ex)... j'suis un peu perdue là je dois avouer... Cordialement,
Riwalenn
Répondre à Riwalenn

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le mercredi 16 mai 2007 à 11:35:53
je viens de m'aperçevoir que, que je sois connectée ou pas avec le login j'ai ma page qui affiche quand même l'ensemble de mes utilisateurs... donc il est clair que je ne comprends pas du tout ton code. Je suppose qu'il consiste à récupérer le login.... Cordialement,
Riwalenn
Répondre à Riwalenn

9


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
bbar, le mercredi 16 mai 2007 à 18:51:55
Salut, je ne savais pas du tout ce que tu avais fait de ton côté puisque je ne partait que de quelques fragments de codes. En effet, ce que je t'ai mis ressemble à ce que tu as sur ta page de vérification. Dans ce cas, garde ce que tu as fait.
Ensuite, quand tu me dit que tu as l'affichage même si t'est pas loggé, c'est sur quelle(s) page(s) ? as-tu pensé, par exemple à supprimer ton cookie si la personne quitte sa session ou si elle ferme la fenêtre ?
Pour ta dernière demande, il va me falloir un peu plus d'infos pour pouvoir te répondre correctement.
shüss
Répondre à bbar

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le lundi 28 mai 2007 à 16:26:02
alors j'ai fait un fichier login à part pour m'y retrouver :
<html>
<head>
<title>login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javaScript" src="effacer.js">
</script>
<link href="includes/styleglobal.css" rel="stylesheet" type="text/css">
</head>

<body>
<div id="global_form_nav_espace">
<form action="candidats\index.php" method="post" name="login" onsubmit="return control();" >
<fieldset>
<legend class="global_invisible">Votre identification</legend>
<label for="global_form_nav_login"><input type="text" name="user" value="Code d'accès" class="text" onfocus="efface('connect','login','password1','Code d\'accès','******')" title="code d'accès" onmouseover="window.status='Code d\'accès'" onmousedown="window.status='Code d\'accès'" onkeydown="window.status='Code d\'accès'" />
<label for="global_form_nav_pass"><input type="password" name="mdp" value="******" onfocus="efface('connect','password1','login','******','Code d\'accès')" title="Mot de Passe" onmouseover="window.status='Mot de Passe'" onmousedown="window.status='Mot de Passe'" onkeydown="window.status='Mot de Passe'"  />
<INPUT TYPE=checkbox name="cookie" value="1">
<input type="submit" name="Submit" value="Ok"  id="global_form_nav_submit">
</fieldset>
</form>
</div>
  
</body>
</html>


et donc j'ai bien le nom de l'utilisateur sur ma page d'entrée de l'utilisateur sans avoir ce tableau avec tous les logins :

<?php while(list($user)=mysql_fetch_array($sql)){ ?>
                  <td height="109"> <p class="boitecandidats">Bienvenue dans votre 
                      espace (<?php  echo $user ; ?>).


seulement, si je navigue sur d'autres page et que je reviens sur ma page candidats, à ce moment-là j'ai de nouveau l'erreur, c'est-à-dire un tableau qui se répète avec tous les utilisateurs dedans...

En gros ça fonctionne sans ma page de vérification, donc pas bon lol
Cordialement,
Riwalenn
Répondre à Riwalenn

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bbar, le jeudi 21 juin 2007 à 21:13:11
Salut,
Désolé du retard de ma réponse (presque un mois, toutes mes confuses)
ta page candidat est-elle celle de login ? auquel cas, reviens-tu bien sur ta page de login à part ?
Répondre à bbar

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le vendredi 22 juin 2007 à 10:46:22
lol j'ai pas vu que j'avais encore ce message.. en fait je m'étais pris la tête pour rien, y'avait trop de trucs dans mon formulaire.. en tout cas le problème est résolu ;) Cordialement,
Riwalenn
Répondre à Riwalenn

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
danielcousin, le mardi 4 mars 2008 à 14:57:07
Comment créer une page de connexion avec plusieurs niveaux d'accès, par exepmle avec plusieurs utilisateurs:
Niveau 1 Administrateur(effectue toutes opérations sur la base)
Niveau 2 opérateur de saisie(Ne peux enregistrer les données mais ne peut pas les supprimer)
Niveau3 Visiteur(ne peut que consulter)
Répondre à danielcousin

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gayl49, le jeudi 17 avril 2008 à 10:12:42
Salut les mec , donc j'ai un petit bug !! pour mon site persO !! j'ai mi le script suivant sur mon site perso ( c'est un code d'indentificatiopn avec mots de passe ) mais le probleme c'est que je l'ai mis sur ma page d'aceuil mais on peut quand meme visister les autre sous page sans s'identifié !! blème NON ?? aider moi svp merci davance !!
Répondre à gayl49

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gayl49, le jeudi 17 avril 2008 à 10:14:11
oups j'ai oublier de mettre le script !! : <html>
<head>
<title>login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javaScript" src="effacer.js">
</script>
<link href="includes/styleglobal.css" rel="stylesheet" type="text/css">
</head>

<body>
<div id="global_form_nav_espace">
<form action="candidats\index.php" method="post" name="login" onsubmit="return control();" >
<fieldset>
<legend class="global_invisible">Votre identification</legend>
<label for="global_form_nav_login"><input type="text" name="user" value="Code d'accès" class="text" onfocus="efface('connect','login','password1','Code d\'accès','******')" title="code d'accès" onmouseover="window.status='Code d\'accès'" onmousedown="window.status='Code d\'accès'" onkeydown="window.status='Code d\'accès'" />
<label for="global_form_nav_pass"><input type="password" name="mdp" value="******" onfocus="efface('connect','password1','login','******','Code d\'accès')" title="Mot de Passe" onmouseover="window.status='Mot de Passe'" onmousedown="window.status='Mot de Passe'" onkeydown="window.status='Mot de Passe'" />
<INPUT TYPE=checkbox name="cookie" value="1">
<input type="submit" name="Submit" value="Ok" id="global_form_nav_submit">
</fieldset>
</form>
</div>

</body>
</html>
Répondre à gayl49

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 gayl49, le jeudi 17 avril 2008 à 10:18:20
Salut les mec , donc j'ai un petit bug !! pour mon site persO !! j'ai mi le script suivant sur mon site perso ( c'est un code d'indentificatiopn avec mots de passe ) mais le probleme c'est que je l'ai mis sur ma page d'aceuil mais on peut quand meme visister les autre sous page sans s'identifié !! blème NON ?? aider moi svp merci davance !!
Répondre à gayl49

Résultats pour [php] session utilisateur sur un site

Il est possible de récupérer le code source PHP d'un site Mythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur web... www.commentcamarche.net/faq/sujet-5613-il-est-possible-de-recuperer-le-code-source-php-d-un-site
[PHP][session] Problème avec les fichiers (Résolu) Bonjour à tous, J'ai configuré PHP de façon à ce qu'il me créer des fichiers dans un répertoire "tmp" pour les sessions. J'ai deux pages pourtant bien simples: index.php: www.commentcamarche.net/forum/affich-2422274-php-session-probleme-avec-les-fichiers
Site WAP/PHP (Résolu) Bonjour, J'ai un site internet PHP et un site WAP. J'aimerais comme je l'ai vu sur certains sites mais sans pouvoir lire la source (sic!) qu'avec une meme adresse (ex: www.monsite.com) suivant que la personne utilise un téléphone... www.commentcamarche.net/forum/affich-497791-site-wap-php

Résultats pour [php] session utilisateur sur un site

La Licence GPLOn parle énormément du logiciel libre, et de la licence GPL (General Public Licence). Voici cette fameuse licence : Sur le site opensource.org, la GPL version 2 : http://www.opensource.org/licenses/gpl-license.php Sur le site gnu.org, la GPL... www.commentcamarche.net/faq/sujet-7230-la-licence-gpl

Résultats pour [php] session utilisateur sur un site

[PHP] Porblème avec header et session_start() (Résolu)Bonjour, je suis en train de concevoir un site web et j'ai un problème. J'ai, au début d'une page, le script suivant: www.commentcamarche.net/forum/affich-8298746-php-porbleme-avec-header-et-session-start
Php chargement session sans formulaire (Résolu)Bonjour, En PHP j'utilise les sessions par la méthode POST pour récupérer les données d'un formulaire, dans ce cas tout fonctionne très bien. Mon problème est : Comment récupérer une variable provenant d'une base donnée dans une... www.commentcamarche.net/forum/affich-1444753-php-chargement-session-sans-formulaire
[php] convertion d'une chaine de caractere (Résolu)Bonjour, Je sui entrain de créer un petit site php/html utilisant une base acces. A l'interieur d'une requete je souhaiterais convertir un format chaine de caractere en numérique. La fonction TO_NUMBET(chaine) n' a pas l'aire de... www.commentcamarche.net/forum/affich-1597968-php-convertion-d-une-chaine-de-caractere

Résultats pour [php] session utilisateur sur un site

Smss - smss.exesmss - smss.exe Le processus smss.exe (smss signifiant Session Management Subsystem) est un processus générique de Windows NT/2000/XP servant à créer, gérer et supprimer les sessions utilisateurs. Il s'agit du premier processus executé au démarrage... www.commentcamarche.net/contents/processus/smss-exe.php3
Réseaux - MainframeArchitecture mainframe Les premiers réseaux informatiques étaient architecturés autour d'un ordinateur central, appelé « mainframe ». Le mainframe représente ainsi un ordinateur central de grande puissance chargé de gérer les sessions utilisateurs... www.commentcamarche.net/contents/cs/mainframe.php3