-
Message publié le vendredi 26 septembre 2008 à 12 h 18 par yseuld.
-
Bonjour,
Voilà la phrase qui apparaît sur mon site chaque fois que je tente de faire une modification sur PSpad :
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
A ligne en question, il est écrit session_start. La solution de mettre // devant sans session_start, corrige le problème mais le client (site marchand) doit taper son identifiant et son mot de passe sur chaque page qu'il ouvre.Est-ce que je dois laisser session_start et débuter la ligne par //?
Voilà un extrait de la page et des lignes qui apparemment, posent problème:
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
et aussi, plus loin dans le document:
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
Merci à ceux qui pourraient m'aider,
-
Message publié le vendredi 26 septembre 2008 à 12 h 51 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Salut !
Le session_start() est obligatoire !!!
Par contre, il faut que cette fonction soit appelée avant que du texte soit produit soit en html, soit en php...
Donc vérifie qu'il y a pas un echo, ou du html (même un espace) avant ton script php ou l'appel de cette fonction...
Adrien
-
Message publié le vendredi 26 septembre 2008 à 13 h 00 par yseuld.
-
Aie, petit oubli (je suis impardonnable): je suis une méga débutante! en un peu plus simple, ça donne quoi? (si possible, je ne demande pas non plus un cours...
Merci
-
Message publié le vendredi 26 septembre 2008 à 13 h 12 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
-
Des exemples pour comprendre :
PAS BON
<p>Blablabla</p>
<?php session_start(); ?>
<?php
$variable = 'Bonjour !';
echo $variable;
session_start();
?>
BON
<?php session_start(); ?>
<p>Blablabla</p>
Si c'est pas indiscret, est-ce-que tu peux poster le code source de ta page avant la ligne 89...
Je pense que le problème vient des toutes premières lignes de ton fichier...
Adrien
-
Message publié le vendredi 26 septembre 2008 à 15 h 23 par yseuld.
-
Re,
Voilà tout ce qu'il y a avant le fameux:
//*** valide...(donc ligne 1 à 88!!!)
<?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
-
Message publié le dimanche 28 septembre 2008 à 09 h 36 par yseuld.
-
Bonjour,
Le problème est résolu, un problème de passage de ligne à chaque fois entre ?> et<?php.
Ca a l'air si simple...
Merci