shano
Messages postés2Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 6 octobre 2004
-
6 oct. 2004 à 00:06
kimmelf2
Messages postés267Date d'inscriptionlundi 22 septembre 2003StatutMembreDernière intervention27 novembre 2005
-
8 oct. 2004 à 23:51
Bonjour à tous!
et oui, j'ai un pb.
Je m'excuse d'avance sincèrement du fait que je vous montre autant de ligne de code et j'espère que vous ne m'en voudrez pas trop.
Voilà mon pb:
je ve authentifier un utilisateur j'ai une base de donnée avec une table machine avec des couples (machin, truc)
et après la saisie je les compare à la base pour l'authentification et selon "truc" j'affiche une fenêtre ou une autre.
voici la page qui fait le test et la redirection selon "truc"
======================================
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 2 Transitional//EN"
3 "http://www.w3.org/TR/html4/loose.dtd">
4 <?php require('connexion.php'); //if ($PHPSESSID)
5 session_start();
6 if (isset($_POST['machin'])){ // execution apres envoi du
7 formulaire
8 $machin = $_POST['machin']; // mise en variable du nom de la
9 machine
10 $truc = ($_POST['truc']);
11
12 switch($truc){
13 case 1: $truc_reel="bonbon";
14 break;
15 case 2: $truc_reel="sucette";
16 break;
17 }
18 // requete sur la table bonbon(on récupère les infos de la
19 personne)
20 mysql_select_db($bddnom,$bdprotect) or die("impossible de 21 se connecter à la base de données, re-essayer plus tard");
22 $verif_query=sprintf("SELECT * FROM machinesWHERE 23machin='$machin' AND truc='$truc_reel'");
24 $verif = mysql_query($verif_query, $bdprotect) or die
25(mysql_error());
26 $row_verif = mysql_fetch_assoc($verif);
27 $machine = mysql_num_rows($verif);
28
29 if ($machine) {// On test s'il y a une machine correspondante
30 session_register("authentification"); // enregistrement 31 de la session
32
33 $_SESSION['machin'] = $row_verif
34 ['machin']; //déclaration d'une variable de session:le machin
35 switch($truc){
36 case 1:header
37("Location:accueil_bonbon.php"); // redirection si bonbon 38reconnu
39 break;
40 case 2:header
41("Location:espace_sucette.php"); // redirection si sucette 42reconnu
43 break;
44 }
45 }
46 else{
47 header("Location:espace_reserve.php?48erreur=machin"); // redirection si machine non reconnu
49 }
50}
51else{
52 header("Location:espace_reserve.php?erreur=machin"); // 53redirection si machine non reconnu
54}
55
56?>
========================================
voici le résultat que j'obtiens sur le net alors qu'en local la redirection se fait sans problème:
========================================
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/6/c/login/redirection_espace.php:4) in /var/www/free.fr/6/c/login/redirection_espace.php on line 7
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/6/c/login/redirection_espace.php:4) in /var/www/free.fr/6/c/login/redirection_espace.php on line 7
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/6/c/login/redirection_espace.php:4) in /var/www/free.fr/6/c/login/redirection_espace.php on line 55
=========================================
cs_Psy
Messages postés88Date d'inscriptionmercredi 15 mai 2002StatutMembreDernière intervention 3 mai 2005 6 oct. 2004 à 16:04
Salut !
Essaye avec ton entête ainsi :
1 <?php require('connexion.php'); //if ($PHPSESSID)
2 session_start();
3 if (isset($_POST['machin'])){ // execution apres envoi du
4 formulaire
5 $machin = $_POST['machin']; // mise en variable du nom de la
6 machine
7 $truc = ($_POST['truc']);
8
9 switch($truc){
10 case 1: $truc_reel="bonbon";
11 break;
12 case 2: $truc_reel="sucette";
13 break;
14 }
15
16<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 2 Transitional//EN"
17 "http://www.w3.org/TR/html4/loose.dtd">
shano
Messages postés2Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 6 octobre 2004 6 oct. 2004 à 16:18
Merci à vous deux:Magidev et Psy!!!
2 des 3 warning sont enlevés
il me reste encore celui avec le cache limiter mais cette fois-ci ce warning est transmis à la page suivante.
vous m'avez vraiment bien aidé surtout quand on sait que je ne comprend pa gran chose au session et que c mon premier site et mon premier développement en php
kimmelf2
Messages postés267Date d'inscriptionlundi 22 septembre 2003StatutMembreDernière intervention27 novembre 2005 8 oct. 2004 à 17:36
j'aurais une petite question a vous poser , je suis nul en sessions et je cherche des infos.
en fait, on retien que le user est enregistre en enregistrant une variable particuliere dans la session ? si cette variable a une valeur, on affiche la page normallement, sinon on renvoie sur le script de log ???????
Vous n’avez pas trouvé la réponse que vous recherchez ?
kimmelf2
Messages postés267Date d'inscriptionlundi 22 septembre 2003StatutMembreDernière intervention27 novembre 2005 8 oct. 2004 à 17:36
j'aurais une petite question a vous poser , je suis nul en sessions et je cherche des infos.
en fait, on retien que le user est enregistre en enregistrant une variable particuliere dans la session ? si cette variable a une valeur, on affiche la page normallement, sinon on renvoie sur le script de log ???????
kimmelf2
Messages postés267Date d'inscriptionlundi 22 septembre 2003StatutMembreDernière intervention27 novembre 2005 8 oct. 2004 à 23:51
pas trop mal mais j'ai pas tout pige.
je t'explique ce que je veux faire :
il sagit d'un groupe d'application + plusieurs sites. je m'explique :
tu prends plusieurs appli de base, genre un carnet d'adresse, un mini webmail, un calendrier ..... tu melange et tu obtiens ce qu'in appelle un groupware. tu peux aller voire le site www.egroupware.org pour un tres bon exemple. xhaque appli est en fait une classe qui vient s'ajouter ou non dans le menu de l'appli principale en fonction de la config de l'utilisateur
il y'a une application module particuliere : l'editeur de site. j'en parle car ca implique un niveau supplementaire a gerer dans les droits d'acces :
il me faut donc 3 niveau d'acces :
-1- anonyme : c'est le visiteur de site basique
-2- user : il peut aussi utiliser les applications du groupware mais ne peut les administrer que dans certaines limites
-3- admin : peut tout faire
chaque utilisateur est enregistre dans une bdd avec son pass, son niveau d'acces ...... standard quoi
donc mon pb de session va se resoudre a ca : mettre en place un systeme pour que chaque application puisse savoir si l'utilisateur est "sessionnisé", si sa session a expirer ou non, connaitre ses droits d'acces ......