Header

Hurobaki Messages postés 58 Statut Membre -  
ElementW Messages postés 5690 Statut Contributeur -
Bonjour à tous,

J'ai eu y a quelque temps l'idée de me faire un site web histoire de m'améliorer un peu, je suis débutant en programme HTML,PHP et CSS ...

En Localhost avec EeasyPhp j'ai réussi à faire un truc qui marche assez bien, j'ai donc voulu l'héberger sur un site FTP j'ai choisis free car celui-ci étant mon FAI (j'ai eu la naïveté de penser que tout irait bien ...).

Mes codes PHP pour accéder à ma base MySQL étaient en PDO j'ai appris qu'avec Free il fallait changer cela ce que j'ai fait ...

Mais mon gros problème est la redirection de page, dans mes codes il y a pleins de : header('Location mapage.php')

Ce qui me donne cette erreur : "Warning: Cannot modify header information - headers already sent by "
Impossible de la résoudre, j'ai donc consulté plusieurs forums mais je ne comprends pas vraiment ce que je fais de mal.
Je voudrai savoir ce que je dois changer et si je pourrai garder les headers dans mes conditions ?
Par exemple si l'utilisateur rentre un mauvais identifiant il va être redirigé vers l'index sinon il sera redirigé vers l'espace_membre.

Un exemple de code :

if ($st['COUNT(ID_Membre)'] == 1)
	{						
		header("Location: espace.php");
	}
else 
	{	
		header("Location: ./index.php?auth=4");
	}


Voilà si une âme charitable pourrait m'éclairer sur le mystère qu'est pour moi les redirections de page php sur un FTP :)

Merci d'avance !

1 réponse

ElementW Messages postés 5690 Statut Contributeur 1 224
 
'lut! Primo, pour l'accès a la base MySQL, sache qu'il existe des "shims" permettant l'utilisation de PDO même quand son hébergeur ne le fournit pas, pour éviter a devoir reconvertir son code en un truc codé avec cet atrocité d'extension
mysql
. Le hic, c'est que Free a PDO activé, avec seulement le moteur
sqlite
activé; il faudra donc renommer la classe "PDO" du shim si tu veux t'en servir.

Pour ce qui est des headers, normalement ça marche aussi chez Free. Assure-toi que tes pages sont bien en ASCII ou en UTF-8 sans BOM (encore une connerie d'invention de chez Micro$oft les BOMs UTF8, ça sert a rien). Évidemment, vérifie si aucun caractère visible (ou pas) n'a été envoyé avant ta ligne
header()
.
0