Les sessions. Toujours 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 : Les sessions. Toujours les sessions.

par thehawk » 30 avr. 2007, 21:34

une bonne méthode pour debug est de faire etape par étape et de faire de nombreux echo afin de verifier si il n'y pas d'erreur d'interpretation etc ...


@+ thehawk

Je relance mon message, car je ne trouve pas de solution.

par Christophe S. » 30 avr. 2007, 21:22

Bonsoir à tous, me voici en train de relancer mon message, car je déséspère de ne pas trouver de solution.

Etant débutant en php/mysql, j'ai un peu de mal à débuguer pour le moment.

Encore merci par avance à celles et ceux qui vont continués de traiter mon sujet.

Christophe.

Oupsss je me suis trompé !!!

par Christophe S. » 30 avr. 2007, 11:35

En effet je me suis trompé ma version de php est la 5.2.1

Tous mes excuses, Christophe.

Re: Complément d'informations

par Sékiltoyai » 30 avr. 2007, 11:08

Ma version de php est 5.0.37
Cette version n'existe pas...

Complément d'informations

par Christophe S. » 30 avr. 2007, 09:50

Rebonjour,

Je vous remercie de m'avoir répondu aussi rapidement.

Pour ce qui concerne mon session_start il n'y a pas de soucis, celui-ci est placer avant tous code html de ma page index.php qui inclue toutes mes autres page via les pseudos-frames.

Ma version de php est 5.0.37 et ma version mysql est 5.0.37.

Encore merci pour vos nombreuses réponsses.

Cordialement, Christophe.

PS : Je part travailler je ne pourais vous répondre aujourd'hui.

par Ryle » 30 avr. 2007, 09:37

Je ne vois pas de session_start() c'est normal ? s'il est bien présent, quelle version de php utilises tu ? As-tu essayé de suivre les conseils du message d'avertissement ? :)

Pour ton second soucis, tu verras très souvent cette phrase sur les forums de phpfrance : "Il faut sortir vos variables des chaines" :) Cela rend le code plus lisible et évite ce genre d'inconvénient, car pour rappel, une variable entre guillemets est intereprétée, une variable entre apostrophes ne l'est pas :
'La maison de '.$_SESSION['nom'].' est de couleur '.$_SESSION['couleur'].'.';

Les sessions. Toujours les sessions.

par Christophe S. » 30 avr. 2007, 09:12

Bonjour à tous,

Je suis une fois de plus de retour avec mes problèmes de sessions !!!
A croire que je le fait exprès, mais je pensse plutôt que je m'y prend très mal.

Pour ce qui ne s'en souviennent pas, ou qui n'étaient pas là, je rapelle un petit peut ma situation.

Sur mon site web, j'ai créer une page d'authentification vers les comptes utilisateurs de mon site.

Ces comptes utilisateurs sont basés sur les sessions php.

Après avoir créer le formulaire d'authentification, la connexion à la base de donnée, la récupérations des informations utilisateurs etc...

Je me retrouve face à deux problèmes :

Le premier est un message d'erreur que j'obtient après l'authentification, malgré que mes variables passent correctement sur ma page :

'Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3.
Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled.
You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0'
Mon second problème lui, porte plutôt sur ma manière de coder mes affichages de variable, je pensse que j'utilise très mal 'echo' pour les affichées :
Exemple : echo 'La maison de $_SESSION['nom'] est de couleur $_SESSION['couleur'].';
Je vous dépose ici la partie de code sur laquelle je travail en ce moment :

Code : Tout sélectionner

<?php if(isset($_POST['connexioncompte_idcc'])) $connexioncompte_idcc=$_POST['connexioncompte_idcc']; else $connexioncompte_idcc=""; if(isset($_POST['connexioncompte_mdpcc'])) $connexioncompte_mdpcc=$_POST['connexioncompte_mdpcc']; else $connexioncompte_mdpcc=""; if ($connexioncompte_idcc==='Identifiant' or $connexioncompte_idcc==='') { echo '<div align="center"><span class="Style2"><br><b>Veuillez nous indiquer votre Identifiant de connexion, puis compl&eacute;ter votre Mot de passe.</b></br></span></div>'; } elseif ($connexioncompte_mdpcc===' ' or $connexioncompte_mdpcc==='') { echo '<div align="center"><span class="Style2"><br><b>Veuillez nous indiquer votre Mot de passe de connexion, puis compl&eacute;ter votre Identifiant.</b></br></span></div>'; } else { extract($_POST); $db = mysql_connect('****', '****', '****') or die('<div align="center"><span class="Style2"><br><b>La tentative de connexion &agrave; la base de donn&eacute;es a &eacute;chou&eacute;e, merci de bien vouloir r&eacute;&eacute;ssayer ult&eacute;rieurement.</b></br></span></div>'); mysql_select_db('moncompte_client',$db) or die('<div align="center"><span class="Style2"><br><b>Impossible de s&eacute;l&eacute;ctionner la base de donn&eacute;es, merci de bien vouloir r&eacute;&eacute;ssayer ult&eacute;rieurement.</b></br></span></div>'); $sql = "SELECT id, titre, nom_societee, numerosiret, nom, prenom, adresse, codepostal, ville, commune, pays, telfixe, telmobile, mdpcc, confirmmdpcc, email FROM moncompte_client WHERE idcc = '".addslashes($connexioncompte_idcc)."'"; $req = mysql_query($sql) or die('<div align="center"><span class="Style2"><br><b>La tentative de connexion &agrave; la base de donn&eacute;es a &eacute;chou&eacute;e, merci de bien vouloir r&eacute;&eacute;ssayer ult&eacute;rieurement.</b></br></span></div>'); if (mysql_num_rows($req) > 0) { $data = mysql_fetch_assoc($req); } if ($connexioncompte_mdpcc == $data['mdpcc']) { $_SESSION['id'] = $data['id']; $_SESSION['titre'] = $data['titre']; $_SESSION['nom_societee'] = $data['nom_societee']; $_SESSION['numerosiret'] = $data['numerosiret']; $_SESSION['nom'] = $data['nom']; $_SESSION['prenom'] = $data['prenom']; $_SESSION['adresse'] = $data['adresse']; $_SESSION['codepostal'] = $data['codepostal']; $_SESSION['ville'] = $data['ville']; $_SESSION['commune'] = $data['commune']; $_SESSION['pays'] = $data['pays']; $_SESSION['telfixe'] = $data['telfixe']; $_SESSION['telmobile'] = $data['telmobile']; $_SESSION['idcc'] = $data['idcc']; $_SESSION['mdpcc'] = $data['mdpcc']; $_SESSION['confirmmdpcc'] = $data['confirmmdpcc']; $_SESSION['email'] = $data['email']; echo $_SESSION['email']; } else{ echo '<div align="center"><span class="Style2"><br><b>L\'identifiant et / ou le Mot de passe que vous avez entr&eacute;s sont incorectes,</br><br>Merci de bien vouloir ressaisir votre Identifiant / Mot de passe.</b></br></span></div>'; } mysql_close(); } ?>
Je vous remerci par avance des multiples informations que vous porterez à mon sujet.
Bonne journée.

Christophe.
[/code]