Page 1 sur 1

Les headers ne fonctionnent-ils plus avec un hébergeur ?

Posté : 30 mai 2017, 16:56
par lucieemtl
Bonjour à toutes et à tous,

Tout mon problème est dans le titre : je ne parviens pas à faire fonctionner mes redirections avec les header en php dans des conditions.

En effet, j'ai souscrit aujourd'hui un abonnement chez l'hébergeur 1&1 et si en local tout fonctionne bien, ce n'est pas la même chanson en ligne !

Mon script pour la connexion par exemple :
<?php
if (isset($_POST['fcenvoi'])) {
	include("includes/connect/phpConnect.php");
	$fclogin = trim(htmlentities(mysqli_real_escape_string($lien,$_POST['fclogin'])));
	$fcpwd = md5($_POST['fcpwd']);

	if(file_exists("logs/$fclogin.log")){
		$fichier = fopen("logs/$fclogin.log", "r+");
		$contenu = fgets($fichier);
		$infos = explode(":", $contenu);
		if($infos[0] == date("d/m/y")){
			$essais = $infos[1];
		}
		else {
			$essais = 0;
		}
	}
	else {
		$essais = 0;
	}
	
	if($essais < 5){
		$req = "SELECT * FROM ls_membres WHERE identifiant='$fclogin' AND pwd='$fcpwd';";
		$res = mysqli_query($lien,$req);
		if(!$res){
			echo "Erreur SQL : $req <br>".mysqli_error($lien);
		}
		else{
			$correct = mysqli_num_rows($res);
			if ($correct==1) {
				$tab = mysqli_fetch_array($res);
				$_SESSION['id'] = $tab['id'];
				$_SESSION['civilite'] = $tab['civilite'];
				$_SESSION['nom'] = $tab['name'];
				$_SESSION['prenom'] = $tab['firstName'];
				$_SESSION['log'] = $tab['identifiant'];
				$_SESSION['email'] = $tab['email'];
				$_SESSION['pwd'] = $tab['pwd'];
				$_SESSION['groupe'] = $tab['groupe'];
				$_SESSION['pdp'] = $tab['photo'];
				if($_SESSION['groupe']== "admin"){
					header("Location:admin/index.php");
					exit;
				}
				else{
					header("Location:prive/prive.php");
					exit;
				}
			}
			else{
					echo "<div class=\"row\"><div class=\"gestionE col s12 l6 offset-l3\">Login ou mot de passe incorrect.</div></div>";
					if(file_exists("logs/$fclogin.log")){
						$essais = $essais + 1;
						fseek($fichier, 0);
						fputs($fichier, date('d/m/y').":$essais");
						fclose($fichier);
					}
					else {
						$req = "SELECT COUNT(*) AS nblogin FROM ls_membres WHERE identifiant='$fclogin'";
						$res = mysqli_query($lien, $req);
						if(!$res){
							echo "Erreur";
						}
						else {
							$tab = mysqli_fetch_array($res);
							if($tab['nblogin'] > 0){
								$fichier = fopen("logs/$fclogin.log", "w+");
							}
							fputs($fichier, date('d/m/y').":1");
							fclose($fichier);
						}
					}
			}
		}
	}
	else {
	echo "<div class=\"row\"><div class=\"gestionE col s12 l6 offset-l3\">Désolé, votre connexion a été interdite.</div></div>";
	}
	mysqli_close($lien);
	
}
?>

Quelqu'un pour m'aider :( ?

Re: [RESOLU] Les headers ne fonctionnent-ils plus avec un hébergeur ?

Posté : 01 juin 2017, 13:01
par Spols
certain environnement sont plus sensible que d'autre, vérifie bien qu'il n'y a rien d'envoyer vers le client avant le header. même un simple espace avant le premier <?php peut tout bloquer.

Essaie aussi un nouveaux fichier php qui ne contient qu'une redirection et vérifie que ton affichage d'erreur est complet ou check tes logs,