Bonjour a tous.

Depuis peu, j'essaie de me mettre au web en suivant les standards, et meme si c'est pas facile, le resultat est plutot satisfaisant.

Je suis donc en train de refondre mon ancien site (je l'adapte pas, je le refais), et j'en suis a la partie identification.

J'ai une page "perso" qui est l'accueil de la partie perso. Si la session est ouverte, elle donne la bienvenue, si la session n'est pas encore ouverte, elle affiche un joli formulaire pour se connecter.

Lorsque je fais "submit" de mon formulaire de connexion, la page log.php verifie les informations postees.

Mon probleme est ici, j'aimerais que cette page redirige vers la page precedente, en lui retournant un code qui serait "ok" si l'identification a reussi, ou un code d'erreur si elle a echouee (ex : "mdp" si le mot de passe est incorrect, ce qui permet a la page "perso" d'afficher un message au dessus du formulaire).

Pour l'ancienne version du site, j'utilisais la balise <META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php?page=perso">.

Simplement, mon site est en pseudo-frames PHP, cette balise se retrouve donc en plein milieu de mon code HTML. J'ai lu qu'elle devait se trouver dans le <head> du document, est-ce le cas ?

D'autant que cette methode n'est a mon sens pas tres agreable, puisqu'elle affiche une page que l'on n'a pas forcement le temps de lire avant de la faire disparaitre.

J'aimerais donc une redirection plus transparente, plus "instantanee" en quelque sorte. J'ai entendu parler de Javascript et de redirection serveur mais je ne sais pas comment faire, et mes recherches ne m'ont pas apportees grand chose.

Quel type de redirection me conseillez vous pour ce cas ? Et si possible, avez vous un petit tuto sous la main ? Smiley lol

Merci
Salut,

Si tu es en PHP, tu n'as peut-être pas besoin de passer par Java. PHP est un langage de CGI assez convenable. Tu peux utiliser la méthode http_header (ou quelque chose ce genre), pour renvoyer un code http de redirection. Il n'y aura alors aucun affichage de page, et le/la client(e) verra la page actuelle se recharger sans page intermédiaire.

Je te suggère le code HTTP 303 - see other - la réponse à la requête est ailleur, qui signifiera bien ce que tu veux, si j'ai bien compris ta demande.

Les codes HTTP : http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP

Voilà, j'espère que ça t'aidera.
En fait je suis un abruti (si si je vous jure...)

Je m'interdisais les header PHP parce que mon site est en pseudo-frames, et le header doit etre envoye avant quoi que ce soit d'autre, ce qui ne colle pas si la page envoyant le header est incluse dans une autre...

Et la ou je me trouve super ***, c'est que rien ne m'oblige a inclure la page qui envoit le header dans une autre...

Et moi qui me disait que je ne pouvais pas utiliser cette methode Smiley sweatdrop

Bref, merci pour ta reponse, je la connaissais, mais elle m'a fait comprendre que mon raisonnement etait faux Smiley biggrin

Par contre le coup du code HTTP je ne connaissais pas. Quelle serait la(les) difference(s) entre les deux ?

++
Modifié par bochecha (03 Jul 2006 - 23:48)