Accueil
Forums
Turoriaux
Inscription
Connexion
Fil RSS
Bienvenue invité !
Samedi 22 Novembre 2008

[Résolu] (merci) Comment reporter les donées de connextion..

sur d'autres pages?


1
Auteur Message
> Posté le : 20/08/2008 16h17
Aucun avatar


Groupe : Membres
Messages : 70

Bonjours à tous

Voici donc mon problème:

J'ai fait un système d'inscription pour mes membres, mais je galére sur le login.

Je n'arrive pas a reporter les données de ma variable $pseudo.

Je m'explique:
EDIT : Lbeetls01, un problème avec les tableaux, j'ai du les supprimer... =S

Merci de votre aide et de m'expliquer donc pourqoi ces messages d'erreurs? et comment (si c'est pas bien codé) faire pour reporter mes "$pseudo" ???

Merci bonne journée ++

PHP Dev en force 
> Posté le : 20/08/2008 21h09
Avatar de Drahl


Groupe : Membres
Messages : 134

Tu dois mettre "session_start ();" avant TOUT code, quel qu'il soit, c'est-a-dire tu ne doit pas mettre une seule ligne php avant lappel de session ni même une seule ligne de xHtml. Donc je sais pas si tu nous a fourni toute ta page qui traite de la connexion, mais si tu fait un appel du style "include("en_tete.html");" tu dois absolument le mettre aprés ta fonction "session_start ();".

C'est ce que dis ton message d'erreur en fait : "headers already sent"
Traduction francaise : "il y a du code avant session_start()"
> Posté le : 21/08/2008 16h58
Aucun avatar


Groupe : Membres
Messages : 70

Merci de ta réponse, je vais tenter ceci

PHP Dev en force 
> Posté le : 21/08/2008 20h38
Aucun avatar


Groupe : Membres
Messages : 70

Bien, même au début de toutes mes pages, j'ai le même message.

Pourriez vous  SVP m'indiquer un endroit ou je peu bien comprendre le fonctionnement de ceci, en utilisant les sessions et les cookies?

Merci en tout cas, ++

PHP Dev en force 
> Posté le : 21/08/2008 22h52
Avatar de Lexion71


Groupe : Membres
Messages : 6

Est ce que session_start(); est bien à la premiere ligne de la page ? c'est à dire juste à coté de <?php , car si mes souvenirs sont bons il se peut que ça fasse ça si session_start(); est à la seconde ligne.

Je ne suis pas sûr mais tente toujours
> Posté le : 22/08/2008 16h24
Aucun avatar


Groupe : Membres
Messages : 70

Je tente, je vous tiens au courant, merci

PHP Dev en force 
> Posté le : 23/08/2008 11h50
Avatar de lbeetls01


Groupe : Admins
Messages : 2070

Je ne sais pas si c'est ce que tu voulais dire Lexion71, mais aussi faire attention de ne pas avoir mis de retour à la ligne, un espace ou quoi que ce soit avant :
Code PHP:


Aussi, j'ai eu le problème dernièrement, si ton fichier est encodé en UTF-8, il faut qu'il soit bien en UTF-8 Sans BOM. Si jamais ouvre le dans NotePad ++ -> Menu "Format" -> "Encoder en UTF-8 (Sans BOM)".


> Posté le : 24/08/2008 18h54
Aucun avatar


Groupe : Membres
Messages : 70

Merci à toi lbeetls01, je code déjà sous NP++ et toujours en ut-8 sans bom.

J'ai déjà résolu le problème lier a ma connexion, maintenant, il me faut absolument viré mon message d'erreur.
Je vais vous mettre toutes les pages que nécessite la connexion et mon message d'erreur (avec l'index, car j'utilise des include afin de me facilité pour le dév), afin que vous voyer tout le code, et que vous m'aidiez si possible, merci.

------------ index.php --------!!!

Code PHP:
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mon site</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<!-----------------  Body  "images/smilies2/26.png"
alt="" class="smilies" /> ----------- -->
<?php
include("conf.php");
?>
<div id="global">
<!-----------------  Header  "images/smilies2/26.png" alt="" class="smilies" /> ----------- -->
<div id="header">
</div>
<div id="menugauche">
 
Bienvenue
<?php
 
//enregistrement d'une variable de session, ici le login de l'utilisateur
$_SESSION["m_login"] == $_POST['login'] ;
 
$_SESSION["m_id"] == $id; //idem pour l'id
 
if ($_SESSION["m_login"] == "")
{
echo ('invité');
}
 
else
{
echo htmlentities(trim($_POST['login']));
}
?>
<img src="images/fondmusique.jpg"/>
<br/>
 
<span style="color:#ffffff;">Menu musique</span>
<br/>
<br/>
<p>Ecouter</p>
<form action="index.php?name=cherch" name="recherche">
<a class="artistes" href="index.php?name=cherch">Ecouter!</a>
</form>
</div>
<!-----------------  Menu de Gauche  "images/smilies2/26.png" alt="" class="smilies" /> ----------- -->
<div id="menu">
<?php
include ('menu.php');
?>
</div>
<!-----------------  CORPS  "images/smilies2/26.png" alt="" class="smilies" /> ----------- -->
<div id="corps">
<h1>Mon site</h1>
           <table class="presentationP" width="90%" align="center">
              <tbody>
              <tr>
                <td width="100%" align="left" valign="top">
<div id="sitemil">
<?php
//*******************************************************
 
$page = $_GET['name'];
    switch($page)
    {
//*******************************************************   

case member:
include ('indexlogin.php');
break;

//*******************************************************   

case connexion:
include ('connexion.php');
break;
  
//*******************************************************   

case register:
include ('inscription.php');
break;

//*******************************************************       

case validation:
include ('validation.php');
break;

//*******************************************************       

case listmembres:
include ('listmembres.php');
break;

//*******************************************************
 
case connecte:
include ('connecte.php');
break;

//*******************************************************          
    
default:
echo ('Acceuil');  
break;
    }
?>
</div>
</td></tr></table>
</div>
<!-----------------  Footer  "images/smilies2/26.png" alt="" class="smilies" /> ----------- -->
<p id="footer">
<span>Copyright© 2008
</span>
</p>
</div>
</body>
</html>
 


------------- indexlogin.php - (ma zone de connextion)---!!!

Code PHP:
 
<div id="indexlogin">
<form action="index.php?name=connexion" method="post" name="validation">
<table>
<tr>
<td colspan="2" align="center">
<span class="title">Connexion</span>
<br/>
<br/>
</td>
</tr>
<tr>
<td>
Pseudo:
</td>
<td>
<input name="login" type="text" size="20">
</td>
</tr>
<tr>
<td>
Mot de pass:
</td>
<td>
<input name="password" type="password" size="20">
</td>
</tr>
<tr>
<td>
 
</td>
<td>
<input name="recupinfo" type="hidden" value="log-in">
<input name="valider" type="submit" value="valider!">
</td>
</tr>
</table>
</form>
</div>
<div id="indexregister">
<br/>
<br/>
<a class="membre" href="index.php?name=register">S'enregistrer</a>
</div>


--------- connexion.php-------------

Code PHP:
 
<?php
include("conf.php");
if (isset($_POST))
{ //si les informations ont été envoyé
$login = trim(htmlspecialchars(addslashes($_POST['login']))); //Parsing du login
$password = trim(htmlspecialchars(addslashes($_POST['password']))); //parsing du password
 
if( ( strlen($login)!=0) && (strlen($password)!=0))  
{
        $q_login = mysql_query("
        SELECT login, password
        FROM membres
        WHERE login='".$login."'
            AND password='".md5(mysql_escape_string($_POST['password']))."'
        LIMIT 0,1"); //on lance la requete SQL renvoyant l'id de la personne, son nom et son prenom en fonction des informations entrées dans le formulaire ($_POST["login"] et $_POST["pass"])
if (mysql_num_rows($q_login))
{//si il existe des resultats à la requête
 
        list($login, $password) = mysql_fetch_assoc($q_login); // on recupère les resultats de la requête dans des variables correspondantes
        $_SESSION["m_login"] = $login; // on inscrit la variable $login en variable de session
        $_SESSION["m_id"] = $id; //idem pour l'id

echo ('Bienvenue');
echo htmlentities(trim($_POST['login']));
echo '<script language=javascript> alert ("Vous êtes bien connécté!");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="index.php?name=connecte" </SCRIPT>'
;
 
}
else
{
echo '<script language=javascript> alert ("Mauvais pseudo ou mot de passe!");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="index.php?name=member" </SCRIPT>'
;
exit;
}
}
else
{
echo '<script language=javascript> alert ("Un ou plusieurs champs son vides!");</script>';
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="index.php?name=member" </SCRIPT>'
;
exit;
}
}
else
{
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="index.php?name=member" </SCRIPT>'
;
exit;
}
?>
 


------------ connecte.php --------

Code PHP:
 
<?
session_start();
 
if(!isset($_SESSION['login']))
{
echo '
<div id="indexregister">
<br/>
<br/>
<a class="membre" href="index.php?name=listmembres">liste des membres</a>
</div>'
;
  exit;
}
?>
<?php echo '<p>Bonjour ',$_SESSION['login'],'</p>';
?>
<a href="connect.php?action=deconnexion">Déconnexion</a>
 


------------ Mes Messages d'erreur --!

Code :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:xampphtdocsstreetartindex.php:7) in C:xampphtdocsstreetartconnecte.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:xampphtdocsstreetartindex.php:7) in C:xampphtdocsstreetartconnecte.php on line 2

PHP Dev en force 
> Posté le : 24/08/2008 19h23
Avatar de SquallX


Groupe : Codeurs
Messages : 122

bah sur index.php tu as du code html avant ton code php, et où est le session_start() ? 
> Posté le : 25/08/2008 17h12
Aucun avatar


Groupe : Membres
Messages : 70

Bin sur l'index, je l'ai enlever, de toute manière le problème est exactement le même peu importe où je place session_start(); !
J'ai vraiment un soucis, mais pour ça il faut tester le code pour s'en rendre compte, je sait que l'on peu débuger souvent juste en voyant le code source, mais dans ce cas, faut absolument débuger en essayant les codes, avec un serveur!
Bref, je vous remercie de votre aide, et j'espère que quelqu'un pourras m'aider, par ce que là je plante sévère, et même malgré mes recherches divers et variées sur Google, je plante .

Merci à vous.

++

PHP Dev en force 
> Posté le : 25/08/2008 17h13
Aucun avatar


Groupe : Membres
Messages : 70

PS: si ça peu aider, je code et teste php avec xampp.

PHP Dev en force 
> Posté le : 25/08/2008 20h11
Avatar de lbeetls01


Groupe : Admins
Messages : 2070

Pourrais-tu nous mettre tes fichiers dans un ZIP ? pour que l'on puisse directement voir si il y a d'autres problèmes (encodage, caractères, etc...) ?

EDIT :
Essaie en enlevant le session_start de ta page connecte.php, et en mettant ce code pour ta page index :
Code PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mon site</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<!-----------------  Body  "images/smilies2/26.png" alt="" class="smilies" /> "images/smilies2/26.png"
alt="" class="smilies" /> -------- -->
<?php
include("conf.php");
?>
<div id="global">
<!-----------------  Header  "images/smilies2/26.png" alt="" class="smilies" /> "images/smilies2/26.png" alt="" class="smilies" /> -------- -->
<div id="header">
</div>
<div id="menugauche">
 
Bienvenue
<?php
 
//enregistrement d'une variable de session, ici le login de l'utilisateur
$_SESSION["m_login"] == $_POST['login'] ;
 
$_SESSION["m_id"] == $id; //idem pour l'id
 
if ($_SESSION["m_login"] == "")
{
echo ('invité');
}
 
else
{
echo htmlentities(trim($_POST['login']));
}
?>
<img src="images/fondmusique.jpg"/>
<br/>
 
<span style="color:#ffffff;">Menu musique</span>
<br/>
<br/>
<p>Ecouter</p>
<form action="index.php?name=cherch" name="recherche">
<a class="artistes" href="index.php?name=cherch">Ecouter!</a>
</form>
</div>
<!-----------------  Menu de Gauche  "images/smilies2/26.png" alt="" class="smilies" /> "images/smilies2/26.png" alt="" class="smilies" /> -------- -->
<div id="menu">
<?php
include ('menu.php');
?>
</div>
<!-----------------  CORPS  "images/smilies2/26.png" alt="" class="smilies" /> "images/smilies2/26.png" alt="" class="smilies" /> -------- -->
<div id="corps">
<h1>Mon site</h1>
           <table class="presentationP" width="90%" align="center">
              <tbody>
              <tr>
                <td width="100%" align="left" valign="top">
<div id="sitemil">
<?php
//*******************************************************
 
$page = $_GET['name'];
    switch($page)
    {
//*******************************************************  
 
case member:
include ('indexlogin.php');
break;
 
//*******************************************************  
 
case connexion:
include ('connexion.php');
break;
  
//*******************************************************  
 
case register:
include ('inscription.php');
break;
 
//*******************************************************      
 
case validation:
include ('validation.php');
break;
 
//*******************************************************      
 
case listmembres:
include ('listmembres.php');
break;
 
//*******************************************************
 
case connecte:
include ('connecte.php');
break;
 
//*******************************************************          
    
default:
echo ('Acceuil');  
break;
    }
?>
</div>
</td></tr></table>
</div>
<!-----------------  Footer  "images/smilies2/26.png" alt="" class="smilies" /> "images/smilies2/26.png" alt="" class="smilies" /> -------- -->
<p id="footer">
<span>Copyright© 2008
</span>
</p>
</div>
</body>
</html>


> Posté le : 26/08/2008 16h14
Aucun avatar


Groupe : Membres
Messages : 70

Au niveau de l'erreur session_start(), c'est réglé, effectivement, j'avais oublier d'être en UTF-8 sans BOM.

Je n'ai plus de message, par contre, mes $session['m_login'] ne ce reportent pas.

Je te met les code dans un zip et t'envoie ça.

Merci à vous

PHP Dev en force 
> Posté le : 26/08/2008 16h29
Aucun avatar


Groupe : Membres
Messages : 70

Ok c'est bon, grâce à toi lbeetls01, j'ai réussit a reporter au moins $_SESSION["m_login"];.

Maintenant que mon pseudo s'affiche, me manque plus qu'a faire des condition pour afficher ce que je veux dés que un pseudo valide est afficher.

Si j'ai bessoin je poste un nouveau sujet, Vraiment merci @++

PHP Dev en force 
> Posté le : 26/08/2008 20h26
Avatar de lbeetls01


Groupe : Admins
Messages : 2070

Super !
Content d'avoir pu t'aider .


1