begin process at 2012 05 31 00:02:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Server Web

 > 

Apache

 > 

incohérence serveur local et distant


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

incohérence serveur local et distant

vendredi 25 décembre 2009 à 09:58:30 | incohérence serveur local et distant

garudra

Bonjour et bonnes fêtes!

je construis une boutique en ligne, mon panier fonctionne parfaitement en local, et pas du tout sur le site distant.Quelles pourraient en être les raisons?
Et comment y remédier?
je constate aussi des incohérences sur différents codes.
J'utilise, vista ultimate, wamp, php 5.29.1 mon hébergeur est 1&1.fr

j'en profite pour vous remercier, a chaque fois que j'ai demandé de l'aide sur votre forum, j'ai obtenu une réponse efficace et cohérente à mon problème, ce qui est rare!

voici les pages de codes concernées:

//fichier qui affiche le panier

<?php
session_start();
include("fonctionPanier.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Votre commande</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="commande de séminaire yoga" href="ecun2.css" /><!--Fichier C.S.S.-->
</head>
<body>
<table style="width:400px">
<tr>
<td colspan="4">Votre commande</td>
</tr>
<tr>
<td>Nom</td><td>Quantité</td><td>Prix unitaire</td><td>Total partiel</td>
</tr>
<?php
if(creationPanier())
{

$nbArticles = count($_SESSION['panier']['article']);
if($nbArticles <= 0)

echo "<tr><td>Votre panier est vide</td><td></td></tr>";
else
{
for( $i = 0 ; $i < $nbArticles ; $i++)
{
$a = $_SESSION['panier']['article'][$i];
$p = $_SESSION['panier']['qte'][$i]*$_SESSION['panier']['prix'][$i];
echo"<tr>";
echo"<td>".$_SESSION['panier']['article'][$i]."</td>";
echo"<td>".$_SESSION['panier']['qte'][$i]."</td>";
echo"<td>".$_SESSION['panier']['prix'][$i]."</td>";
echo"<td>".$p."</td>";
echo"</tr>";
}
}
echo "<tr><td colspan=\"2\"> </td>";
echo "<td colspan=\"2\">";
echo "Montant global : ".MontantGlobal();
echo "</td></tr>";
}
?>
</table><br />

<form method="POST" action="enregistrement.php">
<p>
<?php
if(creationPanier())
{

$nbArticles = count($_SESSION['panier']['article']);
if($nbArticles <= 0)

echo "Votre panier est vide";
else
{
for( $i = 0 ; $i < $nbArticles ; $i++)
{
$numero = time();
$n = $_SESSION['panier']['article'][$i];
$q = $_SESSION['panier']['qte'][$i];
$pr = $_SESSION['panier']['prix'][$i];
$mg = MontantGlobal();
$p = $_SESSION['panier']['qte'][$i]*$_SESSION['panier']['prix'][$i];

echo"
<input type=\"hidden\" name=\"nomcom\" value=\".$n.\">
<input type=\"hidden\" name=\"qtecom\" value=\".$q.\">
<input type=\"hidden\" name=\"prixcom\" value=\".$pr.\"><br />";
}
}
echo "<input type=\"hidden\" name=\"montglobcom\" value=".$mg."><br />";
}
?>
<h2>Vérifiez vos coordonnées et validez votre commandeS.V.P.</h2><br />

<label for="numero">le N° de votre commande est:</label><input type="text" name="numero" value="<?php echo $numero ;?>"/>
<label for="pseudo">Votre pseudo: </label><input type="text" name="pseudo" id="pseudo"value="<?php echo $_SESSION['pseudo'];?>"/><br />

<label for="password">Votre mot de passe: </label><input type="password" name="password" id="password"value="<?php echo $_SESSION['password'];?>"/>

<label for="password2">Répétez votre mot de passe: </label><input type="password" name="password2"
id="password2"value="<?php echo $_SESSION['password2'];?>"/><br />

<label for="civilite">Civilité: </label>
<select name="civilite" id="civilite"value="<?php echo $_SESSION['civilite'];?>"/>
<option value="Mme">Madame</option>
<option value="Mlle">Mademoiselle</option>
<option value="Mr">Monsieur</option>
</select>

<label for="nom">Votre nom: </label><input type="text" name="nom" id="nom"size="30"value="<?php echo $_SESSION['nom'];?>"/>
<label for="prenom">Votre prénom: </label><input type="text" name="prenom" id="prénom"size="15"value="<?php echo $_SESSION['prenom'];?>"/><br />
<label for="adresse">Votre adresse: </label><input type="text" name="adresse" id="adresse"size="50"value="<?php echo $_SESSION['adresse'];?>"/>
<label for="pays">Pays: </label><input type="text" name="pays" id="pays"size="15"value="<?php echo $_SESSION['pays'];?>"/>
<label for="ville">Ville: </label><input type="text" name="ville" id="ville"size="15"value="<?php echo $_SESSION['ville'];?>"/><br />
<label for="cp">Votre code postal: </label><input type="text" name="cp" id="cp"size="5"value="<?php echo $_SESSION['cp'];?>"/>
<label for="mail">Votre mail: </label><input type="text" name="mail" id="mail"size="30"value="<?php echo $_SESSION['mail'];?>"/>
<label for="tel">Votre Tel.: </label><input type="text" name="tel" id="tel"size="10"value="<?php echo $_SESSION['tel'];?>"/><br />
<label>Je me suis trompé, je recommence: </label><input type="reset" value="reinitialiser"/><br /><br />

<input type="submit" value=" je confirme la commande et procéde au paiment"/>

</p>
</form>
</body>
</html>


//fonctions du panier


<?php

function creationPanier()
{
$ret = false;

if(isset($_SESSION['panier']))
$ret = true;
else
{
$_SESSION['panier'] = array();

$_SESSION['panier']['article'] = array();
$_SESSION['panier']['qte'] = array();
$_SESSION['panier']['prix'] = array();
$ret = true;
}
return $ret;
}
//--------------------------------AJOUT-------------------------------------------------------------------------
function ajout($article, $qte, $prix)
{
if(creationPanier())
{
$position = array_search($article, $_SESSION['panier']['article']);
if($position !== false)
{
$_SESSION['panier']['qte'][$position] += $qte;
}
else
{
array_push($_SESSION['panier']['article'], $article);
array_push($_SESSION['panier']['qte'], $qte);
array_push($_SESSION['panier']['prix'], $prix);

}
}
else
{
echo'Ta 1 blème, mon pote!';
}
}


//supprimer

function supprimer($article){

if (creationPanier())
{
$tmp=array();
$tmp['article'] = array();
$tmp['qte'] = array();
$tmp['prix'] = array();

for($i = 0; $i < count($_SESSION['panier']['article']); $i++)
{
if ($_SESSION['panier']['article'][$i] !== $article)
{
array_push( $tmp['article'],$_SESSION['panier']['article'][$i]);
array_push( $tmp['qte'],$_SESSION['panier']['qte'][$i]);
array_push( $tmp['prix'],$_SESSION['panier']['prix'][$i]);

}

}

$_SESSION['panier'] = $tmp;
unset($tmp);

}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
// total ------>
function MontantGlobal(){

$total=0;

for($i = 0; $i < count($_SESSION['panier']['article']); $i++)
{
$total += $_SESSION['panier']['qte'][$i] * $_SESSION['panier']['prix'][$i];
}

return $total;
}


//------------------------------------------------------------------------------MODIFIER
function modifierQteArticle($article,$qte){
if (creationPanier())
{

if ($qte > 0)
{
$position = array_search($article, $_SESSION['panier']['article']);

if ($position !== false)
{
$_SESSION['panier']['qte'][$position] = $qte ;
}
}
else
supprimer($article);

}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}

?>



vendredi 25 décembre 2009 à 11:19:47 | Re : incohérence serveur local et distant

kohntark

Membre Club
Réponse acceptée !
Salut,

[...]pas du tout sur le site distant


Mais encore ?
Qu'est ce qui ne fonctionne pas au juste ?
Des erreurs affichées ?
Sont elles activées ?
=> si doute, ajoute en tout début de script :
Code PHP :
ini_set('display_errors', 1);
error_reporting(-1);


Si tu n'as toujours pas d'erreur après ça, ajoute, en dessous du premier include() :
Code PHP :
print_r($_SESSION);



Cordialement,


Kohntark -

vendredi 25 décembre 2009 à 11:25:47 | Re : incohérence serveur local et distant

syndrael

Réponse acceptée !
Autre piste en plus des éléments de Kohntark, régler le Session MaxTime via un Ini_set. Tout simplement parce qu'on ne connait pas nécessairement les réglages de ton hébergeur. Peut-être que la Session s'efface prématurement.
S.
vendredi 25 décembre 2009 à 18:50:39 | Re : incohérence serveur local et distant

garudra

Bonsoir!

Merci de me consacrer du temps le jour de Noël!

Ce qui ne marche pas:

le panier s'affiche, mais ce sont les fonctions "Annuler" , "Modifier", "Supprimer" qui ne fonctionnent pas.
J'suivi tes instructions, j'ai recueilli le message suivant:
"Array ( [panier] => Array ( [article] => Array ( ) [qte] => Array ( ) [prix] => Array ( ) ) ) "
Je ne sais quelles infos en retirer!
Si tu veux te rendre compte par toi même, ce sera plus concret, mon site est: "http://www.ecoledeyogaetdayurvedanice.fr/"
cliques sur le lien administration, tapes le mot de passe "petizanj", puis sur le lien "administrer la boutique".

Merci encore!
vendredi 25 décembre 2009 à 18:55:24 | Re : incohérence serveur local et distant

garudra

Bonsoir!

Merci de m'avoir répondu si vite!

J'ignore totalement coment règler le "Session MaxTime via un Ini_set", j'ignore même ce que c'est !.

Merci de m'éclairer!
vendredi 25 décembre 2009 à 20:03:58 | Re : incohérence serveur local et distant

garudra

Re bonsoir!

j'ai activé php 5 chez 1&1, maintenant, j'obtiens les messages suivants:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/10/d296405745/htdocs/entree.php:2) in /homepages/10/d296405745/htdocs/entree.php on line 3

Array ( [panier] => Array ( [article] => Array ( ) [qte] => Array ( ) [prix] => Array ( ) ) [pseudo] => garuda1 [password] => hiranyagarbha [password2] => hiranyagarbha [civilite] => Mr [nom] => GOFFINET [prenom] => Christian [adresse] => Chemin des barches, résidence la Balma [pays] => France [ville] => Valdeblore [cp] => 06420 [mail] => garuda1@hotmail.fr [tel] => 0493032241 sur le fichier "panier2.php"

Notice: Undefined variable: mg in /homepages/10/d296405745/htdocs/commande.php on line 77 alors que cette variable est déclarée quelques lignes plus haut!

Strict Standards: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /homepages/10/d296405745/htdocs/enregistrement.php on line 44

Et bien sûr, le panier ne fonctionne toujours pas!

Merci de votre aide
samedi 26 décembre 2009 à 09:22:36 | Re : incohérence serveur local et distant

kohntark

Membre Club

Attention à tes formulaires !!
- il faut TOUJOURS restreindre au maximum les données entrées par les utilisateurs
Par exemple, dans ton formulaire inscription.php, le pays, le code postal et la ville devraient être pré établis par tes soins et choisis par l'utilisateur via des listes déroulantes. Ainsi tu limites les erreurs de saisie et tous les problèmes qui suivent.

- il faut TOUJOURS vérifier au maximum les données provenant de l'utilisateur.
Par exemple, dans ce même fichier je peux entrer 'test' en numéro de tel et en adresse mail.

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/10/d296405745/htdocs/entree.php:2) in /homepages/10/d296405745/htdocs/entree.php on line 3


=> ~ impossible d'initialiser la session car des données ont déjà été envoyées vers le navigateur à la ligne 3 de entree.php
session_start() doit être appelé avant tout autre envoi de données au client.
Vérifie donc ce point (même un saut de ligne ou une balise <html> peuvent causer ce pb.

J'ignore totalement coment règler le "Session MaxTime via un Ini_set", j'ignore même ce que c'est !.


voir :
session.gc_maxlifetime
session.cookie_lifetime
et les liens associés

mais ce sont les fonctions "Annuler" , "Modifier", "Supprimer" qui ne fonctionnent pas.


Comment appelles tu ces fonctions ? (il n'y a aucun appel dans le code que tu as fournis)

Cordialement,

Kohntark -



Cette discussion est classée dans : session, echo, article, color, panier


Répondre à ce message

Sujets en rapport avec ce message

panier : je ne m'en sors pas.... [ par jereln ] Bonjour, je suis en trai de créer un panier avec utilisation des sessions.J'ai une première page (index.php) qui correspond à mon catalogue. Chaque ar probleme syntaxe ecriteu BDD [ par ju0123456789 ] Bonjour, j'ai les produits du panier qui s'affichent sur ma page "modes_paiement.php" , le nombre d'articles et ainsi que le prix total, j'ai ma table problème de panier et session [ par jereln ] je suis en train de créer un panier à l'aide de sessions. J'ai une première page catalogue (index.php) où sont listés mes articles. Chacun d'eux a un HELP PLEASE !!!! problème de panier... [ par frederic66 ] Bonjour,mon site a été redirigé sur un nouveau serveur qui utilise PHP4, MySQL - 5.0.51a-log. depuis, mon panier ne fonctionne plus correctement... on Vider panier [ par Miss1 ] Salut j'ai crée un panier et se que je voudrais savoir c'est comment faire pour vider le panier quand le client se déconnecte je connais cette methode Caddie e-commerce [ par guisx00 ] Salut je suis à la recherche de conseils svp, Voila je suis entrain de crée un petit panier e-commerce pour lister les articles et en choisir un sa c' balise div et select [ par yop59 ] bonjour j'ai un gros souci,, cea fait 2jours que j'essai dans une table de type div contenant un article, un qte de modifier la qte avec un select et POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For) [ par Const4ntine ] Bonjour,Après avoir passé près de 4h dessus, et avoir fait des tests de tout les cotés, je demande de l'aide ;)J'ai un panier qui se charge par rappor panier [ par hajourakr ] bonjour j'ai developper un panier php je veut suuprimer un article de panier voici mon code est ce que vous pouvez m'aider merci function supprimer suppression article panier [ par hajourakr ] bonjour, je veut supprimer un article de mon panier mais il ne marche pas voici mon code function removePanier() { for($i = 0; $i < count($_SE


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales