Petite question sur les sessions sessions_start()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Petite question sur les sessions sessions_start()

par Cyrano » 07 nov. 2005, 00:52

J'ajouterais quand même une chose : le test est incomplet :
<?php
session_start();
if(!isset($_SESSION['pseudo']) || empty($_SESSION['pseudo']))
{
    // On affiche ce message d'erreur
    include('_files/_perso/auth.php');
}
// sinon, la session "login" est enregistrée
else
{
    // On affiche le message de bienvenue
    echo "<center>Bienvenu sur votre espace membre $pseudo</center>";
}
?>
Là, on vérifie non seulement que la variable de session existe mais également qu'elle n'est pas vide.

par Block » 06 nov. 2005, 22:18

Arf lol c'est bon. Il suffisait de mettre
session_start(); 
tout en haut de la page ;)

Merci à tous...

par gyzmo45 » 06 nov. 2005, 22:07

dans le include normalment ce sont des "" et non pas des ''
include("_files/_perso/auth.php");
essaye toujours sinon moi après je peux plus t'aider, faudra attendre le chef

par Pieterjan » 06 nov. 2005, 22:06

faur rajouter les {}.
<? session_start();
                 if(isset($_SESSION['pseudo'])) {
                // On affiche ce message d'erreur
                  include('_files/_perso/auth.php');
                  // sinon, la session "login" est enregistrée
                   } else {
                    // On affiche le message de bienvenue
                    echo "<center>Bienvenu sur votre espace membre $pseudo</center>";
                 }
                  ?>

par Block » 06 nov. 2005, 22:02

Perdu, j'avais déja essayé ca.
Cela me donne :
Parse error: parse error, unexpected T_ELSE in /home/xxx/public_html/web/index.php on line 71
Une idée, une suggestion?? Thx

par Block » 06 nov. 2005, 22:01

Perdu, j'avais déja essayé ca.
Cela me donne :
Parse error: parse error, unexpected T_ELSE in /home/xxx/public_html/web/index.php on line 71
Une idée, une suggestion?? Thx

par Jawad » 06 nov. 2005, 21:42

Perdu cyranon :lol:

par gyzmo45 » 06 nov. 2005, 21:39

voilà la correction
<? session_start();
                 if(isset($_SESSION['pseudo']))
                // On affiche ce message d'erreur
                  include('_files/_perso/auth.php');
                  // sinon, la session "login" est enregistrée
                    else
                    // On affiche le message de bienvenue
                    echo "<center>Bienvenu sur votre espace membre $pseudo</center>";
                  ?>

par Block » 06 nov. 2005, 21:16

Voilà le code modifié :
				  <? session_start(); 
				  isset($_SESSION['pseudo']);
				// On affiche ce message d'erreur 
				  include('_files/_perso/auth.php'); 
				  // sinon, la session "login" est enregistrée 
					else 
					// On affiche le message de bienvenue 
					echo "<center>Bienvenu sur votre espace membre $pseudo</center>"; 
				  ?>
Cela ne colle pas, d'ou vient le problème? j'ai à peu prés tout essayé, j'ai encore du mal comprendre quelque chose :(

Thx

par Cyrano » 06 nov. 2005, 21:11

Sans voir le code, aucune idée, mais je parie pour un ";" oublié à la fin de l'instruction de la ligne précédente.

par Block » 06 nov. 2005, 21:10

Merci, mais maitenant j'ai cette erreur :
Parse error: parse error, unexpected T_INCLUDE in /home/lanato/public_html/web/index.php on line 69
Cela signifie quoi? MErci[/code]

par Cyrano » 06 nov. 2005, 21:05

Avec session_start(), on utilise pas
session_is_regstered(pseudo)
mais
isset($_SESSION['pseudo'])
Ceci dit, si tu as une erreur comme celle affichée, c'est parce que du contenu a déjà été envoyé vers le navigateur à cet endroit du script : session_start() doit être expréssément la première ligne de la page. Si ton script est inclus dans un autre, alors c'est dans l'autre qu'il faut mettre le session_start et non dans le fichier inclus.

Petite question sur les sessions sessions_start()

par Block » 06 nov. 2005, 20:51

Bonsoir amis du php,
J'aurais bien aimé savoir ce que signifiait cela :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/xxx/public_html/web/index.php:2) in /home/xxx/public_html/web/index.php on line 66
j'ai ceci qui s'affiche avec ce code :
<? session_start(); 
				  if(!session_is_registered(pseudo)) { 
				// On affiche ce message d'erreur 
				  include ('_files/_perso/auth.php'); 
				  }
				  // sinon, la session "login" est enregistrée 
					else { 
					// On affiche le message de bienvenue 
					echo "<center>Bienvenu sur votre espace membre $pseudo</center>"; 
					} 

				  ?>
Je ne comprend pas pourquoi il n'affiche pas
Bienvenu sur votre espace membre $pseudo
Merci de m'expliquer :)