Système de login

Maxifruit
Invité n'ayant pas de compte PHPfrance

25 sept. 2007, 20:23

Bonjour à tous!

Voilà,

Je suis présentement en train de faire un système de connexion en php pour mon site web, mais je suis rendu avec un code très compliqué et long. J'ai la forte impression qui doit avoir beaucoup plus simple que ce que je fais.

Je vous explique se que je voudrais.

Très simple, la personne entre son nom et son mot de passe et si elle coche la petite case "rester connecté" même si la personne ferme le navigateur web une fois qu'elle revient sur le site elle est automatiquement connecté et la session est crée. La connexion automatique est désactivée seulement lorsque la personne clique sur "déconnecter".

Bref, un système comme pas mal tous les sites web ou encore identique au forum de phpbb.

Si quelqu'un aurait le code requis se serait sympa, je peux m'arranger pour modifier le script pour qu'il fonctionne sur mon site.

Merci!

Maxifruit

Eléphant du PHP | 187 Messages

25 sept. 2007, 21:14

Lut,
plutot que de te filer un code tout fait, je te propose une demarche constructive.
-premierement : tu verifies si le formulaire est validé esn vérifiant que la variable $_POST['le_nom_de_ton_submit'] est définie ou si un cookie a été placé auparavant.
-ensuite, tu verifies dans ta bdd, si un enregistrement contient le mot de passe et le login entré dans ton formulaire
-puis, si c'est le cas, que la case a cocher "rester connecté" a été cochée, tu créé un cookie contenant le nom d'utilisateur ainsi que le login
-tu rediriges l'utilisateur vers la page de succès

Et voila.
Ceci est bien sur un modele qui ne contient pas les principes de securité. Je te propose deja de mettre au point ce code et de nous le montrer a la fin pour qu'on le corrige.
Netsupra

Invité
Invité n'ayant pas de compte PHPfrance

26 sept. 2007, 19:43

Là où j'arrive avec une tonne de code c'est à cause de la fonction setcookie qui doit être absolumeent avant tout code. C'est là que j'ai du mal, parce qu'il doit céer le cookie avec les bonnes infos et seulement si la case est cochée.

Je pourrais finir mon script, mais je le trouve beaucoup trop compliqué pour rien....du moins c'est se que je crois... :roll:

Invité
Invité n'ayant pas de compte PHPfrance

26 sept. 2007, 20:37

pour ce genre de petits desagrements, tu mets ob_start(); au tout debut du code et ob_end_flush(); a la toute fin de ton code. Et hop! tu peux mettre ta fonction setcookie n'importe ou.
Netsupra

ViPHP
AB
ViPHP | 5818 Messages

26 sept. 2007, 21:56

Bah ce serait mieux que tu fasses un code basique puis qu'on t'aide à l'optimiser. Ici on ne fourni pas de blocs de code tout fait ou alors seulement des petits blocs en complément de celui proposé, pour optimisation.

Dans ton exemple, si le visiteur coche une case dans un formulaire, tu envoies un cookie. Et alors quel est le pb?
Si tu nous montrais cette partie de ton code on pourrais t'aider.