problème de forum avec cookies
le 12/08/2011 à 14:28
onec
j'ai fait un forum qui marche très bien , mais quand je le fait inclure dans mon site, quand je cherche a me connecter j'obtient un message d'eurrer le suivant
Warning: Cannot modify header information - headers already sent by (output started at /home/christ/public_html/forum/config.php:2) in /home/christ/public_html/connexion.php on line 83
Warning: Cannot modify header information - headers already sent by (output started at /home/christ/public_html/forum/config.php:2) in /home/christ/public_html/connexion.php on line 84
Warning: Cannot modify header information - headers already sent by (output started at /home/christ/public_html/forum/config.php:2) in /home/christ/public_html/connexion.php on line 90
Warning: mysql_close(): no MySQL-Link resource supplied in /home/christ/public_html/connexion.php on line 101
rien
Ce message d'erreur se produit lorsque le corps de la requête HTTP a déjà été écrit, et que les en-têtes elles aussi on déjà été écrites. Du coup, il n'est plus possible de les modifier.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
L'erreur se trouve à la ligne 2 de config.php.
Il n'y aurait pas des retours chariot avant ta balise php ouvrante dans ce fichier ? Si oui, tu dois tout enlever avant cette balise et ne faire aucun echo ou affichage html avant ton setcookie / header.
le 13/08/2011 à 03:27
onec
voici les codes de la page connecxion.php que j'ai fait inclure dans ma page index; je note que le code marche normalement, mais je fait une include il y a probleme .
voici les codes
rien
le 13/08/2011 à 03:29
onec
<?php
// conection a la based e données
mysql_connect("localhost", "christ_kouma","11kouma20");
mysql_select_db("christ_db");
?>
<html>
<head>
<title>[PHP] Créer un espace membre</title>
<style type="text/css">
<!--
.Style1 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 24px;
font-weight: bold;
color: #FFFFFF;
}
-->
</style>
</head>
<body>
<table width="400" height="50" >
<tr>
<td> Le forum universchrist est en construction et il sera disponible tres bienôt, Merci de repasser.
</td>
</tr>
</table>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<a href="index.php?rub=forum">Accueil</a>
<form action="index.php?rub=connexion" method="post">
<table width="470" height="147" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#AADDFF">
<tr> <td colspan="2" align="center" bgcolor="#CCCCCC"><span class="Style1">Identifier vous </span></td>
</tr>
<tr> <td>
Nom d'utilisateur :
</td> <td>
<input type="text" name="TB_Nom_Utilisateur" />
</td> </tr>
<tr> <td>
Mot de passe :
</td><td>
<input type="password" name="TB_Mot_de_Passe" />
</td> </tr>
<tr> <td colspan="2">
<input type="checkbox" name="CB_Connexion_Automatique" />
Se connecter automatiquement à chaque visite </td> </tr>
<tr> <td colspan="2" align="center" valign="bottom">
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</td>
</tr> </table>
</form>
<?php } ?>
</body>
</html>
que quesque je doit faire pour ressoudre le probléme?
rien
le 13/08/2011 à 03:33
onec
pardon j'ai fait une erreur la page connexion.php est la suivante .
<?php
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{
// Formulaire visible par défaut
$masquer_formulaire = false;
// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
// Vérification de la validité des champs
if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 6 caractères";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "christ_kouma", "11kouma20");
mysql_select_db("christ_db");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT id_user, login , pwd, Compte_Active
FROM user
WHERE login = '" . $_POST["TB_Nom_Utilisateur"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la tentative de connexion";
}
else
{
// Si aucun utilisateur n'a été trouvé
if(mysql_num_rows($result) == 0)
{
$message = "Le nom d'utilisateur " .$_POST["TB_Nom_Utilisateur"]. " n'existe pas";
}
else
{
// Récupération des données
$row = mysql_fetch_array($result);
// Si le compte n'a pas été activé
if($row["Compte_Active"] == 0)
{
$message = "Votre compte utilisateur n'a pas été activé";
}
else
{
// Vérification du mot de passe
if($_POST["TB_Mot_de_Passe"]!= $row["pwd"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
// Définition du temps d'expiration des cookies
$expiration =
empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
// Création des cookies
setcookie("ID_UTILISATEUR", $row["id_user"], $expiration, "/");
setcookie("NOM_UTILISATEUR", $row["login"], $expiration, "/");
// Fermeture de la connexion à la base de données
mysql_close();
// Redirection de l'utilisateur
header("Location: index.php");
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
}
?>
<html>
<head>
<title>[PHP] Créer un espace membre</title>
<style type="text/css">
<!--
.Style1 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 24px;
font-weight: bold;
color: #FFFFFF;
}
-->
</style>
</head>
<body>
<table width="400" height="50" >
<tr>
<td> Le forum universchrist est en construction et il sera disponible tres bienôt, Merci de repasser.
</td>
</tr>
</table>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<a href="index.php?rub=forum">Accueil</a>
<form action="index.php?rub=connexion" method="post">
<table width="470" height="147" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#AADDFF">
<tr> <td colspan="2" align="center" bgcolor="#CCCCCC"><span class="Style1">Identifier vous </span></td>
</tr>
<tr> <td>
Nom d'utilisateur :
</td> <td>
<input type="text" name="TB_Nom_Utilisateur" />
</td> </tr>
<tr> <td>
Mot de passe :
</td><td>
<input type="password" name="TB_Mot_de_Passe" />
</td> </tr>
<tr> <td colspan="2">
<input type="checkbox" name="CB_Connexion_Automatique" />
Se connecter automatiquement à chaque visite </td> </tr>
<tr> <td colspan="2" align="center" valign="bottom">
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</td>
</tr> </table>
</form>
<?php } ?>
</body>
</html>
merci de m'aider
rien
Comme dit plus haut, le problème est dans config.php
le 13/08/2011 à 18:33
onec
Voici le confi.php
<?php
// conection a la based e données
mysql_connect("localhost", "root", "");
mysql_select_db("christ_db");
// table des message $table_msg
$table_msg = messages ;
$table_rep = reponses ;
$table_topic = topic ;
$table_user = user ;
$taillePicto = ' style="width:70px; height:60px" ';
$DossierPhoto = 'forum/photo/';
?>
comment réssoudre le problème ?
rien
Je vais me repeter :
Il n'y aurait pas des retours chariot avant ta balise php ouvrante dans ce fichier ? Si oui, tu dois tout enlever avant cette balise et ne faire aucun echo ou affichage html avant ton setcookie / header.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: