Problème avec php

Bonjour, je suis sur un projet de développement d'un site web.

Pour faire court, j'ai cette ligne de code php :<?php if(isset($o)) {echo $o;} ?>

elle affiche le contenu de $o sur google chrome, mais n'affiche rien sur internet explorer 9 ni sur mozilla firefox.

Je ne comprend rien. J'ai besoin d'aide svp.

4 réponses

  1. Bonjour

    Tu fais trop court.. La ligne <?php if(isset($o)) {echo $o;} ?> ne dépend en elle-même absolument pas du navigateur, puisqu'elle s'exécute du côté du serveur.
    Par contre, il faut voir d'où vient la variable $o, et si elle n'apparaît vraiment pas dans le html généré (je ne parle pas simplement de ce qui est lisible à l'écran, mais du source de la page html générée)
    1. J'ai un formulaire d'inscription. Lorsque on oublie de remplir un champ obligatoire, la chaîne de caractère "obligatoire!" est mise dans la variable $o comme indiqué ci-dessous:
      <?php
      if (isset($_POST['soumettre']) && $_POST['soumettre'] == 'Soumettre')
      {

      if(empty($_POST["nom_entreprise"]) || empty($_POST["domaine"]) || empty($_POST["siege"]) || empty($_POST["nom"]) || empty($_POST["ville"]) || empty($_POST["email"]) || empty($_POST["login"]) || empty($_POST["pass"]) || empty($_POST["pass2"]) || empty($_POST["question"]) || empty($_POST["reponse"]) || empty($_POST["jour"]) || empty($_POST["mois"]) || empty($_POST["annee"]) || empty($_POST["question"]))
      {
      $o='obligatoire!';
      }
      ?>

      Le but recherché est que, cette variable $o soit affichée dans la partie HTML à coté du champs à remplir pour préciser que le champs est obligatoire comme indiqué ci-dessous.

      Nom de l'entreprise <font color="#FF0000">*</font><br />
      <input type="text" name="nom_entreprise" value="<?php if(isset($_POST['nom_entreprise'])) {echo $_POST['nom_entreprise'];} ?>" style="width:200px" /><font color="red"><?php if(isset($o)) {echo $o;} ?></font>

      Les 2 codes ci-dessus sont sur la même page, en fait ça recharge toujours la même page, pour vérifié s'il a rempli le champs.
      Le problème c'est que: sur google chrome obligatoire s'affiche bien, mais pas sur internet explorer ni sur mozilla firefox. Pourquoi quand on change de navigateur ça ne fonctionne plus?
      1. 'obligatoire' s'affiche bien sur mon FF (à condition de forcer $_POST['soumettre'] à 'Soumettre' évidemment).

        Ajoute un print_r($_POST) au début de ton script pour vérifier si tu récupères bien la même chose avec les différents navigateurs.
        1. J'ai trouvé la solution. Merci le père tu m'as quand même poussé à chercher. c'est juste que les navigateurs FF et IE ne tiennent pas en compte les imput de soumission de formulaire de type image mais plutôt de type submit