Problème avec fonction header() + syntaxe. - PHP - Programmation
Marsh Posté le 25-06-2009 à 10:37:22
il faut juste t'assurer que rien n'est envoyé avant le header, même pas d'espaces qui seraient juste avant ton "<?".
Marsh Posté le 25-06-2009 à 10:46:05
Voilà ma page connexion.php pour vous faire voir.
Donc en gros mon header serait mal positionné en l'occurrence ? Ce que je ne pige pas c'est qu'en local tout marche bien. Et pas sur mon ftp. J'aimerai bien comprendre
Connexion.php:
|
Marsh Posté le 25-06-2009 à 12:31:53
http://www.php.net/manual/fr/function.header.php
tu ne dois avoir AUCUN contenu avant l'appel à header. et la, des lignes 4 à 9, ya du contenu.
voila ce que je te propose:
Code :
|
ca me parait cohérent vis à vis de ton appli:
- si le POST contient des infos de connexion, on vérifie si elles sont bonnes (requete en base, + test derrière)
- sinon (je suppose que cela signifie qu'il n'a pas encore entré ces identifiants) je lui envoie le formulaire pour le faire.
après accessoirement, 2 remarques:
- les pwd semblent être en clair dans ta base... pas top
- je me demande si c'est pas mieux d'envoyer coté sql le user et password, et de simplement vérifier le nombre de lignes que cela renvoie: 0 -> user/pwd ne matchent pas, 1 -> user/pwd matchent.
Marsh Posté le 25-06-2009 à 13:37:46
Ok j'avais mal compris en fait pour les espaces avant le header().
En fait quand j'ai débuté mon appli je n'avais aucune connaissance en sécurité. Donc je vais repasser à la fin pour tout resécurier contre les injonctions SQL et mettre du sha1 pour le mot de passe
Sinon pour ton truc c'est pas mal, mais comme je l'avais précisé dans mon 1er post, ma page connexion.php est appelé via index.php.
index.php:
<?php |
Connexion.php:
<?php |
Donc j'crois que là j'suis dans un vrai merdier
PS: Y a pas moyen de faire une redirection en javascript si le mot de passe est bon ? J'ai vu que des redirections permanente à mettre dans le Head en JS
Marsh Posté le 25-06-2009 à 17:33:31
non mais en fait, avant header, c'est ZÉRO sortie, aucun texte, code html, ou espace, ou saut de ligne.
Marsh Posté le 25-06-2009 à 17:37:17
ou ca? ya pas d'appel à connexion.php dans ce que tu as mis.
Marsh Posté le 25-06-2009 à 18:25:05
Je l'appel ici
|
Marsh Posté le 25-06-2009 à 23:40:41
non t'appelle rien la, tu mets juste un lien vers index.php?m=connexion. ou alors c'est que tu nous a pas mis un assez gros bout de ton fichier index.php...
Marsh Posté le 26-06-2009 à 08:45:43
Ok donc c'est moi qui ai fait une erreur de vocabulaire
Bon je re test ce que tu m'as mis plus haut et je te redis tout ça
edit: Ok ça marche impec. Merci
Marsh Posté le 21-01-2010 à 16:09:08
bonjour
j'ai le probleme de redirection
if(send_sms($cible,$message,$image)) {echo("sms ok au : $cible"
header('http://localhost:8888/MMS/p3.php');
} else echo("Impossible de trouver le token ou message trop long. Message non transmis. Mauvais logins ?" );
Marsh Posté le 06-02-2010 à 11:51:16
agromthor> tu peux aussi éviter de toucher aux headers et faire la redirection avec un meta-refresh. Ou eventuellement charger en dur ta page d'admin avec un require.
mafarette> c'est pas plutôt header('Location: http://localhost:8888/MMS/p3.php'); qui marcherait?
Marsh Posté le 06-02-2010 à 12:14:28
Ou mettre un ob_start(); au début de ta page qui apelle les autres.
Marsh Posté le 25-06-2009 à 10:36:10
Bonjour à tous,
J'ai de nouveau un ptit souci ( ) avec la fonction header(). J'ai fais une appli que j'ai développé en local. J'ai décidé de la mettre sur mon ftp afin de voir ce que ça donne et là première erreur qui n'était jamais apparu:
Warning: Cannot modify header information - headers already sent by (output started at /home/aemaethe/public_html/index.php:9) in /home/aemaethe/public_html/modules/connexion.php on line 23
Donc via php.net je me renseigne sur la fonction header() et je m'apperçois qu'il faut qu'elle soit lancée avant tout code HTML. Sinon badaboom le programme.
Mon problème c'est que j'ai une page connexion.php qui doit rediriger l'admin vers la partie admin de l'appli. Mais cette page connexion.php est appelé via un include depuis la page index.php (Comme indiqué dans le message d'erreur en gros ²).
Donc moi, jeune noob de mon état ( ) je ne sais pas comment faire pour arranger ce problème. Faut-il faire une vérification depuis l'index.php
Merci pour votre aide