IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comportement différent suivant les navigateurs


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut Comportement différent suivant les navigateurs
    Bonjour,

    je viens ici pour vous soumettre mon problème. Je n'ai jamais eu de problème similaire et je n'arrive pas à trouver d'où cela provient.

    J'ai en fait un comportement différent suivant les navigateurs que j'utilise :
    • Sous Chrome : aucun problème.
    • Sous Firefox et sous IE : comportement différent !


    En détail : j'ai une class qui permet d'afficher/éditer des offres d'emploi. Quand je clique sur la modification d'une offre après avoir fait la recherche des offres existantes, le formulaire s'affiche correctement pour chaque navigateur. Mais quand je clique pour enregistrer l'offre modifiée, il n'y a que sur Chrome que j'obtiens le bon comportement. Sur les deux autres navigateurs, je reviens à ma page de base (où la recherche se fait) sans qu'aucune modification ait été prise en compte.

    Ma class est déclarée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class tx_maclasse_pi2 extends tx_classe_base {
    .

    Dans cette class, j'ai une fonction "main" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function main($content,$conf) {
    	$this->conf = $conf;
    	$this->init();
     
            // [...]
    	return $content;
    }
    Si je mets un echo 'test'; directement après la déclaration de ma classe, j'ai un message d'erreur uniquement sous Chrome.

    Si je mets un echo dans mon main(), j'ai le echo uniquement sous Chrome alors que l'affichage se déroule correctement quand même sous les deux autres navigateurs

    Est-ce qu'un problème du genre vous parle ? Une idée d'où ça pourrait venir ?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Je vois pas trop comment un script PHP pourrait être dépendant du navigateur...
    Je pense que ton problème se situe plutôt dans le code généré (HTML et / ou JavaScript).
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Ben oui je sais bien, je trouve ça bizarre. Mais le code source généré est exactement le même, j'ai vérifié

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ce n'est pas parce que le code source est le même (ce qui est assez logique, vu que le code est généré au niveau du serveur) que le comportement du navigateur sera le même (ce serait trop facile )
    Donc, il nous faut le code HTML de la page qui plante (et éventuellement celui du script générateur)
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Hum, oui c'est pas faux

    Pour le code, je peux pas vraiment le donner sans tout donner, et si je donne tout, ça devient un peu compliqué, y'a tellement de choses (une librairie complète) ... De plus, code pour un projet client, je peux pas vraiment le donner comme ça

    En gros, dans mon formulaire j'ai ceci une fois que j'ai cliqué sur le bouton "Modifier" d'une offre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form class="tx-offre-pi2-form" action="###URL###" method="post">
    <h2>Modifier l'offre</h2>
    <input type="hidden" value="###IDOFFER###" name="tx_offre_pi2[offreselec]" class="bouton_modif" />
    <p id="validation">
    	<input type="submit" value="Enregistrer l'offre" name="tx_offre_pi2[cmdSubmit]" />
    </p>
    ###URL### est remplacé par : "systeme/liste-des-offres/"

    Et ensuite la fonction principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    function main($content,$conf) {
    	$this->conf = $conf;
    	$this->init();
    	$this->loadCurrentOffer();
     
    	if ($this->shouldBeInt() && !$this->isIntProcess()) {
    		$content = $this->callIntProcess(false);
    	} elseif (isset($this->conf['callback']) && $this->conf['callback']) {
    		switch ($this->conf['callback']) {
    		case 'displayVisitCounter':
    			$content = $this->displayVisitCounter();
    			break;
    		}
    	}
            // On affiche le form de modification d'une offre
    	else if ($this->piVars['cmd'] == 'Modifier') {
    		$content = $this->displayEditOffer('');
    	}
            // On soumet nos modifications
    	else if ($this->piVars['cmdSubmit']) {
    		$content = $this->displaySaveOffer();
    	}
            // Affichage de base
    	else {
    		$mode = $this->determineDisplayMode();
     
    		$content = $this->display($mode);
    	}
     
    	return $content;
    }
    M'aider sans avoir le code, c'est pas évident je sais ... Mais si vous avez des suggestions, je prends quand même

  6. #6
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Hum, apparemment sous Firefox, j'ai une erreur JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error: "throw $continue" is deprecated, use "return" instead
    Vais tenter de voir si ça viendrait éventuellement de ce code là.

    EDIT : et apparemment ça vient de prototype.js.

    EDIT 2 : j'ai posté mon problème du côté de Prototype, du coup ça fait un peu doublon avec celui-là

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] comportement différent suivant les pc - liste paramétrée
    Par Dermochelys dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 04/04/2011, 13h35
  2. Liste déroulante avec comportement différent suivant les navigateurs
    Par smfoa dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 30/01/2011, 11h55
  3. Valeur du timeout différente suivant les navigateurs ?
    Par GBS63 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 24/08/2009, 00h03
  4. Réponses: 0
    Dernier message: 25/10/2008, 10h50
  5. Réponses: 15
    Dernier message: 19/06/2006, 19h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo