Soucis avec mon script

Résolu
Bonjour,

j'ai un soucis avec mon script et ça doit faire deux heures que je suis dessus sans trouver pourquoi. Je n'est pas d'érreur, juste la page ne finis pas de ce charger.

Voici ma page :
<?php include ('../inc/header.php'); ?>
<?php 
	if (isset($_SESSION['prenom']) && isset($_SESSION['nom']) && isset($_SESSION['pseudo'])) 
	{
		header('Location: profil.php');
	}
	else
	{
		if(isset($_POST['login']))
		{
			if($_POST['pseudo'] == NULL OR $_POST['pass'] == NULL)
			{
				echo 'Tout les champs doivent être remplis !';
			}
			else
			{
			$pseudo = htmlspecialchars($_POST['pseudo']);
			$pass = htmlspecialchars($_POST['pass']);
			$ip = $_SERVER['REMOTE_ADDR'];
			
			$req = $bdd->prepare("SELECT * FROM account WHERE pseudo = :pseudo AND pass = :pass");
			$req->execute(array('pseudo' => $pseudo, 'pass' => $pass));
			while ($donnees = $req->fetch())
			{
				$sql = $donnees->rowCount();
				
				if($sql > 0)
				{
					session_start();
					$_SESSION['prenom'] = $donnees['prenom'];
					$_SESSION['nom'] = $donnees['nom'];
					$_SESSION['pseudo'] = $donnees['pseudo'];
					$_SESSION['ip'] = $ip;
					header('Location: accueil.php');
				}
				else
				{
					echo 'Nom de compte ou mot de passe incorrect !';
				}
			}
			}			
		}
		else
		{
			header('Location: login.php');
		}
$req->closeCursor();		
	}	
?>	
<?php include ('../inc/footer.php'); ?>	


6 réponses

  1. Pour voir mieux essayer dans une première étape de commenter et remplacer tout les header comme ça:
    par exemple:
    //header('Location: profil.php');
    echo "header('Location: profil.php');";
    


    et observe le résultat.
    0
    1. Non toujours pareil. Ca charge le header mais pas plus :(
      0
      1. Il faut remplacer tout les headers:
        //header('Location: profil.php');
        echo "header('Location: profil.php');";
        //header('Location: accueil.php');
        echo "header('Location: accueil.php');";
        //header('Location: login.php');
        echo "header('Location: login.php');";

        et donnez nous qu'est ce qui s'affiche au final ? une page vide ?
        0
        1. Oui une page vide...
          0
          1. Dans ce cas il faut mettre dans php.ini
            display_errors = On
            ajouter au début du script
            error_reporting(E_ALL);
            et redémarrer apache
            0
            1. C'est bon problème réglé ! Merci quand même.

              ça venais de ma requette :

              $req = $bdd->prepare("SELECT * FROM account WHERE pseudo = :pseudo AND pass = :pass");
              				$req->execute(array('pseudo' => $pseudo, 'pass' => $pass));
              
              				if($req->rowCount() != null)
              				{
              					while ($donnees = $req->fetch())
              					{
              0