Aller au contenu
View in the app

A better way to browse. Learn more.

Next

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Resolu]PHP bug de session:

Featured Replies

Posté(e)

Bonjour:

Je suis en train de crée un site pour la communauté cs:source et j'ai un bug de session. Regardez vous meme: http://avalonclub.free.fr/index.php3

Logué vous avec : login = anonyme, pass = lol

Ensuite quand vous êtes logué passez de "Mes paramètre personnelles à mes controles" et la session s'en va je sait pas pourquoi. Par contre si vous naviguez dans mes contrôles elle reste. Pourtant c'est le meme systemes dans mes controles que pour passé de mes parametre personnelles à mes controles.

J'ai utilisé la global $_SESSION pour mes sessions donc je vois pas ou est le probleme.

Merci de m'aider et ++

PS: j'ai fait le naab je me croyais dans programmation, si un modo voulais déplacé le sujet :zarb: . Ne me fouettez pas non :zarb::transpi: . Désolé pour vous faire perdre votre temps

Modifié par furius_ang3l

Posté(e)

T'aurais pas un bout de code à montrer ? :zarb:

J'ai esayé et en effet la session s'enlève quand on passe à "Mes Controles".

Posté(e)
  • Auteur

Voici la page login:

<?

if(isset($_POST['login']))

{

$membre = addslashes($_POST['pseudo']);

$passw = $_POST['pass'];

$pass = md5($passw);

$res = mysql_query("SELECT pass, active FROM membres WHERE login='$membre'") or die('Erreur avec la base de donnée !<br>'.$res.'<br>'.mysql_error());

$req = mysql_fetch_array($res);

$active = $req['active'];

if($active == 0)

{

echo 'Vous devez activer votre compte pour pouvoir vous loguer';}

else{

if($pass != NULL && $req['pass'] == $pass) //On regarde si le password correspond

{//S'il correspond c'est ok

session_register("membre");

$_SESSION['membre'] = $membre;

$_SESSION['pass'] = $pass; ?>

<script language="javascript">

<!--

document.location.href="index.php3?page=login_controle"

//-->

</script>

<?

}

else// Sinon on affiche erreur

{

echo '

<table border="0" width="100%"><tr><td><center><strong><font color="bb202e" size="+2">Mauvais login ou mot de passe!</font></strong><br>

</td></tr></table>

'; require('membre/block.php3');

}}}

else{ ?>

<script language="javascript">

<!--

document.location.href="index.php3?page=erreur"

//-->

</script>

<?}

?>

Le code pour identifé pour la page Mes paramètres personnelles:

if(session_is_registered("membre"))

{

if(!isset($_POST['perso']))

{

$result = mysql_query("SELECT * FROM membres where login = '$_SESSION[membre]' AND pass = '$_SESSION[pass]'") or die('Erreur avec la base de donnée !<br>'.$result.'<br>'.mysql_error());

while ($membre=mysql_fetch_array($result))

{[code...]}

}

else{ echo' Vous n\'avez pas le droit d\'accèder à cette page !!!'; }

code de la page controle

<?

if(session_is_registered("membre"))

{

$sql = mysql_query("SELECT * FROM membres where login = '$_SESSION[membre]' and pass = '$_SESSION[pass]'") or die('Erreur avec la base de donnée !<br>'.$sql.'<br>'.mysql_error());

while($data = mysql_fetch_array($sql))

{

}}

else{ echo' Vous n\'avez pas le droit d\'accèder à cette page !!!'; }

Entre autre les deux pages marchent, mes dans controles ca fonctionne et parametre perso ca déconne...

merci et ++

Posté(e)

Je ne suis pas un pro en php mais dans ta page des Paramètres Personnels y a ça qui me gêne :

if(!isset($_POST['perso']))

{

$result = mysql_query("SELECT * FROM membres where login = '$_SESSION[membre]' AND pass = '$_SESSION[pass]'") or die('Erreur avec la base de donnée !<br>'.$result.'<br>'.mysql_error());

while ($membre=mysql_fetch_array($result))

{

[code...]}
}

Moi j'aurais plutôt fait un truc du genre :
if(!isset($_POST['perso']))
{
$membre=$_SESSION['membre'];
$pass=$_SESSION['pass'];
$result = mysql_query("SELECT * FROM membres where login = '$membre' AND pass = '$pass'") or die('Erreur avec la base de donnée !<br>'.$result.'<br>'.mysql_error());
while ($membre=mysql_fetch_array($result))
{[code...]}
}

C'est à dire mettre les valeurs de $_SESSION['membre'] et $_SESSION['pass'] (tu avais oublié les '' dans ton code, mauvais recopiage ou erreur dans ton code ?) dans des variables comme tu l'avais fait pour la page de login. Il y a les mêmes erreurs dans la page de contrôle.

p.s: je ne suis pas sûr de mon coup, je débute en php ;)

Posté(e)
  • Auteur

Bah ecoute merci quand meme toutes les propositions sont ouvertes. Je vais essayé maintenant.

Pour les '' faut pas les mettre dans la requete sinon ca me fait un zoli parse error

merci + ;)

Je viens d'essayer: ca fait toujours le meme bug ;)

Problème résolu j'avais mis un nom de variable identique a $membre dans mon code.

merci ++

Modifié par furius_ang3l

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.