[RESOLU] Bug session start

Eléphant du PHP | 111 Messages

03 nov. 2013, 21:24

Bonjour,

J'ai un espace membre qui marcher très bien et puis là j'ai changé d'hebergé donc je les mis dans un autre compte ftp, et la il y a une erreur :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /public_html/index.php:3) in /include/config.php on line 3
Voici mon fichier config :
<?php
//On demarre les sessions
session_start();


//On se connecte a la base de donnee
mysql_connect('', '', '');
mysql_select_db('');

//Email du webmaster
$mail_webmaster = '[email protected]';

//Adresse du dossier de la top site
$url_root = 'http://site.fr';

/******************************************************
----------------Configuration Optionelle---------------
******************************************************/

//Nom du fichier de laccueil
$url_home = 'index.php';

//Nom du design
$design = 'default';


$select_maintenance = mysql_query("SELECT maintenance FROM conf");
$result_m = mysql_fetch_assoc($select_maintenance);
if ($result_m['maintenance'] == "1") {
	 header('Location: maintenance.php');//On redirige en PHP vers maintenance.php
}
?>
Merci de votre aide :)

Eléphant du PHP | 55 Messages

03 nov. 2013, 23:49

Bonsoir,
J'espère que cette réponse te sera utile. J'ai lu sur un forum ceci:
à la première ligne de index.php, tu mets :
<?ob_start();?>
Pour plus d'info:
http://forum.hardware.fr/hfr/Programmat ... 7944_1.htm

Tiens-nous au courant. Ça pourrait en aider d'autres.
Cordialement,
Ionesco

Eléphant du PHP | 111 Messages

04 nov. 2013, 21:39

Sa ne marche toujours pas :/

Pardon

Mammouth du PHP | 790 Messages

04 nov. 2013, 22:08

Il est possible que tu ais un caractère invisible, essaye d'encoder ton script en utf8 sans Bom pour voir.
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Eléphant du PHP | 111 Messages

05 nov. 2013, 22:08

Il est possible que tu ais un caractère invisible, essaye d'encoder ton script en utf8 sans Bom pour voir.
Sa en marche toujours pas :/

Eléphant du PHP | 55 Messages

06 nov. 2013, 12:04

Bonjour,
Et si tu mets après ta condition un else et session_destroy()? Ça marche?
Ex.:
 } else {
        session_destroy();
}
 header("Location: AutrePage.php");
?>
Ionesco

Mammouth du PHP | 790 Messages

06 nov. 2013, 13:48

Fait voir dan quoi le fichier config est inclu
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Eléphant du PHP | 111 Messages

06 nov. 2013, 14:34

Fait voir dan quoi le fichier config est inclu
<?php
include('include/config.php');  
?>
<script type="text/javascript">
function switchInfoPerso()
{
divInfo = document.getElementById('divacacher');
if (divInfo.style.display == 'none')
divInfo.style.display = 'block';
else
divInfo.style.display = 'none';
}
</script>

<?php
/*---------------------------*/
/* lecture du nombre d'accès */
/*---------------------------*/

$requete1 = "select page_vu from statistique";

$sql = mysql_query($requete1) or die ("Erreur de requête 1 : " . mysql_error());

$row = mysql_fetch_row($sql);

$nbre_access = $row[0] + 1;



$requete2 = "UPDATE statistique SET page_vu =' $nbre_access '";
$sql = mysql_query($requete2) or die ("Erreur de requête 2 : " . mysql_error());

?>

<script type="text/javascript">
function switchInfoPerso2()
{
divInfo = document.getElementById('divacacher2');
if (divInfo.style.display == 'none')
divInfo.style.display = 'block';
else
divInfo.style.display = 'none';
}
</script>
<?php
// Connexion à MySQL
require'config.php';
 
// -------
// ÉTAPE 1 : on vérifie si l'IP se trouve déjà dans la table.
// Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse IP du visiteur.
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
$donnees = mysql_fetch_array($retour);
 
if ($donnees['nbre_entrees'] == 0) // L'IP ne se trouve pas dans la table, on va l'ajouter.
{
    mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
}
else // L'IP se trouve déjà dans la table, on met juste à jour le timestamp.
{
    mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
}
 
// -------
// ÉTAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes.
 
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);
 
// -------
// ÉTAPE 3 : on compte le nombre d'IP stockées dans la table. C'est le nombre de visiteurs connectés.
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
$donnees = mysql_fetch_array($retour);
 
 
?>
<style>	   
.texte {
-webkit-border-radius: 5px;

           -moz-border-radius: 5px;

            border-radius: 5px;

            display: block;

            position: absolute;

            top: 4%;

            left: 30%;

            width: 540px;

            padding: 10px;

			color:#FFF;

            background-color: #5E5E5E;

          

}
</style>


<link rel="stylesheet" type="text/css" href="css/index.css" media="screen" />
<div id="header">
<div id="menu">
<li><a href="index.php">Accueil</a></li> 
<li><a href="javascript: switchInfoPerso();">Ajouter un lien</a></li>
<?php
//Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter
if(isset($_SESSION['username']))
{
if(isset($_POST['username'],$_POST['password'],$_POST['email']))
		{
			$username = htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');
			if($_POST['password']==$_POST['passverif'])
			{
				$password = htmlentities($_POST['password'], ENT_QUOTES, 'UTF-8');
			}
			else
			{
				$password = '';
			}
			$email = htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');
			$avatar = htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');
		}
		else
		{
			//Sinon, on affiche les donnes a partir de la base de donnee
			$dnn = mysql_fetch_array(mysql_query('select id,username,password,email,avatar from users where username="'.$_SESSION['username'].'"'));
			$id = htmlentities($dnn['id'], ENT_QUOTES, 'UTF-8');
			$username = htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8');
			$password = htmlentities($dnn['password'], ENT_QUOTES, 'UTF-8');
			$email = htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8');
			$avatar = htmlentities($dnn['avatar'], ENT_QUOTES, 'UTF-8');
		}
?>
<li><a href="#"><?php if(isset($_SESSION['username'])){echo ' '.htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8');} ?></a>
<ul>
<li><a href="edit_infos.php">Modifier mon profil</a></li>
<li><a href="profile.php?id=<?php echo $id; ?>">Voir mon profil</a></li>
</ul></li>
<?php
}
else
{
//Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter
?>
<li><a href="connexion.php">Connexion</a></li>
<li><a href="sign_up.php">Inscription</a></li>
<?php
}
?>
<div id="menuright"><li><a href="#">Plus</a>
<ul>
<li><a href="contact.php">Contact</a></li>
<li><a href="http://www.neobux.com/?r=ISoon">Neobux</a></li>
<li><a href="http://www.probux.com/?r=ISoon">Probux</a></li>

</ul>

</li></div>
</div>


 

</div>
<div id="divacacher" class="texte" style="display: none;">
<?php
//Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter
if(isset($_SESSION['username']))
{
if(isset($_POST['username'],$_POST['password'],$_POST['email']))
		{
			$username = htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');
			if($_POST['password']==$_POST['passverif'])
			{
				$password = htmlentities($_POST['password'], ENT_QUOTES, 'UTF-8');
			}
			else
			{
				$password = '';
			}
			$email = htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');
			$avatar = htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');
		}
		else
		{
			//Sinon, on affiche les donnes a partir de la base de donnee
			$dnn = mysql_fetch_array(mysql_query('select id,username,password,email,avatar from users where username="'.$_SESSION['username'].'"'));
			$id = htmlentities($dnn['id'], ENT_QUOTES, 'UTF-8');
			$username = htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8');
			$password = htmlentities($dnn['password'], ENT_QUOTES, 'UTF-8');
			$email = htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8');
			$avatar = htmlentities($dnn['avatar'], ENT_QUOTES, 'UTF-8');
		}
?>

<form name="fi" id="fi" action="insertion.php" method="post" style="display:inline">


<table width="460" border="0" align="center" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>
<tr>
<td width="160" style="font-size: 8px;"><b style="font-family: 'Open Sans', sans-serif; font-size:16px">Votre ID Membre :</b></td>
<td width="300" style="font-size: 8px;"><input type="titre" name="id_membre" id="" value="<?php echo $id; ?>" style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:276px;  height:26px; font-size:18px"></td>
</tr>


<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>
<tr>
<td width="160" style="font-size: 8px;"><b style="font-family: 'Open Sans', sans-serif; font-size:16px">Titre :</b></td>
<td width="300" style="font-size: 8px;"><input type="titre" name="titre" id="" value="" style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:276px;  height:26px; font-size:18px"></td>
</tr>
<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>
<tr>
<td style="font-size: 8px;"><b style="font-family: 'Open Sans', sans-serif; font-size:16px">Site Web :</b></td>
<td style="font-size: 8px;"><input type="text" name="lien" id="lien" placeholder="http://" style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:276px;  height:26px; font-size:18px"></td>
</tr>
<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>
<tr>
<td width="160" style="font-size: 8px;"><b style="font-family: 'Open Sans', sans-serif; font-size:16px">Mots Cl&eacute;s :</b></td>
<td width="300" style="font-size: 8px;"><input type="cle" name="cle" id="cle" placeholder="Separer par un espace" style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:276px;  height:26px; font-size:18px"></td>
</tr>
<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>
<tr>
<td style="font-size: 8px;"><b style="font-family: 'Open Sans', sans-serif; font-size:16px">Cat&eacute;gorie :</b></td>
<td style="font-size: 8px;">
<select name="categorie" style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:276px;  height:35px; font-size:18px">
<optgroup label="Cat&eacute;gories">
<option>-</option>
<optgroup label="Fichiers">

<option>Films</option>
<option>Musiques</option>
<option>Images</option>
<option>CMS</option>
<option>Layout</option>
<option>Jeux</option>
<option>Mobiles</option>
<option>Autres</option>
</optgroup>
<optgroup label="Site">
<option>Parrainage</option>
<option>Reseau Social</option>
<option>Tutoriel</option>
<option>Etudes</option>
<option>Forum</option>
<option>Regie Publicitaire</option>
<option>Serveurs</option>
<option>Autre</option>
</optgroup>
</select>
</tr>
<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>
<tr>
<td width="160" style="font-size: 8px;"><b style="font-family: 'Open Sans', sans-serif; font-size:16px">Courte description :</b></td>
<td width="300" style="font-size: 8px;"><input type="text" name="Description" id="email" value="" style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:276px;  height:26px; font-size:18px"></td>
</tr>
<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>
<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>
<td width="160" style="font-size: 8px;"><b style="font-family: 'Open Sans', sans-serif; font-size:16px">Description :</b></td>
<td><textarea name="texte" rows="6" cols="30" style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:276px;  height:250px; font-size:18px" name="apropos"></textarea></td>
<tr>
<td height="20" colspan="2" style="font-size: 8px;"></td>
</tr>

<tr>
<td colspan="2" style="font-size: 8px;"><input type="submit" name="button" id="button" value="Ajouter !" style="width:460px; height:40px;  border: none; border-radius: 5px; background: #CCCCCC; color:#FFF; font-family: 'Open Sans', sans-serif; font-size:18px; font-weight:bold"></td>
</tr>
</tbody></table>
</form>
<?php
}
else
{
//Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter
?>
<center>Error ! Vous devez vous <a href="connexion.php">connectez</a></center>
<?php
}
?>

</div> 

<style>
#divacacher2 {
text-align:center;

}
</style>
<div id="divacacher2" class="texte" style="display: none;"><form method="post" action="recherchecategorie.php">
<select name="requete" style="padding: 3px 10px; border: #CCC solid 2px; border-radius: 5px; width:276px;  height:32px; font-size:18px; margin-top:3px;">
<optgroup label="Cat&eacute;gories">
<option>-</option>
<optgroup label="Fichiers">

<option>Films</option>
<option>Musiques</option>
<option>Images</option>
<option>CMS</option>
<option>Layout</option>
<option>Jeux</option>
<option>Mobiles</option>
<option>Autres</option>
</optgroup>
<optgroup label="Site">
<option>Parrainage</option>
<option>Reseau Social</option>
<option>Tutoriel</option>
<option>Etudes</option>
<option>Forum</option>
<option>Regie Publicitaire</option>
<option>Serveurs</option>
<option>Autre</option>
</optgroup>

</select>
<input  class="bouton" name="submit" style="width:250px; height:32px;  border: none; border-radius: 5px; background: #CCCCCC; color:#FFF; font-family: 'Open Sans', sans-serif; font-size:18px; font-weight:bold;" value="Recherche par Cat&eacute;gorie" type="submit"/> 
</form>

</p>
</form></div>

Mammouth du PHP | 790 Messages

06 nov. 2013, 15:03

Essaye ca:
sur tes deux fichier, ouvre notpad++ et enregistre les en utf8 sans bom
ensuite encore sur les deux fichier, efface l'ouverture <?php et réécris la et enregistre a nouveau
et test pour voir...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Eléphant du PHP | 111 Messages

06 nov. 2013, 16:57

Essaye ca:
sur tes deux fichier, ouvre notpad++ et enregistre les en utf8 sans bom
ensuite encore sur les deux fichier, efface l'ouverture <?php et réécris la et enregistre a nouveau
et test pour voir...
Toujours rien :'(

Mammouth du PHP | 790 Messages

06 nov. 2013, 17:09

Essaye comme ça:
<?php
//On demarre les sessions
session_start();


//On se connecte a la base de donnee
mysql_connect('', '', '');
mysql_select_db('');

$select_maintenance = mysql_query("SELECT maintenance FROM conf");
$result_m = mysql_fetch_assoc($select_maintenance);
if ($result_m['maintenance'] == "1") {
         header('Location: maintenance.php');//On redirige en PHP vers maintenance.php
}

//Email du webmaster
$mail_webmaster = '[email protected]';

//Adresse du dossier de la top site
$url_root = 'http://site.fr';

/******************************************************
----------------Configuration Optionelle---------------
******************************************************/

//Nom du fichier de laccueil
$url_home = 'index.php';

//Nom du design
$design = 'default';



?>
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Eléphant du PHP | 111 Messages

06 nov. 2013, 17:48

Essaye comme ça:
<?php
//On demarre les sessions
session_start();


//On se connecte a la base de donnee
mysql_connect('', '', '');
mysql_select_db('');

$select_maintenance = mysql_query("SELECT maintenance FROM conf");
$result_m = mysql_fetch_assoc($select_maintenance);
if ($result_m['maintenance'] == "1") {
         header('Location: maintenance.php');//On redirige en PHP vers maintenance.php
}

//Email du webmaster
$mail_webmaster = '[email protected]';

//Adresse du dossier de la top site
$url_root = 'http://site.fr';

/******************************************************
----------------Configuration Optionelle---------------
******************************************************/

//Nom du fichier de laccueil
$url_home = 'index.php';

//Nom du design
$design = 'default';



?>
Pareil :/

Mammouth du PHP | 790 Messages

06 nov. 2013, 18:34

Bon cette erreur signifie que tu as commencer a envoyer des infos avant d'utiliser la fonction session_start()
Est ce que tu as autre chose que tu ne fait pas voir ici ?
Est ce que tu as des espace avant <?php dans les 2 fichiers ?
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

06 nov. 2013, 18:37

Tiens, regarde, j'ai fait une petite recherche car la je comprend pas non plus: http://php.developpez.com/faq/?page=cor ... ready_sent
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Eléphant du PHP | 111 Messages

06 nov. 2013, 22:06

Bon cette erreur signifie que tu as commencer a envoyer des infos avant d'utiliser la fonction session_start()
Est ce que tu as autre chose que tu ne fait pas voir ici ?
Est ce que tu as des espace avant <?php dans les 2 fichiers ?
Je viens de regarder rien, mais c'est pas a cause de mon hebergeur car à mon ancien hebergeur sa marcher correctement :shock: