Jump to content

PROBLEME DE MISE AU PANIER et CONNEXION AVEC 1.6 SUR CHROME


Recommended Posts

Bonjour à toutes et tous,

 

J'ai un problème avec la mise au panier avec la version 1.6 quand on clic sur "ajouter au panier" rien ne se passe.

Je ne rencontre pas ce soucis sur Mozilla Firefox ni safari.

 

Je précise que l'installation sur mutu OVH s'est bien déroulée et que je travaille sur le modèle de base (template) PS.

 

Le soucis se présente également pour la connexion en temps que client déjà enregistré : on entre l'adresse mail, le mot de passe, on clic sur connexion et rien ne se passe. Pas de soucis sur firefox. Problème sur chrome.

 

Voici l'adresse de mon site, si vous souhaitez faire un essai : www.pivoine-fleurs-artificielles.com

 

Merci d'avance de votre aide.

Link to comment
Share on other sites

Pour faire pas mal de tests en dev sur Chrome, je t'assure que ce n'est pas la panacée..

 

Comme le dit Cedric, une fois tes réglages finis, vider le cache chrome et effacer les cookies. Je remarque en effet, qu'en restant connecté pendant mes tests certains résultats étaient déroutants.

Il y a également la solution d'ouvrir une fenêtre en navigation privée.

Chrome possède plusieurs niveaux de cache et parfois certaines données restent quand même.

 

Après, je pense qu'il doit être rare qu'un client reste connecté plusieurs heures sur la boutique pour en arriver aux mêmes problèmes.

  • Like 1
Link to comment
Share on other sites

Merci beaucoup Cédric et Eolia : votre aide m'a été précieuse! Vous m'avez sauvée de nombreuses heures de travail et je vous en suis totalement reconnaissante. Vraiment.

 

Effectivement le problème venait du cache chrome. A savoir que j'ai du répéter l'opération 2 fois ....

Je vais suivre vos conseils et ne travailler qu'avec firefox, qui ne me pose jamais ce genre de soucis.

 

 

 

Link to comment
Share on other sites

  • 9 months later...

bonjour

 

j'ai le même problème sur ma boutique

 

ajout au panier qui ne donne rien

impossible de se connecter à mon compte client

 

en vidant le cache de chrome cela re fonctionne

 

mais cela implique de demander au visiteur de vider son cache ce n'est pas très userfriendly

 

avez vous une solution au niveau configuration de prestashop pour empecher ce bug sur chrome.

 

Merci pour votre aide

Link to comment
Share on other sites

Ce problème ne risque pas d'arriver à l'un de vos clients. Le problème de chrome est lié au fait que vous êtes connecté en tant qu'admin et en même temps en tant que client, du coup il se mélange les pinceaux entre les caches/cookies.

Si vous voulez tester votre site en tant que client, soit utilisez un autre navigateur, soit videz vos caches/cookies avant.

Link to comment
Share on other sites

  • 1 month later...

CE PROBLEME NE osées Pas D'ARRIVER À L'ONU DE VOS clients. Le Problème de chrome is Lié au that VOUS ÊTES Connecté en Tant qu'admin et en mème temps en Tant client Que, du coup il se mélange les pinceaux Entre les caches / cookies.

Si vous voulez tester Votre site fr client Tant de Québec, Soit utilisez Navigateur non de Autre, Soit Videz Vos caches / biscuits avant.

A mon tour de Rencontrer bug non de la mise en panier .... Quelque Soit le naviguateur ..

http://www.wineandbee.com/

 

Auriez-vous Une idée?

 

Merci par avance

 

[Résolu]

Edited by Sébastien XAE (see edit history)
Link to comment
Share on other sites

Votre problème se situe ailleurs pour vous, vous avez des fichiers javascript qui ne se chargent pas:

 

Uncaught ReferenceError: runFancy is not defined

http://platform.loyaltylion.com/sdk/configuration/.js Failed to load resource: the server responded with a status of 404 (Not Found)
ll.sdk-1.1.js:1 LoyaltyLion error: Please initialise LoyaltyLion properly with the lion.init() method.

 

Ces fichiers n'étant pas natifs de Prestashop, regardez du coté de votre thème ou de modules tiers.

  • Like 1
Link to comment
Share on other sites

Votre problème se situe ailleurs pour vous, vous avez des fichiers javascript qui ne se chargent pas:

 

Ces fichiers n'étant pas natifs de Prestashop, regardez du coté de votre thème ou de modules tiers.

 

 

Merci Eolia, vous me réduisez le champs des recherches.

 

Je poursuis dans cette voie...

Link to comment
Share on other sites

euh... attention avant d'employer des méthodes barbares^^

 

Depuis quand n'avez-vous plus accès à ce module ?

Avez-vous effectué une mise à jour récente de celui-ci ?

 

Commencez par activer l'affichage des erreurs (fichier /config/defines.inc.php, passez le mode dev à true: define('_PS_MODE_DEV_', true);) et donnez nous le message d'erreur.

  • Like 1
Link to comment
Share on other sites

OK bien noté Eolia ;)

Sinon, je n'ai pas touché à ce module....

 

Voilà pour mon message d'erreur :

Parse error: syntax error, unexpected 'class' (T_CLASS) in /home/wineandbui/www/modules/fianetfraud/lib/kernel/CertissimXMLElement.class.php on line 1
[PrestaShop] Fatal error in module CertissimXMLElement.class:
syntax error, unexpected 'class' (T_CLASS)

 

Comprenez vous mieux que moi pourquoi je n'ai plus acceès aux modules en back office

 

Un énorme merci renouvelé ;)

Link to comment
Share on other sites

Et grâce à votre technique, je découvre 2 nouvelles erreurs en front office sur ma home page :

 

Notice: unserialize(): Error at offset 2308 of 2344 bytes in /home/wineandbui/www/classes/cache/CacheFs.php on line 70

Notice: unserialize(): Error at offset 2355 of 2390 bytes in /home/wineandbui/www/classes/cache/CacheFs.php on line 70

 

 

Est-ce moins grave ?

Link to comment
Share on other sites

Bon, là le problème vient du module fianetfraud ce qui est un autre problème.

 

Mis à jour récemment celui-ci ?

Pouvez-vous copier ici le début de ce fichier (/home/wineandbui/www/modules/fianetfraud/lib/kernel/CertissimXMLElement.class.php ) ça sent le code ramassé sur une ligne^^ (pb de transfert ou décompression)

Link to comment
Share on other sites

Non Eolia, pas touché à ce module... Ce sont des eaux trop dangereuses pour moi ;)

 

Voici pour le fichier =>

<?php/** * 2007-2014 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * *  @author    PrestaShop SA <[email protected]> *  @copyright 2007-2014 PrestaShop SA *  @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0) *  International Registered Trademark & Property of PrestaShop SA *//** * Class XML *  * @author ESPIAU Nicolas <nicolas.espiau at fia-net.com> */class CertissimXMLElement extends CertissimMother{ protected $encoding = 'UTF-8'; protected $name = ''; protected $value = ''; protected $attributes = array(); protected $children = array(); public function __construct($data = null) { if (is_null($data)) { $name = preg_replace('#^(certissim-)?(.*)$#', '$2', CertissimTools::normalizeName(get_class($this))); $this->setName($name); } //if $data is a valid string if (is_string($data)) { //drops spaces at the beginning of the string $data = preg_replace('#^[ \r\n]*#', '', $data); //checks the XML validity if (!CertissimTools::isXMLstring($data)) { $msg = "La chaine \"$data\" n'est pas valide"; CertissimLogger::insertLog(get_class($this).' - __construct()', $msg); throw new Exception($msg); } //convert string into SimpleXMLElement $data = new SimpleXMLElement($data); } //if $data is SimpleXMLElement if (CertissimTools::isSimpleXMLElement($data)) { $string = (string)$data; $this->name = $data->getName(); $this->value = $string; foreach ($data->attributes() as $attname => $attvalue) $this->attributes[$attname] = $attvalue; foreach ($data->children() as $simplexmlelementchild) { $child = new CertissimXMLElement($simplexmlelementchild); $this->addChild($child); } } } /** * adds an attribute to the current object * * @param string $name nom de l'attribut * @param string $value valeur de l'attribut */ public function addAttribute($name, $value) { $this->attributes[$name] = $value; } /** * returns the value of the current element's attribute named $name * * @param string $name nom de l'attribut * @return string */ public function getAttribute($name) { return (isset($this->attributes[$name]) ? $this->attributes[$name] : null); } /** * returns an array containing all the children of the current element that are namde $name * * @param string $name * @return array */ public function getChildrenByName($name) { $children = array(); foreach ($this->getChildren() as $child) { if ($child->getName() == $name) array_push($children, $child); $children = array_merge($children, $child->getChildrenByName($name)); } return $children; } /** * returns the first child with the name $name * * @param string $name * @return CertissimXMLElement */ public function getChildByName($name) { $children = $this->getChildrenByName($name); return array_pop($children); } /** * returns an array containing all the children of the current element that are named $name * * @param <type> $name * @param <type> $attributename * @param <type> $attributevalue * @return <type> */ public function getChildrenByNameAndAttribute($name, $attributename, $attributevalue = null) { $children = $this->getChildrenByName($name); foreach ($children as $key => $child) if (is_null($child->getAttribute($attributename)) || (!is_null($attributevalue) && $child->getAttribute($attributename) != $attributevalue)) unset($children[$key]); return $children; } /** * returns the first child with the name $name and attribute $attributename set to $attribute value * * @param string $name * @param string $attributename name of the wanted attribute * @param string|null $attributevalue name of the wanted value, null if we're only looking for the attribute presence * @return CertissimXMLElement */ public function getChildByNameAndAttribute($name, $attributename, $attributevalue = null) { $children = $this->getChildrenByNameAndAttribute($name, $attributename, $attributevalue); return array_pop($children); } /** * appends a child to the children and returns the child CertissimXMLElement object * * @param mixed $input CertissimXMLElement, string or SimpleXMLElement * @param string $value value of the child * @param array $attributes attributes of the child * @return XMLElement */ public function addChild($input, $value = null, $attributes = array()) { $input = $this->createChild($input, $value, $attributes); $this->children[] = $input; return $input; } /** * stacks a child to the children and returns the child CertissimXMLElement object * * @param mixed $input CertissimXMLElement, string or SimpleXMLElement * @param string $value value of the child * @param array $attributes attributes of the child * @return XMLElement */ public function stackChild($input, $value = null, $attributes = array()) { $input = $this->createChild($input, $value, $attributes); array_unshift($this->children, $input); return $input; } /** * normalizes $input into a CertissimXMLElement object with children * use cases: * createChild(XMLElement) --> won't do anything * createChild(simpleXMLElement) * createChild("<element a='1' b='2'>valeur</element>") * createChild("element","valeur", array('a'=>1, 'b'=>2)) * * @param mixed $input * @param string $value * @param string $attributes * @return XMLElement */ private function createChild($input, $value = null, $attributes = array()) { if (is_string($input) && !CertissimTools::isXMLstring($input)) { $str = "<$input"; foreach ($attributes as $name => $val) $str .= " $name='$val'"; $str .= '>'; if (!is_null($value)) $str .= $value; $str .= "</$input>"; $input = new SimpleXMLElement($str); } if (is_string($input) || CertissimTools::isSimpleXMLElement($input)) $input = new CertissimXMLElement($input); if (!CertissimTools::isXMLElement($input)) { $msg = "Le paramètre entré n'est pas pris en compte par la classe XMLElement"; CertissimLogger::insertLog(get_class($this).' - createChild()', $msg); throw new Exception($msg); } return $input; } /** * returns true if the current object has no value and no child, false otherwise * * @return bool */ public function isEmpty() { return ($this->getValue() == '' || is_null($this->getValue())) && ($this->countChildren() == 0); } /** * returns the current object child count * * @return int */ public function countChildren() { return count($this->children); } /** * returns the current object as a SimpleXMLElement object * * @param boolean $recursive allow to add children into the result * @return SimpleXMLElement */ public function toSimpleXMLElement($recursive = false) { $simplexlmelementobject = new SimpleXMLElement('<'.$this->getName().'>'.$this->getValue().'</'.$this->getName().'>'); foreach ($this->getAttributes() as $name => $value) $simplexlmelementobject->addAttribute($name, $value); if ($recursive) $this->attachChildren($simplexlmelementobject); return $simplexlmelementobject; } /** * attaches all the children and their children of the current object to the object given in parameter * * @param SimpleXMLElement $simplexmlelement */ public function attachChildren($simplexmlelement) { foreach ($this->getChildren() as $child) { $simplexmlelement_child = $simplexmlelement->addChild($child->getName(), $child->getValue()); foreach ($child->getAttributes() as $name => $value) $simplexmlelement_child->addAttribute($name, $value); $child->attachChildren($simplexmlelement_child); } } /** * Adds CDATA sections * */ public function addCdataSections() { if ($this->countChildren() == 0 && $this->getValue() != '') { $value = $this->getValue(); $cdatavalue = preg_replace('#^(<!\[CDATA\[)?(.+)(\]\]>)?$#', '<![CDATA[$2]]>', $value); $this->setValue($cdatavalue); } else foreach ($this->getChildren() as $child) $child->addCdataSections(); } /** * returns the current object as a string * * @param bool $withcdatas add CDATA sections or not * @return type */ public function getXML($withcdatas = false) { if ($withcdatas) $this->addCdataSections(); $ret = preg_replace('#^.*(<\?xml.+)(\?>)#is', '$1 encoding="'.$this->getEncoding().'"$2', $this->toSimpleXMLElement(true)->asXML()); $ret = html_entity_decode($ret, ENT_NOQUOTES, $this->getEncoding()); $ret = preg_replace('#[\r\n'.chr(10).chr(13).']#', '', $ret); $ret = preg_replace('#>( )+<#', '><', $ret); return ($ret); } public function __toString() { return $this->getXML(); } /** * saves the XML string into a file * * @param string $filename file path * @return string */ public function saveInFile($filename) { return $this->toSimpleXMLElement(true)->asXML($filename); } /** * * @param string $name * @param array $params * @return mixed */ public function __call($name, array $params) { if (preg_match('#^get(.+)$#', $name, $out)) return $this->__get(Tools::strtolower($out[1])); if (preg_match('#^set(.+)$#', $name, $out)) return $this->__set(Tools::strtolower($out[1]), $params[0]); if (preg_match('#^child(.+)$#', $name, $out)) { $elementname = Tools::strtolower($out[1]); $empty_allowed = (isset($params[2]) ? $params[2] : false); if (isset($params[0]) && CertissimTools::isXMLElement($params[0])) { $childname = preg_replace('#^(certissim-)?(.*)$#', '$2', $params[0]->getName()); if ($childname != $elementname) throw new Exception('Le nom de la balise ne correspond pas : '.$elementname.' attendu, '.$childname.' trouvé.'); if (!$params[0]->isEmpty() || $empty_allowed) return $this->addChild($params[0]); return false; } $child = new CertissimXMLElement("<$elementname></$elementname>"); if (isset($params[1])) foreach ($params[1] as $att => $value) $child->addAttribute($att, $value); if ((!isset($params[0]) || is_null($params[0]))) { if ($empty_allowed) return $this->addChild($child); return false; } if (is_string($params[0]) || is_int($params[0])) if (CertissimTools::isXMLstring($params[0])) { $granchild = $this->createChild($params[0]); $child->addChild($granchild); } else $child->setValue($params[0]); if (!$child->isEmpty() || $empty_allowed) return $this->addChild($child); return false; } [spam-filter]


C énorme  :unsure:

 

Surtout est-ce lisible pour vous ?

Link to comment
Share on other sites

Problème résolu.

 

En dehors des soucis de modules, il y avait également un problème lié au transfert des fichiers sur le ftp.

Si vous éditez/modifiez un fichier, toujours vérifier que celui-ci est enregistré en mode utf8 SANS BOM

Lors du transfert par ftp en utilisant Filezilla, paramétrer le transfert en mode BINAIRE et PASSIF ce qui évitera tout problème d'erreur en écriture. (le mode automatique peut provoquer des erreurs)

 

Merci d'éditer le titre du 1er Post en ajoutant [Résolu] :)

Link to comment
Share on other sites

Un énorme merci à Eolia dont l'intervention a été aussi rapide qu'efficace.

Je ne vois pas comment j'aurai résolu seul mon problème

 

En effet, je cumulais une double source de dysfonctionnement :

- Trop de modules installés sur mon Back-Office

- Des mauvaises manipulations de fichiers sur mon FTP, qui désormais se réaliseront en mode UTF8 sans BOM + en mode Binaire et Passif.

 

La communauté Prestashop est d'une grande force !

Link to comment
Share on other sites

je m'incruste sur ce post car j'ai un souci un peu similaire

en effet, si j'ajoute un produit à mon panier, je suis le process de commande, je me connecte avec mon compte, j'arrive sur la page d'adresse et là quand je clique sur commander, je reviens sur la page d'authentification et si je me connecte à nouveau là ca marche.

 

j'ai essayé de désactiver mes overrides, de changer de thème et de désactiver de nombreux modules mais en fait je me suis rendue compte que c'était très aléatoire et que parfois ca fonctionne et parfois non. du coup je me dis que ca doit venir du coeur de prestashop. sinon soit ca marcherai tout le temps soit jamais.

 

par ailleurs j'ai déjà vidé le cache presta + cache navigateur et cookies. mais rien n'y fait. j'ai le souci avec firefox et apparement pas avec chrome (sachant que j'utilise firefox tout le temps et chrome jamais , juste pour des tests de temps en temps)

 

d'ou est ce que ca pourrait venir. c'est vraiment aléatoire. si j'essai de me connecter 10 fois de suite ca peut très bien fonctionner 10% du temps.

voilà mon site www.chevaldetrefle.com

 

merci d'avance pour les réponses

Link to comment
Share on other sites

  • 5 years later...

Bonjour,

 

je vous solicite pour un problème qui me paraît très semblable à celui évoqué dans ce vieux post.

Certains de mes clients (1 sur 50 environ) m'appelle car il n'arrive pas à créer un compte sur mon site. (presta 1.7.6) cela se produit sous Chrome et toujours quand le client à constitué son panier avant de se créer son compte. Il rempli les champs et lorsque il valide cela lui signale que son adresse mail est déjà utilisé. Je leur fais supprimer les données de navigation et cela fonctionne.

Ce n'est pas un problème quotidien, mais assez régulier pour que je m'en préocuppe, surtout que je ne sais pas si le problème vient du presta ou de leur navigateur.

 

Si quelqu'un a déjà eu ce problème avez-vous des pistes?

 

Je vous remercie pour votre attention et votre assistance.

 

Catherine.

Link to comment
Share on other sites

  • 1 month later...
On 1/10/2015 at 1:29 PM, Eolia said:

Ce problème ne risque pas d'arriver à l'un de vos clients. Le problème de chrome est lié au fait que vous êtes connecté en tant qu'admin et en même temps en tant que client, du coup il se mélange les pinceaux entre les caches/cookies.

Si vous voulez tester votre site en tant que client, soit utilisez un autre navigateur, soit videz vos caches/cookies avant.

Bonjour,

le problème arrive à mes clients, qui ne peuvent pas aller jusqu'au bout de la création de leur compte car leur adresse mail est soit disant déjà usitée. Je leur suggère d' "Effacer les données de navigation". Cela résout toujours le problème, mais ce n'est pas très profesionnel d'autant plus qu'au passage ils perdent le contenu de leut panier.

J'aimerai résoudre ces difficultés ou au moins avoir une piste vers laquelle me diriger si l'un de vous à une idée?

(Mon site est en version 1.7.6.4)

Bonne journée à tous

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...