Probléme php (header...) connexion
mehdi9833
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
dream666 Messages postés 735 Date d'inscription Statut Membre Dernière intervention -
dream666 Messages postés 735 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voila j'ai un message d'erreur qui me bloque depuis 1j, j'ai parcouru plein de forum et je n'ai AUCUNE solution, voici mon message d'erreur lorsque je lance mon site intrnet :
PHP Warning: Cannot modify header information - headers already sent by (output started at E:\wwwroot\catmat\accueil.php:19) in E:\wwwroot\catmat\accueil.php on line 84
Apparamment cela viendrait de mon header car jai mi session start () au début de mon formulaire...
Mais comment contourner le probléme ?
voici mon script (accueil.php) :
<?php
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
include("fonctions.php");
$cnx = mysql_pconnect($serveur, $admin, $pass);
$res=mysql_select_db("$base");
/* page d’accueil de l’application qui permet la connexion */
session_start();
?>
<html>
<head>
<title> formulaire d'identification </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="css.css" />
</head>
<body>
<?php
if ((empty($_SESSION['identifiant']) OR empty($_SESSION['pass']))) // on vérifie que l'utilisateur n'est pas déja connecté
{ if ((empty($_POST['identifiant']) OR empty($_POST['pass']))) // si l'utilisateur ne vient pas de se connecter
{
?>
<br><br><br><center><h1>Connexion à l'application</h1>
<br/>
<form method="POST" action="accueil.php" name="connexion"> <!-- on affiche l'interface de connexion -->
<table style="text-align: left" border="0" cellpadding="4" cellspacing="2">
<tbody>
<tr>
<td>Identifiant :</td>
<td><input type="text" name="identifiant" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input type="password" name="pass" /></td>
</tr>
<tr>
<br>
<td><br> <button value="envoi" name="envoi" type="submit">Valider</button></td>
<td><br> <button value="reset" name="reset" type="reset">Annuler</button></td>
</tr>
</tbody>
</table>
</form>
<?php }
elseif ((isset($_POST['identifiant']) AND isset($_POST['pass']))) // si l'utilisateur vient de se connecter
{
$_SESSION['identifiant'] = $_POST['identifiant']; // on enregistre son identifiant et son mot de passe
$_SESSION['pass']= $_POST['pass'];
panneau_accueil($cnx); // on affiche la page d'acceuil
}
}
else
{
panneau_accueil($cnx);//Si l'utilisateur est déja connecté, on affiche la page d'accueil
}
?>
</body>
</html>
<?php
function panneau_accueil($connexion)
{
if($connexion)
{
$req="select mot_de_passe,num_categorie,libelle from utilisateurs where identifiant like '".$_SESSION['identifiant']."'";
$reponse = mysql_query($req);
$donnees = mysql_fetch_array($reponse);
$mdp=$donnees['mot_de_passe'];
$_SESSION['libelle']=$donnees['libelle'];
$_SESSION['categorie']=$donnees['num_categorie'];
if ($mdp !=null)
{
if ($_SESSION['pass'] == $mdp)
{
// ----------------------------------------------------
// redirection vers l'interface suivant la catégorie
// ----------------------------------------------------
header ("Location: recherche-article.php");
}
else // mauvais mot de passe
{
echo "<div id=\"corps\"><br /><br /><h2>Mauvais mot de passe</h2><br /> <a href=\"accueil.php\">Retour</a></div>";
session_destroy();
}
}
else // pas de mot de passe trouvé, l'identifiant n'existe pas dans la base de données
{
echo "<div id=\"corps\"><br/><br /><h2>Identifiant inexistant</h2><br/><a href=\"accueil.php\">Retour</a></div>";
session_destroy();
}
}
}
?>
Merci de votre aide.
Voila j'ai un message d'erreur qui me bloque depuis 1j, j'ai parcouru plein de forum et je n'ai AUCUNE solution, voici mon message d'erreur lorsque je lance mon site intrnet :
PHP Warning: Cannot modify header information - headers already sent by (output started at E:\wwwroot\catmat\accueil.php:19) in E:\wwwroot\catmat\accueil.php on line 84
Apparamment cela viendrait de mon header car jai mi session start () au début de mon formulaire...
Mais comment contourner le probléme ?
voici mon script (accueil.php) :
<?php
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
include("fonctions.php");
$cnx = mysql_pconnect($serveur, $admin, $pass);
$res=mysql_select_db("$base");
/* page d’accueil de l’application qui permet la connexion */
session_start();
?>
<html>
<head>
<title> formulaire d'identification </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="css.css" />
</head>
<body>
<?php
if ((empty($_SESSION['identifiant']) OR empty($_SESSION['pass']))) // on vérifie que l'utilisateur n'est pas déja connecté
{ if ((empty($_POST['identifiant']) OR empty($_POST['pass']))) // si l'utilisateur ne vient pas de se connecter
{
?>
<br><br><br><center><h1>Connexion à l'application</h1>
<br/>
<form method="POST" action="accueil.php" name="connexion"> <!-- on affiche l'interface de connexion -->
<table style="text-align: left" border="0" cellpadding="4" cellspacing="2">
<tbody>
<tr>
<td>Identifiant :</td>
<td><input type="text" name="identifiant" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input type="password" name="pass" /></td>
</tr>
<tr>
<br>
<td><br> <button value="envoi" name="envoi" type="submit">Valider</button></td>
<td><br> <button value="reset" name="reset" type="reset">Annuler</button></td>
</tr>
</tbody>
</table>
</form>
<?php }
elseif ((isset($_POST['identifiant']) AND isset($_POST['pass']))) // si l'utilisateur vient de se connecter
{
$_SESSION['identifiant'] = $_POST['identifiant']; // on enregistre son identifiant et son mot de passe
$_SESSION['pass']= $_POST['pass'];
panneau_accueil($cnx); // on affiche la page d'acceuil
}
}
else
{
panneau_accueil($cnx);//Si l'utilisateur est déja connecté, on affiche la page d'accueil
}
?>
</body>
</html>
<?php
function panneau_accueil($connexion)
{
if($connexion)
{
$req="select mot_de_passe,num_categorie,libelle from utilisateurs where identifiant like '".$_SESSION['identifiant']."'";
$reponse = mysql_query($req);
$donnees = mysql_fetch_array($reponse);
$mdp=$donnees['mot_de_passe'];
$_SESSION['libelle']=$donnees['libelle'];
$_SESSION['categorie']=$donnees['num_categorie'];
if ($mdp !=null)
{
if ($_SESSION['pass'] == $mdp)
{
// ----------------------------------------------------
// redirection vers l'interface suivant la catégorie
// ----------------------------------------------------
header ("Location: recherche-article.php");
}
else // mauvais mot de passe
{
echo "<div id=\"corps\"><br /><br /><h2>Mauvais mot de passe</h2><br /> <a href=\"accueil.php\">Retour</a></div>";
session_destroy();
}
}
else // pas de mot de passe trouvé, l'identifiant n'existe pas dans la base de données
{
echo "<div id=\"corps\"><br/><br /><h2>Identifiant inexistant</h2><br/><a href=\"accueil.php\">Retour</a></div>";
session_destroy();
}
}
}
?>
Merci de votre aide.
A voir également:
- Probléme php (header...) connexion
- Gmail connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- D'où peut venir un problème de connexion internet sur un ordinateur ? - Guide
- Site inaccessible n'autorise pas la connexion - Guide