Partage
  • Partager sur Facebook
  • Partager sur Twitter

Header() ne redirige pas

Sujet résolu
    10 décembre 2018 à 18:24:13

    Bonjour,

    Je voulais essayer de faire un formulaire de connexion pour un accès à une partie administrateur mais dans l'un des 2 fichiers que j'ai, mon header() ne redirige pas. Par contre, mon header redirige bien sur mon 2eme fichier.

    Je suis en local (WAMP) et mes fichiers sont dans le même dossier.

    J'ai tenté plusieurs choses :

    - utilisation de ob_start()

    - utilisation de exit() après header()

    - enregistrer le fichier en UTF-8 sans BOM

    - vérifier la syntaxe du header (notamment au niveaux des espaces)

    Avez-vous une idée?

    test.php (fonctionne très bien)

    <?php
    session_start();
    
    if( isset($_SESSION['login']) && $_SESSION['login']==='login'  )
    {
    	echo('Vous etes en partie admin');
    }
    else
    {
    	header('Location: connexion.php');
    }
    ?>

    connexion.php

    <?php
    session_start();
    //ob_start();
    $title='';
    $erreurLog='';
    if( isset($_POST['login'],$_POST['password']) )
    { //envoie du formulaire
    	$login='0123';
    	$password='4567';
    
    	if($_POST['login']==$login && $_POST['password']==$password)
    	{
    		$_SESSION['login']=$login;
    		header('Location: test.php');
    		//exit();
    	}
    	else
    	{
    		$title.='Erreur: ';
    		$erreurLog="Mauvais login ou mot de passe.";
    	}
    }
    ?>
    <!DOCTYPE html>
    
    <html>
    	<head>
    		<title><?php echo($title.'Connexion'); ?></title>
    	</head>
    	<body>
    		<h1>Connexion</h1>
    
    		<?php
    		if($erreurLog!=='')
    		{
    			echo("		<p>$erreurLog</p>");
    		}
    		?>
    
    		<form method="post" action="connexion.php" >
    			<fieldset>
    				<label for="login" >Login</label>
    				<input type="text" name="login" id="login" />
    
    				<label for="password" >Mot de passe</label>
    				<input type="password" name="password" id="password" />
    
    				<input type="submit" value="Connexion" >
    			</fieldset>
    		</form>
    	</body>
    </html>





    • Partager sur Facebook
    • Partager sur Twitter
      10 décembre 2018 à 20:03:36

      Bonjour,

      Tu définis $_SESSION['login'] égal à '0123', donc cette variable ne peut pas être égale à 'login'.

      • Partager sur Facebook
      • Partager sur Twitter

      Header() ne redirige pas

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown