Session-start

Résolu/Fermé
yseuld - 27 sept. 2008 à 15:55
 yseuld - 28 sept. 2008 à 09:19
Bonjour,

Voilà les phrases qui s'affichent sur mon site:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homez.27/neufmois/www/index.php:3) in /homez.27/neufmois/www/index.php on line 89

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homez.27/neufmois/www/index.php:3) in /homez.27/neufmois/www/index.php on line 89

Ces phrases sont apparues après un essai de modifications (qui ne concernaient que du texte ou des photos). Des modifications avaient déjà été faites avant et ne posaient aucun problème...

A signaler: je suis débutante, alors si vous pouvez, une explication simple m'aiderait beaucoup

Merci!

13 réponses

nicorz Messages postés 100 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 12 janvier 2011 19
27 sept. 2008 à 16:21
"headers already sent" Le header est déjà envoyer, il faut que tu fasses ton "session_start" avant d'envoyer du texte à la page.
0
Bonjour,

apparemment, c'est déjà écrit avant le texte!
0
nicorz Messages postés 100 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 12 janvier 2011 19
27 sept. 2008 à 16:30
Qu'est-ce qui ce passe quand tu fait le session_start dans ta première ligne php ?
0
C'est le bazar.
A la première ligne il est déjà écrit:
<?php require_once('Connections/main.php'); ?>
<?php
0
soggybuttom Messages postés 73 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 12 novembre 2008 4
27 sept. 2008 à 17:21
Ta balise php est mal fermé, essais plutot de cette facon:
<?php require_once('Connections/main.php'); ?>
?>

Vérifies aussi ligne 89, l'erreur viendrais de cette ligne!!!
0
nicorz Messages postés 100 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 12 janvier 2011 19
27 sept. 2008 à 16:42
Tu ne peux pas faire deux sessions_start
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pour info, voilà la ligne 89 qui pose problème
session_start();
e ne sais pas quoi y faire de plus
0
Au fait, si je ferme la balise autrement, le texte devient tout rouge après donc plus gros problème d'affichage encore!
0
soggybuttom Messages postés 73 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 12 novembre 2008 4
27 sept. 2008 à 17:59
Peux tu nous mettre le source de ta page qui pose problème, ca sera plus facile de t'aider!
0
si j'associe le problème à cookies, ça vous dit quelque chose? Apparemment il y a un programme cookies mais si on se connecte, on en trouve aucune trace.
Voilà tout ce qui précède session-start sur le page problématique:

<?php require_once('Connections/main.php'); ?>

<?php


if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;



$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);



switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

}



$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}



if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "valipanier")) {

$insertSQL = sprintf("INSERT INTO panier (client, id_article, reference, nom, taille, couleur, quantite) VALUES (%s, %s, %s, %s, %s, %s, %s)",

GetSQLValueString($_POST['client'], "text"),

GetSQLValueString($_POST['id_article'], "int"),

GetSQLValueString($_POST['reference'], "text"),

GetSQLValueString($_POST['nom'], "text"),

GetSQLValueString($_POST['taille'], "text"),

GetSQLValueString($_POST['couleur'], "text"),

GetSQLValueString($_POST['quantite'], "int"));



mysql_select_db($database_main, $main);

$Result1 = mysql_query($insertSQL, $main) or die(mysql_error());



$insertGoTo = "account/panier.php";

if (isset($_SERVER['QUERY_STRING'])) {

$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

$insertGoTo .= $_SERVER['QUERY_STRING'];

}

header(sprintf("Location: %s", $insertGoTo));

}



$pararef_selection = "0";

if (isset($_POST['reference'])) {

$pararef_selection = $_POST['reference'];

}

$parataille_selection = "0";

if (isset($_POST['taille'])) {

$parataille_selection = $_POST['taille'];

}

mysql_select_db($database_main, $main);

$query_selection = sprintf("SELECT id_article, reference, taille, nom, couleur, prix FROM articles WHERE taille = %s AND reference = %s", GetSQLValueString($parataille_selection, "text"),GetSQLValueString($pararef_selection, "text"));

$selection = mysql_query($query_selection, $main) or die(mysql_error());

$row_selection = mysql_fetch_assoc($selection);

$totalRows_selection = mysql_num_rows($selection);



$paramclient_panier = "0";

if (isset($_SESSION['MM_Username'])) {

$paramclient_panier = $_SESSION['MM_Username'];

}

$paramarticle_panier = "0";

if (isset($_GET['id_article'])) {

$paramarticle_panier = $_GET['id_article'];

}

mysql_select_db($database_main, $main);

$query_panier = sprintf("SELECT id_panier FROM panier WHERE client=%s AND id_article=%s", GetSQLValueString($paramclient_panier, "text"),GetSQLValueString($paramarticle_panier, "int"));

$panier = mysql_query($query_panier, $main) or die(mysql_error());

$row_panier = mysql_fetch_assoc($panier);

$totalRows_panier = mysql_num_rows($panier);



$pararef_selection = "0";

?>

<?php

// *** Validate request to login to this site.

if (!isset($_SESSION)) {

session_start();

}
0
nicorz Messages postés 100 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 12 janvier 2011 19
27 sept. 2008 à 21:03
Et pourquoi pas mettre tout simplement le session_start juste après "<?php" ?
0
donuts08 Messages postés 519 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
27 sept. 2008 à 21:03
bonjour, ou re plutot ^^

dans main.php y'a pas du texte d'écrit ou un espace avant ou après des balises <?php ?> car l'erreur dit que la sortie a commencé à la ligne 3 soit là où tu as mis le include... regardes qu'il n'y ait pas de code HTML, de passage à la ligne etc...

EDIT: et il faut aussi supprimé les passages à la ligne que tu fais entre chaque ?> <?php je vois que tu en as plusieurs rien que dans ce code...
0
Bonsoir,

Je ne sais pas si vous êtes encore là, vu l'heure, mais vous pouvez me dire à quoi correspondent des passage de ligne?
Parce qu'apparemment, rien que de les supprimer entre ?> et <?php, ça marche???!!!!!!!!!!

Merci
0
donuts08 Messages postés 519 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
28 sept. 2008 à 01:15
lorsque l'on écrit quelque chose en dehors des balises PHP, c'est considérer comme du texte... et si on considère qu'en informatique un saut de ligne correspond au caractère \n ba tu comprends pourquoi il te dit qu'il y a une sortie d'effectuer... pasque dans ton document tu as laissé des sauts de ligne, donc des caractères \n, voilà, et c'est pareil pour les espaces...

Enfin bon maintenant tu le sais... ravi que ça fonctionne, vive CCM!
0
En tout cas, merci beaucoup. Pour la résolution du problème et pour les explications,
Tchao
0