Premiers pas en php/ Ouverture de session et redirection

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 : Premiers pas en php/ Ouverture de session et redirection

Re: Premiers pas en php/ Ouverture de session et redirection

par duvalwaafti » 16 nov. 2010, 22:53

Cherchez plus j'ai trouvé :D

Je mettais pas 'LOCATION:.....'

Je notais juste le nom du fichier sur le serveur.

Désolé du dérangement et encore merci.

Re: Premiers pas en php/ Ouverture de session et redirection

par duvalwaafti » 16 nov. 2010, 22:46

Bonsoir,

Je viens de tester mais la redirection me laisse sur la page avec le lien "isset" ???

J'ai essayé en redirigeant vers une page sans php et même résultat.

Re: Premiers pas en php/ Ouverture de session et redirection

par duvalwaafti » 16 nov. 2010, 08:38

Merci du complément... :D

Re: Premiers pas en php/ Ouverture de session et redirection

par Ryle » 15 nov. 2010, 23:06

Il y a bien un if(), c'est juste le else qui n'est pas nécessaire ici :)

le isSet() te permet de tester la présence de ta variable dans la session de l'utilisateur. Il y a d'autre façon de le faire, mais c'est à mon sens le plus logique : si ta variable n'est pas définie en session, tu rediriges l'utilisateur vers ta page d'accueil (et on arrête le script avec exit()).

Le "else" n'est pas utile puisque si la variable est définie en session on ne redirige pas l'utilisateur et on exécute le reste du script normalement...

Re: Premiers pas en php/ Ouverture de session et redirection

par duvalwaafti » 15 nov. 2010, 20:32

Merci de ta réponse.

Puis je poser encore une question ....

Pourquoi mettre un isset et pas un if else ?

A cause de la redirection "header" ?

Re: Premiers pas en php/ Ouverture de session et redirection

par Ryle » 15 nov. 2010, 00:20

En effet, sur ta page d'accueil il te faut :
<?php
session_start();
$_SESSION['INDEX'] = 1; // ou toute autre valeur, mais je suis pas sur que ta variable $OUI existe..
?>
A noter que tu peux aussi conditionner le moment où tu mets ta valeur en session (en gros, tu pourrais ne le mettre qu'au moment ou l'utilisateur s'authentifie ou autre, suffit d'un if() et de la condition qui va bien :))

Puis sur tes autres pages :
<?php
session_start();
if (!isSet($_SESSION['INDEX'])) { // si la variable n'est pas définie en session
   header('Location: chemin_vers_ta_page_d'accueil.php'); // on redirige l'utilisateur
   exit(); // pas la peine d'aller plus loin
}
?>

Re: Premiers pas en php/ Ouverture de session et redirection

par duvalwaafti » 14 nov. 2010, 18:45

Bonsoir,

J'aurais donc du mettre (sur la page index.php)

<?PHP
SESSION_START()
$_SESSION ['INDEX'] =$OUI ;
?>

Pour les pages suivantes j'aurais du mettre 'index' à la place du 'OUI' ?

Je sais je suis TRES novice mais je réflechis en même temps que j'écris (ou j'essaie de réflechir :D )

Tu as soulevé un autre point, je peux rediriger vers l'accueil par le header ??? sans me tracasser de ces autres points !

Re: Premiers pas en php/ Ouverture de session et redirection

par Ryle » 14 nov. 2010, 18:32

As-tu bien un session_start() au début de chacune des pages où tu as besoin de faire appel à $_SESSION ? (démarrer la session est indispensable pour pouvoir écrire ou lire le contenu des variables en session)

Autre point : si sur ta page d'accueil tu déclares en session la variable $_SESSION['INDEX'] (quelle que soit sa valeur), c'est cette variable que tu dois contrôler dans les pages suivantes (et non pas une autre variable $_SESSION ['OUI'])

Si ta variable n'est pas présente en session, alors tu peux rediriger l'utilisateur vers ta page d'accueil avec un header()

Premiers pas en php/ Ouverture de session et redirection

par duvalwaafti » 14 nov. 2010, 18:17

Bonsoir,

Ce n'est pas que je veuille me faire mal mais depuis ce midi je chipote dans des codes et certains fonctionnent d'autres moins bien :shock:

Le thème de ce forum étant le php, je ne vais pas vous parler de mon javascript car lui fonctionne.

Mon problème est le suivant :

Je voudrais forcer les visiteurs de mon site web a passer par la page index afin qu'il valide le script disclaimer en javascript. Le moyen le plus simple (et je pense plus efficace) est la gestion des variables de sessions.

En cherchant quelque peu j'ai "pondu" les codes ci-dessous mais ca marche pas ....

Sur ma page index : où je pense indiquer que l'on débute une session

<?PHP
$_SESSION ['INDEX'] =$OUI ;
?>

doctype .......

et dans le <body> mon script Javascript


Sur mes autres pages : où je vérifie si le visiteur est bien passé par le disclaimer avec la variable de session

<?PHP
if (isset($_SESSION ['OUI'])
else (/index.php)
?>
doctype ......


Pourriez vous me donner un petit coup de main car là je crains de planter peut-être un chemin déjà débuter....

Merci