Header

Fermé
Hurobaki Messages postés 53 Date d'inscription dimanche 23 mars 2014 Statut Membre Dernière intervention 10 mars 2017 - 19 nov. 2014 à 17:00
ElementW Messages postés 4764 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 19 nov. 2014 à 17:56
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 4764 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 295
19 nov. 2014 à 17:56
'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