c 'est incroyable ce que je peux écrire comme conneries
J'ai un petit problème, c'est que les variables de session que je crée dynamiquement par les methodes de mes objets ne semblent pas perdurer avec le rechargement des pages...
Quelqu'un sait il pourquoi?
c 'est incroyable ce que je peux écrire comme conneries
Non, non,
En fait c'est une classe(eh oui maintenant j'arrète plus) de recherche d'entrée sql qui permet notamment d'enregister les reésulats dans les varibles de session.
Plus clairement, l'utilisateur se connecte, il envoi les $_POST à ma classe qui reherche dans la base son login et pass et eventuellement enregistre le reste des varibales(photo, adresse mail, ...) dans la session.
Les variables de session sont donc déclarées dans ma méthode et je pense que c'est ça qui les empèche de perdurer.
faut lui laisser ca, la personne commence a programmer en classes :)
J'en connais pas beaucoup qui font cet effort la ;)
Et je pense que si les remarques sont constructive, ca ne gene pas ^^
Question: Pourquoi déclarer les classes avant le "session_start()" ?
J'ai toujours mis le session_start() en haut de ma page index.php (qui est la seule page visible de mon site), avec des dizaine d'include dedans.il serait assez difficile de mettre le session_start() apres la déclarations des classes ^^.
Ou alors t'as fait une faute de frappe ;), et tu voulais dire avant :)
Sachant que le tableau $_SESSION est remplit lors de l'exécution de session_start, comment PHP peut savoir quelle est la structure de la classe à ce moment là puisqu'elle n'est pas encore déclarée ?
Enfin, j'dis ça, mais la doc l'explique mieux que moi ;-)
ouep, enfin c'est un cas precis ou l'on stocke un object dans une session. Ce qui n'est pas trop recommander d'ailleur, car ca alourdis le serveur (peut etre pas sur une centaine de connexion, mais sur les millers...)
Mais sinon, dans ce cas la effectivement :)
Enfin, ca doit rester rare je pense ^^
c 'est incroyable ce que je peux écrire comme conneries
Mon sesion_start() est toujours en haut, au début de mes pages.
Pour les "commentaires" sur le script je suis ultra preneur même les plus méchants du moment que je peux en faire quelque chose.
L'idée de ma classe c'est de récuperer ou inserer des données dans ma table et éventuellement les mettre en session ou cookies, ça me sert énormément. Si c'est une connerie faut me le dire... :)
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
Bon, il y avait de TRES nombreuses erreurs.
La plus flagrante étant "if($session = true)". Avec un seul égal, ça ne peut pas fonctionner car c'est une affectation et non une comparaison.
Ensuite :
1/ affectes des variables locales et non des propriétés de classes inexistante ($requete et non $this->requete, cette dernière n'étant pas déclarée par un "var" dans la classe.
2/ Ton constructeur de classe ne servait à rien
3/ Je t'invite à découvrir les joies de la fonction implode et array_keys
4/ oublies "while(list=each)" et goûtes à la simplicité de "foreach"
5/ Ta méthode "insertion" avait des paramètres inutilisés ?!? ($session et $cookie)
6/ Pourquoi retourner "insertok" alors que ce sera TOUJOURS le cas sauf quand ça plante, mais il y a un "die"
7/ Oublies le "SELECT *"
8/ Pour un SELECT, c'est mysql_num_rows et non mysql_affected_rows
9/ Utilises mysql_fetch_assoc qui retourne directement un tableau associatif (ça fait sauter de nombreuses lignes de code)
10/ Utilises un entier plutôt que des paramètres booléens
11/ Evites de mélanger anglais et français ($requete et $result)
12/ Ton approche objet est à revoir. Tu ne sembles pas comprendre à quoi ça sert vraiment. Inutiles de faire des classes si c'est pour faire ce genre de chose.
Voilà, c'est déjà pas mal.
En prime, voici ton code revu (et encore je ne trouve pas ça très objet!):