Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème erreurs WARNING dans scripts PHP

11 réponses
Avatar
Pierre
Bonjour,

Tout d'abord désolé de poster ici, mais j'ai envoyé un message dans le forum
fr.comp.lang.php, mais aucun message ne s'affiche depuis hier.

Voici mon problème.
Je m'entraîne à créer un site de vente avec choix de produits dans un
catalogue, puis mémorisation dans un panier virtuel. Jusque là tout va bien
!
Ensuite depuis le panier l'internaute clique sur un bouton COMMANDER et
bascule sur un fichier commande.php qui teste dans un premier temps si
l'utilisateur est déjà identifié sur le site.
Si tel n'est pas le cas, le scipt commande.php fait ouvrir le script
login.php. Et je pense que c'est là que j'ai un problème.
Ce script est composé d'un formulaire avec un champ pour entrer son email
(login) et un champ pour le mot de passe.

Normalement une fois ces éléments entrés, soit l'utilisateur n'est pas
inscrit et s'enregistre via un formulaire d'inscription, soit le script
login.php retourne sur le script commande.php.

Mais lorsque je valide sous login.php après avoir entré l'email et le mot de
passe (ces deux éléments sont déjà intégrés dans une table spécifique de ma
base de données), sous EasyPHP il ne se passe rien ! Je reste sur le
formulaire de login.php

Lorsque j'envois sous Free, j'ai les 2 messages suivants :

-1-
"Warning: session_start(): Cannot send session cache limiter - headers
already sent (output started at
/var/www/free.fr/0/4/bjorken/auger/bancoG_FR/login.php:9) in
/var/www/free.fr/0/4/bjorken/auger/bancoG_FR/login.php on line 28"

A la ligne 28 j'ai : session_start();

-2-
Warning: Cannot modify header information - headers already sent by (output
started at /var/www/free.fr/0/4/bjorken/auger/bancoG_FR/login.php:9) in
/var/www/free.fr/0/4/bjorken/auger/bancoG_FR/login.php on line 35

A la ligne 35 j'ai : header("Location:commande.php");


Voici le script total :
----------------------------------------------------------------------------
------------------
<?php
//initialisation des variables
if (!isset($HTTP_POST_VARS['valider'])) $HTTP_POST_VARS['valider']="";
if (!isset($HTTP_POST_VARS['pass'])) $HTTP_POST_VARS['pass']="";
if (!isset($HTTP_POST_VARS['email']))$HTTP_POST_VARS['email']="";
if (!isset($erreurlog)) $erreurlog=0;
?>

<?php require_once('../Connections/id.php'); ?> // paramètres de connexion à
la base

<?php
$colpass_rsLogin = "0";
if (isset($HTTP_POST_VARS['pass'])) {
$colpass_rsLogin = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['pass'] :
addslashes($HTTP_POST_VARS['pass']);
}
$colemail_rsLogin = "0";
if (isset($HTTP_POST_VARS['email'])) {
$colemail_rsLogin = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['email'] :
addslashes($HTTP_POST_VARS['email']);
}
mysql_select_db($database_id, $id);
$query_rsLogin = sprintf("SELECT clients.email, clients.pass,
clients.statut, clients.ID FROM clients WHERE email='%s' AND pass='%s'",
$colemail_rsLogin,$colpass_rsLogin);
$rsLogin = mysql_query($query_rsLogin, $id) or die(mysql_error());
$row_rsLogin = mysql_fetch_assoc($rsLogin);
$totalRows_rsLogin = mysql_num_rows($rsLogin);
?>

<?php
if ($HTTP_POST_VARS['valider']=="ok")
{
session_start(); // Ca c'est la ligne 35!
$statut=$row_rsLogin['statut'];
$clientID=$row_rsLogin['ID'];
if ($row_rsLogin['statut']=="client")
{
$HTTP_SESSION_VARS['statut']=$row_rsLogin['statut'];
$HTTP_SESSION_VARS['clientID']=$row_rsLogin['ID'];
header("Location:commande.php"); // Et ca la ligne 38
}
else
{
$erreurlog=1;
}
}
?>
----------------------------------------------------------------------------
---------------------------------------------

Quelqu'un pourrait-il m'expliquer ce que signifie ces messages d'erreurs ?
Je n'y comprends plus rien !

Merci d'avance !!
Pierre

1 réponse

1 2
Avatar
Peter Pan
Pierre Goiffon wrote:
(et tant qu'à continuer dans le hors-sujet, vous devriez essayer OE
QuoteFix : http://home.in.tum.de/~jain/software/oe-quotefix/)



Une merveille. Il fait même mieux que Thunderbird :-)

--
Pierre
http://www.1966.fr/
1 2