Ryu Posté(e) le 8 septembre 2008 Partager Posté(e) le 8 septembre 2008 Bonjour, Tout est dans le titre, comme les plus perspicaces l'auront deviné J'ai un code de type : if (isset($_POST['pseudo']) && isset($_POST['password'])) { if ($loginOK == $_POST['pseudo'] && $passwordOK == $_POST['password']) { session_start(); $_SESSION['login'] = $_POST['pseudo']; $_SESSION['password'] = $_POST['password']; header ('location: chemin_de_mapage'); } Ce code fonctionne très bien avec le couple FireFox(3) / WAMP. J'ai eu besoin d'exporter mon travail sur mon mac, donc FireFox(3) / MAMP et là le header() ne fonctionne pas au lieu de me rediriger, ça me remet à la page de connexion... J'ai du contourner le truc en remplaçant le header par echo '<meta http-equiv="refresh" content="0;URL=chemin_de_mapage">'; J'aimerai savoir d'où ca vient, je pense que ca doit etre une configuration avec MAMP (enfin je vois que ça). Mais du coup ça m'a remis en question, sur le fait de savoir quelle fonction valait-il mieux utiliser : le header ou le meta.... Si quelqu'un a une idée :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
BreizFenrir Posté(e) le 8 septembre 2008 Partager Posté(e) le 8 septembre 2008 Hmm, il est bizarre ton problème. Il n'y a normalement pas de raison que cela ne marche pas sous Mac. Quel est le format de "chemin_de_mapage" ? Le serveur Apache est-il configuré de la même manière que celui qui tourne/tournait sous Windows ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ryu Posté(e) le 8 septembre 2008 Auteur Partager Posté(e) le 8 septembre 2008 Hmm, il est bizarre ton problème. Il n'y a normalement pas de raison que cela ne marche pas sous Mac. Quel est le format de "chemin_de_mapage" ? Le serveur Apache est-il configuré de la même manière que celui qui tourne/tournait sous Windows ? Le format de "chemin_de_mapage", j'ai testé en relatif et en absolu. Pour appache sur le WAMP comme le MAMP j'ai laissé par défaut. Je vais regarder ca :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ryu Posté(e) le 8 septembre 2008 Auteur Partager Posté(e) le 8 septembre 2008 Il semblerait que j'ai trouvé ma réponse, j'avais du code html avant le header() dans un include. Et si je dis pas de bêtise il faut que la fonction header() soit placé avant le moindre code HTML. Par contre étonnant que sous WAMP ça passe sans problème Je vais passé le topic en Résolu (même si de base le problème était déjà contourné) Sinon vaut-il mieux utiliser Header() ou <meta http-equiv> ? Lequel est le plus "propre" / conseillé ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 8 septembre 2008 Partager Posté(e) le 8 septembre 2008 Je doutes que ça passe sous Win, si tu a quelque chose avant le header(), l'interpréteur php ne va pas être content Lien vers le commentaire Partager sur d’autres sites More sharing options...
nemesis93_75 Posté(e) le 8 septembre 2008 Partager Posté(e) le 8 septembre 2008 Il semblerait que j'ai trouvé ma réponse, j'avais du code html avant le header() dans un include. Et si je dis pas de bêtise il faut que la fonction header() soit placé avant le moindre code HTML.Par contre étonnant que sous WAMP ça passe sans problème Je vais passé le topic en Résolu (même si de base le problème était déjà contourné) Sinon vaut-il mieux utiliser Header() ou <meta http-equiv> ? Lequel est le plus "propre" / conseillé ? je sais pas lequel est plus propre, mais perso j'évite au max le header(), car ce qu'il sort c'est le <meta http-equiv>, donc je préfère mettre directement le meta Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ryu Posté(e) le 8 septembre 2008 Auteur Partager Posté(e) le 8 septembre 2008 Je doutes que ça passe sous Win, si tu a quelque chose avant le header(), l'interpréteur php ne va pas être content Et pourtant c'est bien le cas aussi bizarre que ça puisse paraitre. Avant mon instruction if, j'ai un include qui contient du html. Et ca passe sous WAMP... Bon c'est sur c'est carrément de ma faute, c'était à l'état de test, c'est une page que je devais recoder et optimiser. Mais hier j'ai du transférer le projet à la hâte sur le portable (mac) pour le montrer... Et quand j'ai vu que ça fonctionnait pas je me suis posé des questions... Et comme le temps me manquait j'ai changé le header. je sais pas lequel est plus propre, mais perso j'évite au max le header(), car ce qu'il sort c'est le <meta http-equiv>, donc je préfère mettre directement le meta Hello Nemesis Je pense que je vais faire de même afin d'éviter ce genre de désagrément. Lien vers le commentaire Partager sur d’autres sites More sharing options...
BreizFenrir Posté(e) le 8 septembre 2008 Partager Posté(e) le 8 septembre 2008 je sais pas lequel est plus propre, mais perso j'évite au max le header(), car ce qu'il sort c'est le <meta http-equiv>, donc je préfère mettre directement le meta Personnellement j'ai plutôt tendance à utiliser le header(), même si ça dépend de la situation. Dans le cas d'une redirection, la balise meta te force à retourner du code HTML (bon, j'imagine que ça marche bien avec du code invalide, et que ce point n'est pas important), alors qu'avec header() tu peux t'arrêter là. Après niveau optimisation tu gagnes quelques octets seulement dans ce cas, l'information de redirection se trouvant dans le header HTTP et non le corps de la page, sans s'entourer du meta. Mais ce n'est pas un point sur lequel il faut trop se prendre la tête AMHA. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.