par
drskunk » 19 juin 2007, 16:10
Merki d avoir repondu aussi vite.
Comme tu le dis si bien
Ce genre d'erreur pour l'avoir rencontrer plus d'une fois vient du fait que tu cherches à écrire, faire, exécuter quelque chose alors que les "entêtes sont déjà parties"
et le truc c est que j ai l impression (certainement fausse) de ne rien faire avant.
Je vais mettre un peu plus de code:
ma page index.php:
<?php
session_start();
//ouvre une session et détermine un ID
//on inclut la page de connexion a la base de donnee
include('script/connexion_bdd.php');
//afficher l'ID de session
include('include/head.php');
// si il n'y a pas de session ouverte ou existante
if (!isset ($_SESSION['validuser']))
{
//on inclus la page de connexion si il n y a pas de session active
echo("<div id='log'>");
include ('log.php');
echo("</div>");
}
else
{
//affichage du gabarit de l application
echo("<div id='bandeau'>");
include ('gabarit/recherche.php');
echo("</div>");
echo ("<div id='menu'>");
include ('gabarit/menu.php');
echo("</div>");
echo("<div id='contenu'>");
if (isset ($_REQUEST['page']))
{
//test qui permet de changer de page dans la partie contenu
// AJout de lien:
//case 'non de la variable passée en url': include('chemin de la page a inclure');break;
switch ($_REQUEST['page'])
{
( ... )
}
}
else
{
include('gabarit\accueil.php');
}
echo ("</div>");
echo ("<div id='pied_page'>");
include ('include\tail.php');
echo ("</div>");
}
?>
ma page log.php:
<?php
//Retourne le contenu des variables si elle ne sont pas vides
if (isset($_POST['pseudo']) && isset ($_POST ['mdp']))
{
$pseudo = $_POST['pseudo'];
$mdp = $_POST['mdp'];
//Connexion au serveur
$idconnexion= BDD_Connect();
//test de connexion au serveur
if ($idconnexion)
{
//requete qui verifie que le login et le mot de passe utilisateur existe
$query="select idEmploye from employe where loginEmploye = '".$pseudo."' and passEmploye = '".$mdp."'";
//recuperation du résultat de la requete
$result= mysql_query($query);
if (mysql_num_rows($result)>0)
{
$numuser=mysql_fetch_row($result);
$_SESSION['validuser'] = $pseudo;
$num=$numuser[0];
// on créé le cookie
setcookie("log", $num, time()+60*60*24*365, "/") or die("Impossible d'écrire le Cookie.<br />");
echo $_SESSION['validuser'];
}
else
{
echo("login ou mot de passe incorrect.<br />");
}
}
//fermeture connexion et vidage de la mémoire
mysql_free_result($result);
mysql_close($idconnexion);
}
//on test si le cookie existe
if (isset ($_COOKIE['log']))
{
//on recupère la valeur du cookie
$num=$_COOKIE['log'];
$idconnexion= BDD_Connect();
//test de connexion au serveur
if($idconnexion)
{
//on recupère les info de l'utilisateur
$query="select nomEmploye, prenomEmploye, loginEmploye from employe where idEmploye = '".$num."'";
//recuperation du résultat de la requete
$exec= mysql_query($query);
if(mysql_num_rows($exec)>0)
{
//affectation des variables session
$result=mysql_fetch_row($exec);
$_SESSION['nom']=$result[0];
$_SESSION['prenom']=$result[1];
$_SESSION['validuser']=$result[2];
}
}
mysql_free_result($exec);
mysql_close($idconnexion);
}
//on test si l'utilisateur est valide pour l authentification
if (isset ($_SESSION['validuser']))
{
//si bon on redirige vers l index
// voici le header qui doit faire planter mais j en ai besoin pour rediriger. Fais ... ce truc
header('Location:index.php');
}
else
{
if(isset ($pseudo))
{
//Tentative d'ouverture avortée
echo"Vous ne pouvez pas vous logger.<br />";
}
else
{
//L'utilisateur n'a pas de session
echo "Vous n'avez pas de session.";
}
}
//Formulaire d'ouverture de session
echo
'
<form method="post" name="login" id="login" onSubmit="return verifLogin()" action="index.php" >
<table>
<tr><td>Pseudonyme :</td>
<td><input type="text" name="pseudo" id="pseudo"></td></tr>
<tr><td>Mot de passe :</td>
<td><input type="password" name="mdp" id="mdp"></td></tr>
<tr><td colspan="2" align="center">
<input type="submit" value="Log in"></td></tr>
</table></form>
';
?>
et le head est deja dans le post precedent.
Si vous vouyez qqchose de pourris dans mon code (et je sais qu il y en aura

) hesiter pas a corriger lol
Allez les ptits fous du php a bientoto!!
tcho
Merki d avoir repondu aussi vite.
Comme tu le dis si bien [quote]Ce genre d'erreur pour l'avoir rencontrer plus d'une fois vient du fait que tu cherches à écrire, faire, exécuter quelque chose alors que les "entêtes sont déjà parties"[/quote] et le truc c est que j ai l impression (certainement fausse) de ne rien faire avant.
Je vais mettre un peu plus de code:
ma page index.php:
[php]<?php
session_start();
//ouvre une session et détermine un ID
//on inclut la page de connexion a la base de donnee
include('script/connexion_bdd.php');
//afficher l'ID de session
include('include/head.php');
// si il n'y a pas de session ouverte ou existante
if (!isset ($_SESSION['validuser']))
{
//on inclus la page de connexion si il n y a pas de session active
echo("<div id='log'>");
include ('log.php');
echo("</div>");
}
else
{
//affichage du gabarit de l application
echo("<div id='bandeau'>");
include ('gabarit/recherche.php');
echo("</div>");
echo ("<div id='menu'>");
include ('gabarit/menu.php');
echo("</div>");
echo("<div id='contenu'>");
if (isset ($_REQUEST['page']))
{
//test qui permet de changer de page dans la partie contenu
// AJout de lien:
//case 'non de la variable passée en url': include('chemin de la page a inclure');break;
switch ($_REQUEST['page'])
{
( ... )
}
}
else
{
include('gabarit\accueil.php');
}
echo ("</div>");
echo ("<div id='pied_page'>");
include ('include\tail.php');
echo ("</div>");
}
?>[/php]
ma page log.php:
[php]<?php
//Retourne le contenu des variables si elle ne sont pas vides
if (isset($_POST['pseudo']) && isset ($_POST ['mdp']))
{
$pseudo = $_POST['pseudo'];
$mdp = $_POST['mdp'];
//Connexion au serveur
$idconnexion= BDD_Connect();
//test de connexion au serveur
if ($idconnexion)
{
//requete qui verifie que le login et le mot de passe utilisateur existe
$query="select idEmploye from employe where loginEmploye = '".$pseudo."' and passEmploye = '".$mdp."'";
//recuperation du résultat de la requete
$result= mysql_query($query);
if (mysql_num_rows($result)>0)
{
$numuser=mysql_fetch_row($result);
$_SESSION['validuser'] = $pseudo;
$num=$numuser[0];
// on créé le cookie
setcookie("log", $num, time()+60*60*24*365, "/") or die("Impossible d'écrire le Cookie.<br />");
echo $_SESSION['validuser'];
}
else
{
echo("login ou mot de passe incorrect.<br />");
}
}
//fermeture connexion et vidage de la mémoire
mysql_free_result($result);
mysql_close($idconnexion);
}
//on test si le cookie existe
if (isset ($_COOKIE['log']))
{
//on recupère la valeur du cookie
$num=$_COOKIE['log'];
$idconnexion= BDD_Connect();
//test de connexion au serveur
if($idconnexion)
{
//on recupère les info de l'utilisateur
$query="select nomEmploye, prenomEmploye, loginEmploye from employe where idEmploye = '".$num."'";
//recuperation du résultat de la requete
$exec= mysql_query($query);
if(mysql_num_rows($exec)>0)
{
//affectation des variables session
$result=mysql_fetch_row($exec);
$_SESSION['nom']=$result[0];
$_SESSION['prenom']=$result[1];
$_SESSION['validuser']=$result[2];
}
}
mysql_free_result($exec);
mysql_close($idconnexion);
}
//on test si l'utilisateur est valide pour l authentification
if (isset ($_SESSION['validuser']))
{
//si bon on redirige vers l index
// voici le header qui doit faire planter mais j en ai besoin pour rediriger. Fais ... ce truc
header('Location:index.php');
}
else
{
if(isset ($pseudo))
{
//Tentative d'ouverture avortée
echo"Vous ne pouvez pas vous logger.<br />";
}
else
{
//L'utilisateur n'a pas de session
echo "Vous n'avez pas de session.";
}
}
//Formulaire d'ouverture de session
echo
'
<form method="post" name="login" id="login" onSubmit="return verifLogin()" action="index.php" >
<table>
<tr><td>Pseudonyme :</td>
<td><input type="text" name="pseudo" id="pseudo"></td></tr>
<tr><td>Mot de passe :</td>
<td><input type="password" name="mdp" id="mdp"></td></tr>
<tr><td colspan="2" align="center">
<input type="submit" value="Log in"></td></tr>
</table></form>
';
?>
[/php]
et le head est deja dans le post precedent.
Si vous vouyez qqchose de pourris dans mon code (et je sais qu il y en aura :D ) hesiter pas a corriger lol
Allez les ptits fous du php a bientoto!!
tcho