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

PHP & Base de données Discussion :

Variables de session avec un site Free


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut Variables de session avec un site Free
    Bonjour,

    j'ai de nouveau un problème avec mes variables de session sur mon site perso hébergé chez Free.

    Le code :
    Code php : 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
     
    <?php
     
    	if (isset($_SESSION)){
    	session_destroy();
    	}
    	include 'haut.html';
    	echo '
    	<br/><br/>
    	<div align=center id=connexion>
    		<h2>Espace connexion </h2>
    		<br/>
    		<form name="connexion" method="post" action="connexion.php">
    			<table align=center>
    				<tr>
    					<td align=center>Nom d\'utilisateur : </td>
    					<td align=center><input type="text" name="pseudo" value="" size="30"></td>
    				</tr>
    				<tr align=center>
    					<td align=center>Mot de passe : </td>
    					<td align=center><input type="password" name="mdp" value="" size="30"></td>
    				</tr>
    			</table>
    			<br/>
    			<input type=submit name="connection" value="Connection">
    		</form>
    		<br/><br/>
    		<img src="mediatheque.jpg" alt="mediatheque">
    	</div>
    	</body>
    	';
    	include 'bas.php';
    ?>

    qui dirige donc vers :
    Code php : 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
    <?php
    	session_start();
    	include 'fonctionBDD.php';
    	if ($_POST["pseudo"] == "" || $_POST["mdp"] == "")
    	{
    		echo '
    			<br/><br/><br/>
    			<div align=center>
    				Veuillez remplir les champs avant d\'essayer de vous connecter !
    				';
    				include 'index.php';
    				echo'
    			</div>
    
    		';
    	}
    	else
    	{	
    		$requete = "SELECT pseudoUtilisateur, motDePasse, fonctionUtilisateur FROM utilisateur WHERE pseudoUtilisateur = '".$_POST["pseudo"]."' and motDePasse = '".$_POST["mdp"]."';";
    		$resultat = mysql_query( $requete, $base );
    		$row = mysql_fetch_assoc($resultat);
    		if ($_POST["pseudo"] != $row["pseudoUtilisateur"])
    			{
    				echo '<br/><br/>';
    				echo '<h3 align="center"> Mauvais nom d\'utilisateur </h3>';
    				include 'index.php';
    			}
    		else
    			{
    				echo '<br/><br/>';
    				echo '<h2 align="center"> Vous êtes maintenant connecté ! </h2>';
    				$_SESSION['nom'] = $row['pseudoUtilisateur'];
    				$_SESSION['type'] = $row['fonctionUtilisateur'];
    				echo '<br/>';	
    				echo '<div align=center>';
    				echo '<p>Vous allez maintenant être redirigé vers le menu.<br/>';
    				echo '<a href="menu.php">Cliquez ici si votre navigateur ne vous redirige pas automatiquement.</a></p>';
    				echo '</div>';
    				$delai=3; 
    				$url='menu.php';
    				header("Refresh: $delai;url=$url");
    			}
    	}
    ?>

    dans ces 2 pages, j'appelle haut.html qui contient les balises de début d'une page html, fonctionBDD.php qui contient la connexion à la base de données et bas.php qui contient les balises fermantes.

    Et après m'être loggé, j'ai ces messages d'erreur :

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php:1) in /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php on line 2

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php:1) in /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php on line 2

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php:1) in /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php on line 41
    J'ai déjà enlevé l'include de haut.html dans index.php, sans effet. J'ai également enlevé la redirection par header de connexion.php, les 2 premiers messages d'erreurs restent.

    Si quelqu'un a déjà eu un problème similaire, merci !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    chez free, il faut créer un dossier nommer "sessions" à la racine du site.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Exact, j'en ai un, j'avais oublié de le préciser

  4. #4
    Invité
    Invité(e)
    Par défaut
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php:1) in /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php on line 41
    La ligne 41 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    				header("Refresh: $delai;url=$url");
    Tu ne peux pas lancer un header(...) alors que tu as déjà affiché des données avec echo ... (ou quoi que ce soit)

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Erf, comment je peux effectuer la redirection alors ? Je ne connais que cette technique et celle du submit mais elle ne s'applique pas ici (à moins qu'il y ait un tour de "passe-passe" a effectuer ?).

    Merci pour ton aide.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    J'ai trouvé cette fonction php pour rediriger vers une autre page :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function redirige($url)
        {
           die('<meta http-equiv="refresh" content="0;URL='.$url.'">');
        }
    redirige("menu.php");

    et la redirection fonctionne.

    Par contre, j'ai toujours les messages d'erreurs :
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php:1) in /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php on line 2

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php:1) in /mnt/154/sdc/a/9/monSite/Mediatheque - Free/connexion.php on line 2
    Après la redirection, j'ai le message d'informations qui informe l'utilisateur qu'il est sur la page sans être connecté (donc sans les infos de session).

    Ce qui fait que les infos ne passent pas.

    Une idée ?



    EDIT : j'ai enlevé le dans la page menu.php et je n'ai plus les erreurs (enfin, elles apparaissent mais disparaissent dès que la redirection est effective).
    J'ai ensuite uniquement le message d'infos qui signale que l'utilisateur n'est pas connecté. ça avance, ça avance :p

Discussions similaires

  1. problème de variables de session avec Jpgraph
    Par fat dans le forum Langage
    Réponses: 1
    Dernier message: 02/07/2007, 16h26
  2. [Cookies] variables de session avec JpGraph ?
    Par mnem0 dans le forum Langage
    Réponses: 8
    Dernier message: 04/06/2007, 14h05
  3. Réponses: 2
    Dernier message: 30/05/2007, 16h08
  4. Comment recuperer la valeur d'une variable de session avec du javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2006, 10h40
  5. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28

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