session ouverte et aprés?

Petit nouveau ! | 9 Messages

29 déc. 2005, 14:39

Bonjour, j'ai recupéré un tutorial qui m'a parmit d'authentifier un utilisateur et d'ouvrir une session. Ca marche trés bien, mais aprés??

Je souhaite que l'utilisateur une fois authentifié, puisse acceder a une page html ou autre (txt+images+d'autresliens), cette page faisant toujours référence a l'authentification.

j'ai un fichier secure qui dit:
<?php 
session_start() ; 
// on vérifie si l'utilisateur est identifié 
if ( !isset( $_SESSION['nom'] )) { 

  // la variable de session n’existe pas, 
  // donc l'utilisateur n'est pas authentifié 
  // On redirige sur la page permettant de s’authentifier 
  header('Location: auth.php') ; 
  // on arrête l'exécution 
  exit() ; 
}  
?> 
j'ai lu le tuto la dessus, et voici leur conseil:

"Il vous suffit maintenant d'ajouter include('secure.php') dans les scripts réservés pour que seules les personnes autorisées par la fonction verification() puissent les utiliser. Les autres seront redirigées vers le formulaire d’identification." OR je ne sais pas inclure cette fonction, j'ai fait une page html, avec une balise php avant celle du html, et la: erreur:

Code : Tout sélectionner

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at ...
Je sais authentifier, mais je sais pas protéger mes pages par la suite.
Je pense etre au bout, pouvez vous me tuyauter? comment on peut faire pour que ma fonction verif agisse sur du contenu html??

MERCI

ViPHP
fab
ViPHP | 2657 Messages

29 déc. 2005, 14:49

il faut que tu places le session_start(); en tout début de page, un simple envoi de html ou même d'un espace vide affichera l'erreur sinon ton système devrait marcher
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 déc. 2005, 14:50

Salut,
comment on peut faire pour que ma fonction verif agisse sur du contenu html??
les pages, où tu veux inclure ce fichier de verification, doivent bien évidemment avoir une extension .php.

et tu inclus ensuite ce fichier en tout début des pages.

EDIT:décidément me fait vieux moi,j'traine 8-[

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 9 Messages

29 déc. 2005, 15:10

Salut,
comment on peut faire pour que ma fonction verif agisse sur du contenu html??
les pages, où tu veux inclure ce fichier de verification, doivent bien évidemment avoir une extension .php.

et tu inclus ensuite ce fichier en tout début des pages.

EDIT:décidément me fait vieux moi,j'traine 8-[
Merci de la réponse, j'ai fait ca et ca n'a rien donné:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<?php include('secure.php')?>
<html>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>montitre<... 
<html>

et j'ai fait ca:

<?php include('secure.php')?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>


<head>....
et je ferme mes balises.

Toujours erreur..Je pense que mes balises sont mal positionnées, dois je mettre mes balises html entre balises php?? je vais essayer d'ailleur.

ViPHP
fab
ViPHP | 2657 Messages

29 déc. 2005, 15:13

tu es sur d'avoir aucun espace ni rien avecta balise php ?? sinon c'est toujours le même message d'erreur au moins ?
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 déc. 2005, 15:16

montre ton code (les 10 premières lignes ) avec les balises
 (du forum, bouton)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 9 Messages

29 déc. 2005, 15:40

montre ton code (les 10 premières lignes ) avec les balises [ php ] (du forum, bouton)
<?php include('secure.php')
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>mon titre</TITLE>

</head>

<body>


</body>
</html>
?>

Petit nouveau ! | 9 Messages

29 déc. 2005, 15:43

il faut que tu places le session_start(); en tout début de page, un simple envoi de html ou même d'un espace vide affichera l'erreur sinon ton système devrait marcher
Quand je fais include('secure.php'), session_start(); est deja ecrit dans secure.php, pkoi le remettre??

secure.php:
<?php 
session_start() ; 
// on vérifie si l'utilisateur est identifié 
if ( !isset( $_SESSION['nom'] )) { 

  // la variable de session n’existe pas, 
  // donc l'utilisateur n'est pas authentifié 
  // On redirige sur la page permettant de s’authentifier 
  header('Location: auth.php') ; 
  // on arrête l'exécution 
  exit() ; 
}  
?>

ViPHP
fab
ViPHP | 2657 Messages

29 déc. 2005, 15:44

erf
<?php include('secure.php'); ?>
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<TITLE>mon titre</TITLE> 

</head> 

<body> 
si tu nous avait indiqué le message d'erreur ça aurait était plus pratique mais bon
va faire un tour du côté de phpdebutant.org
ça pourrait t'aider :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Petit nouveau ! | 9 Messages

29 déc. 2005, 15:47

erf
<?php include('secure.php'); ?>
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<TITLE>mon titre</TITLE> 

</head> 

<body> 
si tu nous avait indiqué le message d'erreur ça aurait était plus pratique mais bon
va faire un tour du côté de phpdebutant.org
ça pourrait t'aider :)
Parse error: parse error, unexpected '>' in mondossiet de site

ViPHP
fab
ViPHP | 2657 Messages

29 déc. 2005, 15:50

bah oui regarde la différence entre le code que tu as donné et celui quye j'ai mis
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Petit nouveau ! | 9 Messages

29 déc. 2005, 15:57

OK, c cool, ca marche, ma page s'affiche tres bien.
Puis je une autre question??????

mon utilisateur est authentifié, mais combien de temps? et comment je peux purger la session, du style, je me suis authentifié il y a 10 min, et l'acces a ma page php avec include est encore valide sans que j'ai eu a passer par l'authentification?? il y a un temp qui dit que c encore bon pour l'authentification, il est ou se fichier?? c dans phpmyAdmin que je vois ca? y a t il moyen de remettre a 0 cette session de telle sorte que l'util soit obligé de repartir sur auth.php?

je sais pas si je m'exprime bien, mais pour les null, y a pas d'autres solutions.

Je vais aller voir aussi sur phpdebutant.

MERCI encore

Eléphant du PHP | 86 Messages

29 déc. 2005, 16:03

je sais pas si je m'exprime bien, mais pour les null, y a pas d'autres solutions.
Pas d'accord

Sinon et bien tu es identifié tant que tu ne ferme pas la fenêtre (vu que t'a pas de cookies) et que tu es sur le site (je crois) sinon et bien met toi au cookies :p

Eléphant du PHP | 153 Messages

29 déc. 2005, 16:09

La session n'est pas active tant qu'on ne ferme pas la fenetre il se peut qu'elle coupe avant cela doit coorespondre a un parametre de configuration mais je ne sais pas lequel

ViPHP
fab
ViPHP | 2657 Messages

29 déc. 2005, 16:09

Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }