OVH Cloud OVH Cloud

Probleme de script Session EasyPHP1.7 et serveur free

4 réponses
Avatar
Pierre
Bonjour,

Voilà, je suis en train de créer un petit site de vente en ligne à l'aide de
Dreamweaver.
Le problème c'est que j'ai résalisé un panier virtuel qui fonctionne bien
lorsque je teste au local sous EasyPHP1.7, mais qui ne marche pas lorsque je
transfère sous Free.

Voici les messages générés :

Warning: session_start():
open(/var/www/free.fr/0/4/bjorken/sessions/sess_6f9c0458b28f20621843c5e6ba10
e553, O_RDWR) failed: No such file or directory (2) in
/var/www/free.fr/0/4/bjorken/auger/bancoG_FR/panier.php on line 2

Warning: session_start(): Cannot send session cookie - headers already sent
by (output started at
/var/www/free.fr/0/4/bjorken/auger/bancoG_FR/panier.php:2) in
/var/www/free.fr/0/4/bjorken/auger/bancoG_FR/panier.php on line 2

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

Le schéma global est le suivant :
J'affiche des images en tapant des mots clés.
Je sélectionne une image et l'ajoute au panier (panier.php).

Dans le panier, je peux choisir des quantités et actualiser ce dernier. Je
peux également supprimer des choix.
Bien entendu, tant que je n'ai pas quitté le site, le panier reste valide.

A la ligne 2 j'ai ceci :
session_start();

Est-ce que ces erreurs disent quelque chose à quelqu'un ?
Pourquoi cela fonctionne-t-il sur Easy PHP et pas sur Free ? J'avoue etre
totalement perdu !

Voici le début de mon code du panier :
A noter que la majorité du code est généré par Dreamweaver !


<?php
session_start();
//init des variables
if (!isset($HTTP_SESSION_VARS['total'])) $HTTP_SESSION_VARS['total']=0;
if (!isset($total)) session_register("total");
if(!isset($HTTP_GET_VARS['ajoutPanier'])) $ajoutPanier="";//init de
ajoutPanier si non déclaré
else $ajoutPanier=$HTTP_GET_VARS['ajoutPanier'];
if(!isset($HTTP_GET_VARS['modifPanier'])) $modifPanier="";//init de
modifPanier si non déclaré
else $modifPanier=$HTTP_GET_VARS['modifPanier'];
if(!isset($HTTP_GET_VARS['suppPanier'])) $suppPanier="";//init de suppPanier
si non déclaré
else $suppPanier=$HTTP_GET_VARS['suppPanier'];
if(!isset($HTTP_GET_VARS['enregistreCommande']))
$enregistreCommande="";//init de enregistreCommande si non déclaré
else $enregistreCommande=$HTTP_GET_VARS['enregistreCommande'];
if ((!isset($HTTP_SESSION_VARS['liste']))&&($ajoutPanier==""))
$liste[]=array("VIDE",1,0,0);//init de liste si VIDE
if (isset($HTTP_SESSION_VARS['liste']))
$liste=$HTTP_SESSION_VARS['liste'];//recup de la liste de la session

?>
<?php require_once('../Connections/id.php'); ?>
<?php
mysql_select_db($database_id, $id);
//----------------------------------------------------AJOUT PANIER
if ($ajoutPanier=="AJOUTER")
{
$reference=$HTTP_GET_VARS['reference'];
$nb=1; //par défaut la quantité est = 1
$prix=$HTTP_GET_VARS['prix'];
if (!isset($liste))
session_register("liste");
$liste[]=array($reference,$nb,$prix,$prix);
$HTTP_SESSION_VARS['liste']=$liste;
//ajoute un article à la liste

}
//----------------------------------------------------MODIF PANIER
if ($modifPanier=="ACTUALISER")
{
for ($i=0;$i<count($liste);$i++)
{
$nbi=nb.$i;
$liste[$i][1]=$HTTP_GET_VARS["$nbi"];//recup du nbr d'article dans la
liste
$liste[$i][3]=$liste[$i][1]*$liste[$i][2];//prixArticle=nbre*prixUnitaire
}
$HTTP_SESSION_VARS['liste']=$liste;//mAj de la liste
}
//----------------------------------------------------SUPP PANIER
if ($suppPanier=="SUPPRIMER")
{
$article=$HTTP_GET_VARS['article'];
for ($i=0;$i<count($liste);$i++)
{
if($article==$i)
array_splice($liste,$i,1);
//suppression de l'article
}
$HTTP_SESSION_VARS['liste']=$liste;//mAj de la liste
}
//----------------------------------------------------COMMANDER
if ($enregistreCommande=="COMMANDER")
{
if(!isset($HTTP_GET_VARS['action']))
if (!isset($action))
session_register("action");
$action="ENREGISTRE";
$HTTP_SESSION_VARS['action']="enregistre";//mémorise l'action
header("Location: commande.php");
}
?>

4 réponses

Avatar
Vincent Jacques
Bonjour,

Voilà, je suis en train de créer un petit site de vente en ligne à l'aide de
Dreamweaver.
Le problème c'est que j'ai résalisé un panier virtuel qui fonctionne bien
lorsque je teste au local sous EasyPHP1.7, mais qui ne marche pas lorsque je
transfère sous Free.

Crée un dossier "sessions" dans ton home... il stocke les données des

sessions à cet endroit là, monsieur Free. J'ai eu /exactement/ le même
problème il y a six mois.

Bon courage,
--
Vincent Jacques

"La notion de passoire est indépendante de la notion de trou."
Devise Shadok

Avatar
Missions courtes
Bonjour,
Je ne sais pas si cela est encore le cas à ce jour, mais il y a un an
j'avais un site hébergé chez free, qui utilisait MySQL assez souvent
(plusieurs fois par page affichée).
J'ai du quitter FREE, parce de 15h => 22h, il était quasiment impossible de
charger correctement une page : Passage en time out la plus part du temps.
J'espère que cette situation s'est fortement améliorée, car si tu veux faire
un SITE MARCHANT tu va avoir plein d'accès à MYSQL. Si tes visiteurs ne
peuvent accéder correctement aux pages montrant les articles à vendre, ils
vont faire mauvaise réputation à ton site.

Cordialement.
Michel
Avatar
Pierre
"Vincent Jacques" a écrit
Crée un dossier "sessions" dans ton home... il stocke les données des
sessions à cet endroit là, monsieur Free. J'ai eu /exactement/ le même
problème il y a six mois.


Merci beaucoup ! Effectivement ça marche comme ca !
En fait je teste sur free avant de passer sur un autre serveur ! J'espère
que je ne vais pas découvrir de nouveaux problèmes !

Arrg !

Encore merci pour cette réponse !
Pierre




Bonjour,

Voilà, je suis en train de créer un petit site de vente en ligne à
l'aide de


Dreamweaver.
Le problème c'est que j'ai résalisé un panier virtuel qui fonctionne
bien


lorsque je teste au local sous EasyPHP1.7, mais qui ne marche pas
lorsque je


transfère sous Free.




Avatar
Missions courtes
"Pierre" a écrit dans le message news:
41c3d0b8$0$9529$
"Vincent Jacques" a écrit
Crée un dossier "sessions" dans ton home... il stocke les données des
sessions à cet endroit là, monsieur Free. J'ai eu /exactement/ le même
problème il y a six mois.


Merci beaucoup ! Effectivement ça marche comme ca !
En fait je teste sur free avant de passer sur un autre serveur ! J'espère
que je ne vais pas découvrir de nouveaux problèmes !



Bonjour,
Si tu utilise MySQL, tu auras quelques différences pour l'accès aux bases de
données pour passer de FREE chez OVH.
Je ne me rappelle plus les différences, car j'ai migré il y a un an de FREE
chez OVH.
Si tu a regroupé les informations ci-dessous dans un include appelé par tous
tes programmes, la migration sera très rapide.
- DBhost
- DBowner
- DBname
- DBpw

Cordialement.
Michel
Administrateur du site Missions courtes.