dificulté avec easyphp dans le php et avec les sessions

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 : dificulté avec easyphp dans le php et avec les sessions

par Truc » 13 mai 2006, 18:27

N'oublis pas le [Résolu] si c'est le cas :)

par newto0 » 12 mai 2006, 09:21

Merci beaucoup pour l'aide.

je n'avais pas pu repasser afin de vous remercier de l'aide.

En effet, j'avais plusieurs modif à effectuer dans config.ini

auquel se rajoutai un blocage de mon firewall

par Truc » 09 mai 2006, 00:39

cette ligne aussi tu dois la remplacer:
session_register("admin"); 
par
$_SESSION['admin'] = "oui"; // si c'est un admin ou non si ce n'en est pas un 
j'avais déjà fait la remarque :?
Si votre script utilise session_register(), il ne fonctionnera pas dans les environnements où register_globals est désactivée.

par newto0 » 08 mai 2006, 23:57

il y est.

tout fonctionne en ligne sauf sous easy ou je doit tout modifier
et idem pour les sessions qui ne passent pas.

par Cyrano » 08 mai 2006, 23:42

il manquerait pas un session_start() quelque part ici où là ? :-k

par newto0 » 08 mai 2006, 23:38

le soucis est que je ne récupere pas mes variables de sessions

donc authentification impossible

par Cyrano » 08 mai 2006, 23:21

if (isset($_SESSION['admin']) && ($_SESSION['level'] == "1"|| $_SESSION['level'] == "2"   ))
{}
else
{			echo "<center><br><br><b>Accés RESERVE !</b></center>";
echo $_SESSION['level'];
echo $_SESSION['pseudo'];
	exit();
}
Pourquoi faire simple quand on peut faire compliqué :?:
Essaye donc comme ceci :
<?php
if (!isset($_SESSION['admin']) || ($_SESSION['level'] != "1" || $_SESSION['level'] != "2"   ))
{
    echo "<center><br><br><b>Accés RESERVE !</b></center>";
    echo $_SESSION['level'];
    echo $_SESSION['pseudo'];
    exit();
}
?>

par newto0 » 08 mai 2006, 23:04

par contre j'ai tjrs un souci avec ma session
	
////Je crée ma session
    session_register("admin"); 
		
		$_SESSION['level'] = $row_verif['level'];		
		$_SESSION['prenom'] = $row_verif['prenom'];
		$_SESSION['pseudo'] = $row_verif['pseudo']; 
je n'arrive tjrs pas a récupérer les infos de session
if (isset($_SESSION['admin']) && ($_SESSION['level'] == "1"|| $_SESSION['level'] == "2"   ))
{}
else
{			echo "<center><br><br><b>Accés RESERVE !</b></center>";
echo $_SESSION['level'];
echo $_SESSION['pseudo'];
	exit();
}
ne passe tjrs pas

par Truc » 08 mai 2006, 22:44

le meilleur c'est la doc (édit) ** ou Cyrano :langue: **
Mais tu n'auras pas vraiment besoin d'un tuto étant donné qu'il s'agit d'une simple fonction (beaucoup utilisée) qui teste l'existence du paramètre qui lui est passé.

par Cyrano » 08 mai 2006, 22:44

Pas besoin d'un tuto, je vais te l'expliquer en une ligne:

isset() détermine si le paramètre est défini ou non et retourne TRUE si c'est le cas, FALSE dans le cas contraire: c'est tout.

Donc quand tu fais if(isset($mavar)), les instructions qui suivent le if() seront exécutées si TRUE est retourné, donc si la variable $mavar est définie... (même vide, attention à ce détail !)

par newto0 » 08 mai 2006, 22:38

merci beaucoup

me reste plus qu'a trouver un bon tutorial sur isset

par Truc » 08 mai 2006, 22:34

effectivement d'où l'importance de tester l'existence des variables avec isset()
( opérateur ternaire )
$JJ = (isset($_POST['JJ'])) ? $_POST['JJ'] : null;

par newto0 » 08 mai 2006, 21:09

Effectivement cela reduit mes erreurs,

mais lors de l'affichage de la page du formulaire la premiere fois
$JJ = $_POST['JJ'];
$_POST['JJ'] n'a aucune valeur donc $JJ aussi.

et toujours Undefined index: JJ

par Truc » 08 mai 2006, 16:05

$_POST['JJ'] = $post;
Plustot l'inverse:
$JJ = $_POST['JJ'];
Tu dois certainement avoir les mêmes erreurs en lignes sauf qu'elles ne sont pas affichées.

Donc pour les vareiables du formulaire tu dois les récupérer comme dans le code précédent.

Pour les sessions tu ne dois plus utiliser "session_register()" et "session_is_registered()" mais isset() avec la variable de session:
$_SESSION['admin'] = ""; // ce que tu veux


if (isset($_SESSION['admin']) && ($_SESSION['level'] == "1"|| $_SESSION['level'] == "2"   ))
{}

par agité » 08 mai 2006, 15:15

Register global ?

quand par exemple tu passe en POST des donnée il faut les redefinir dans ta nouvel page par exemple :
$_POST['JJ'] = $post;
et utiliser par la suite la variable $post.

Je ne sais pas si ca repond a ta question mais j'ai eut le soucis donc au cas ou