IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Redirection PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut Redirection PHP
    Bonjour,

    Comme dit dans le titre j'ai un soucis avec mes redirections PHP je vous explique :
    J'ai commencé (et même bientôt terminé) mon site internet sous Windows avec Wamp, aucun problème. Entre temps, je suis passé sous Mac. J'ai installé alors Mamp et tous les logiciels dont j'ai besoin, tout marche nickel jusqu'à ce que cette erreur PHP s'affiche :
    Warning: Cannot modify header information - headers already sent by...
    ainsi que celle-ci :
    Warning: session_start(): Cannot send session cache limiter - headers already sent
    Elle n'apparaît que sous Mamp... Je ne comprend pas du tout pourquoi elle n'apparaît pas sous Wamp...

    Si quelqu'un pouvait m'aider...

    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Par défaut
    Bonjour !

    Dans un premier temps avec ton code on y verrait plus clair, ensuite pour ton , de forte chance que ce soit dû au fait que tu ne l'aies PAS mis en PREMIER dans ton code

    Pour le reste beh je me répête, montre nous ton code

    Jisig

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut
    Oui bien-sûr.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <?php
    	session_start();
    ?>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Authentification</title>
    		<link rel="stylesheet" href="../styles/styleindex.css" />
        </head>
     
        <body>
    		<div id="boite">
    			<?php
    			if(isset($_GET['action']))
    			{
    				if($_GET['action'] != NULL)
    				{
    					switch($_GET['action']) 
    					{
    						case "inscriptions":
    							header('Location: inscription.php');
    						break;
     
    						case "connexion":
    							if(!isset ($_COOKIE['membre']))
    							{
    								$_SESSION['accesninscrit']=2;
    								header('Location: remember.php');
    							}
    							else
    							{
    								$_SESSION['accesninscrit']=2;
    								$_SESSION['bienvenue']=$_SERVER['PHP_AUTH_USER'];
    								header('Location: lesite.php');
    							}
    						break;
     
    						case "site":
    							$_SESSION['accesninscrit']=1;
    							header('Location: lesite.php');
    						break;
    					}
    				}
    			}
     
    			?>
    			<p>Bienvenue sur notre site e-commerce !</p>
    			<a href="index.php?action=connexion" class="lien1" name="inscrit" >Connexion</a>
    			<a href="index.php?action=inscriptions" class="lien2" name="inscription">Inscription</a>
    			<a href="index.php?action=site" class="lien3" name="ninscrit" action="get">Accéder au site</a>
    		</div>
        </body>
    </html>

  4. #4
    Membre éprouvé Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <?php
    	session_start();
    ?>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Authentification</title>
    		<link rel="stylesheet" href="../styles/styleindex.css" />
        </head>
     
        <body>
    		<div id="boite">
    			<?php
    			if(isset($_GET['action']))
    			{
    				if($_GET['action'] != NULL)
    				{
    					switch($_GET['action']) 
    					{
    						case "inscriptions":
    							header('Location: inscription.php');
    						break;
     
    						case "connexion":
    							if(!isset ($_COOKIE['membre']))
    							{
    								$_SESSION['accesninscrit']=2;
    								header('Location: remember.php');
    							}
    							else
    							{
    								$_SESSION['accesninscrit']=2;
    								$_SESSION['bienvenue']=$_SERVER['PHP_AUTH_USER'];
    								header('Location: lesite.php');
    							}
    						break;
     
    						case "site":
    							$_SESSION['accesninscrit']=1;
    							header('Location: lesite.php');
    						break;
    					}
    				}
    			}
     
    			?>
    			<p>Bienvenue sur notre site e-commerce !</p>
    			<a href="index.php?action=connexion" class="lien1" name="inscrit" >Connexion</a>
    			<a href="index.php?action=inscriptions" class="lien2" name="inscription">Inscription</a>
    			<a href="index.php?action=site" class="lien3" name="ninscrit" action="get">Accéder au site</a>
    		</div>
        </body>
    </html>
    Je suppose que tu as corrigé ton session_start(); ?

    Heu ensuite concernant ton header p:

    http://www.php.net/manual/fr/function.header.php

    N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichages PHP. Une erreur très classique est de lire un fichier avec include ou require, et de laisser des espaces ou des lignes vides, qui produiront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut
    Non je ne l'avait pas corrigé mais effectivement c'était bien à cause des headers... merci !!

    J'ai donc réglé le problème sur cette page mais je l'ai encore sur d'autre pages ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php
    	session_start();
     
    	//CONNEXION BASE
    	$conn = "host=localhost port=5432 dbname=ecommerce user=postgres password=aze123";
    	$dbconn = pg_connect($conn) or die ("Connexion impossible");
    	//
    	if(isset($_SESSION['accesninscrit']))
    	{
    		if($_SESSION['accesninscrit']!=1 && $_SESSION['accesninscrit']!=2)
    		{
    			echo '<div style="width:400px; height:50px; font-size:20px; text-align:center; background: #EBEBEB; margin:auto; margin-top: 100px; padding:20px; ">
    			Vous n\'etes pas autorise à utiliser cette page.
    			<a href="index.php">Cliquez ici</a> pour etre redirige
    			</div>';
    			exit(0);	
    		}
    	} else {
    		echo '<div style="width:400px; height:50px; font-size:20px; text-align:center; background: #EBEBEB; margin:auto; margin-top: 100px; padding:20px; ">
    			Vous n\'etes pas autorise à utiliser cette page.
    			<a href="index.php">Cliquez ici</a> pour etre redirige
    			</div>';
    			exit(0);
    	}
     
    	if (isset($_GET['action'])) 
    	{
    		if($_GET['action']=="deconnection") //SI L'UTILISATEUR SOUHAITE SE DECONNECTER 
    		{
    			setcookie('membre', NULL, -1);
    			session_destroy ();
    			header('Location: index.php');
    		}
    		if($_GET['action']=="connexion") //SI L'UTILISATEUR SOUHAITE SE CONNECTER 
    		{
    			if (!isset($_COOKIE['membre']) )
    			{
    				if (!isset ($_SERVER['PHP_AUTH_USER']))
    				{
    					header('WWW-Authenticate: Basic realm="Veuillez vous authentifier"');
    					header('HTTP/1.0 401 Pas authorisé');
    						echo '<div style="width:400px; height:50px; font-size:20px; text-align:center; background: #EBEBEB; margin:auto; margin-top: 100px; padding:20px; ">
    							Vous avez abandonne l\'authentification.
    							<a href="lesite.php">Cliquez ici</a> pour etre redirige
    							</div>';
    					exit;
    				}
    ...
    L'erreur est : "Warning: session_start(): Cannot send session cache limiter - headers already sent..."
    Le code n'est pas complet, il serait trop long ^^ et tout ça se trouve avant le DOCTYPE

    Merci de votre aide rapide !

  6. #6
    Membre éprouvé Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Par défaut
    C'est un include je suppose. Ton premier dans la page ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/01/2008, 22h18
  2. [Système] redirection php et référencement ?
    Par Overstone dans le forum Langage
    Réponses: 8
    Dernier message: 03/08/2007, 17h04
  3. Redirection php avec données POST et fsockopen
    Par Cylie34 dans le forum Langage
    Réponses: 1
    Dernier message: 26/02/2007, 17h10
  4. [MySQL] Redirection PHP + variable
    Par baudmail dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 30/04/2006, 16h56
  5. Redirection PHP autre que dans un Reader
    Par gwen-al dans le forum Langage
    Réponses: 5
    Dernier message: 18/01/2006, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo