Probleme avec easy php

Bonjour,

mon probléme est simple mes script s'executes avec easy php 1.6 mais avec les autres versions comme 1.8, 3.0, 5.3, soi sa affiche des erreurs ou il ne s'execute pas, ou réside le probléme et la soluction????

15 réponses

  1. Salut
    Vérifie dans PHPMyAdmin si les accents sont bien enregistrés. La plupart du temps, le problème survient à l'affichage et non à l'enregistrement.

    Obtiens-tu le message "erreur sql" ?

    Si c'est bien enregistré (visible dans phpmyadmin) alors indique si les accents sont remplacés par des carré (dans IE) ou par des caractères bizarre (A avec trema + quelquechsoe).

    Fais-le avec IE car FF affiche l'identification du caractère ou un "?" en général. ;)
    1. je vien de crée un petit formulaire qui enregistre les données sur une bd tous marche a merveille sauf quand t'il ya de s caractére spéciaux comment faire avec ce nouveau probléme le code de la page php et le suivant

      <?php

      if(isset($_POST['nom'])) $nom=$_POST['nom'];
      else $nom="";

      if(isset($_POST['com'])) $com=$_POST['com'];
      else $com="";

      $db=mysql_connect('localhost','root') or die('erreur de connexion');
      mysql_select_db('accent',$db) or die('erreur de connexion');
      $sql="INSERT INTO accent (id,nom,com) VALUES
      ('','$nom','$com')";
      mysql_query($sql) or die('erreur sql');
      mysql_close();

      ?>
      1. Salut
        Je crois qu'il est possible de charger une image dans une BDD, mais PERSONNE ne le fait.
        Charge l'image sur le serveur, et enregistre l'url de l'image dans la bdd. ;)
        1. merci f16, maitenant sa marche, dit si je veut charger une image sur ma base de donnée je fait comment?
          1. Tu as oublié de fermer une parenthèse avant le "or" à la ligne 24 (mysql_query).
            1. merci f-16 voila les modification que j'ai fait :_

              <?php
              if(isset($_POST['ministere'])) $ministere=$_POST['ministere'];
              else $ministere="";
              if(isset($_POST['organisme'])) $organisme=$_POST['organisme'];
              else $organisme="";
              if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
              else $adresse="";
              if(isset($_POST['nif'])) $nif=$_POST['nif'];
              else $nif="";
              if(isset($_POST['genre'])) $genre=$_POST['genre'];
              else $genre="";
              if(isset($_POST['numero'])) $numero=$_POST['numero'];
              else$numero="";
              if(isset($_POST['sujet'])) $sujet=$_POST['sujet'];
              else$sujet="";

              $mysql_host = 'localhost';
              $mysql_user = 'root';
              $mysql_password = '';
              $mysql_base = 'soumission';

              $db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");
              mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
              mysql_query("INSERT Into offre VALUES (",'$ministere','$organisme','$adresse','$nif','$genre','$numero','$sujet')" or die ("erreur requete");

              mysql_close();

              ?>

              sa marche toujours pas l'erreur affiché est :

              Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in D:\Program Files\EasyPHP-5.3.1\www\soumission\offre2.php3 on line 24

              pour les variables elles proviennent d'un formulaire dans une page html
              1. Salut.

                Remplace « <? » par « <?php »
                Vérifie que $_POST['nom'] existe (isset) avant de l'utiliser.
                D'où viennent les variables utilisées dans la requête SQL ?
                Pense à les sécuriser avec mysql_real_escape_string()
                Je n'ai eu tord qu'une seule fois : quand j'ai cru m'être trompé
                1. salut avion-f16 j'espére que tu est toujours la, maitenant je veut enregistré des données sur une base de donnée en utilisant un formulaire, avec la version de easyphp 1.6 sa fonctionne mais pas avec le fonction les plus recent, tu peut me mettre sa a jour?

                  le code et le suivant

                  <?

                  $mysql_host = 'localhost';
                  $mysql_user = 'root';
                  $mysql_password = '';
                  $mysql_base = 'soumission';

                  $date = date("d-m-Y");

                  $nom=$_POST['nom'];

                  $db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");

                  mysql_select_db($mysql_base,$db) or die ("erreur de connexion
                  base");

                  mysql_query("INSERT Into offre VALUES ('','$date','$ministere','$organisme','$adresse','$nif','$genre','$numero','$sujet') ") or die ("erreur requète");

                  mysql_close();

                  ?>
                  1. merci avion-16, sa marche, tu ma été d'une grande utulisté, merci encor une fois
                    1. L'option register_globals est elle aussi désactivée sur certains hébergeurs.
                      Il vaut mieux coder de façon à ce que ça fonctionne sur un plus grand nombre de serveur, en dépendant moins de la configuration.

                      Donc au lieu de chercher à activer cette option, il vaut mieux recoder ton script afin qu'il fonctionne avec ou sans cette option.

                      Pour corriger ton script, il suffit donc de remplacer $nom par la vraie variable : $_GET['nom']

                      Voilà ton script totalement corrigé :
                      <?php
                      if(isset($_GET['nom'])) {
                          echo 'Votre nom est '. $_GET['nom'];
                      }
                      ?>
                      1. merci avion pour cette reponse, je te serais plus reconnaisson si tu me disais commen réactivé l'option registre_globals ou si tu pouvez me montré commen réécrire mon script a nouveau
                        1. Il n'y a pas que les fonctions qui changent, il y a aussi certaines options de PHP (register_globals et magic_quotes_gpc, par exemple), et même la POO.

                          Ici, ton code ne fonctionne pas parce que l'option register_globals a été désactivée. Cette option "copie" les variables GPC (GET, POST, COOKIE) dans des variables "normales". Donc avant, $_POST['nom'] était copiée dans $nom

                          De plus, il est déconseillé d'utiliser les short_tags car cette option n'est pas activée sur tous les serveurs.

                          Pour finir, vérifie si le formulaire a été envoyé et si la variable existe avant de tenter de l'afficher, ça t'évitera une erreur "undefined variable".
                          1. voila un ptit script qui marche parfaitement sous easyphp 1.6

                            <form action = "test.php3" >
                            <input type ="text" name ="nom" ><br />
                            <input type = "submit" value = "Envoyer">
                            </form>

                            <?

                            echo 'votre nom est '. $nom ;

                            ?>

                            avec easyphp 1.6 si dans le champ nom je met par exemple azerios j'ai le resultat :

                            votre nom est azerios

                            mais avec les autres versions il n'y a aucun affichage

                            ou reside le probleme qu'est se que je doit changer dans se code?
                            1. Salut.

                              Si la version d'EasyPHP évolue, c'est que les versions des logiciels compris dedans évoluent aussi.

                              Et selon les versions de PHP, des fonctions deviennent obsolète ou sont supprimées.

                              Donc il faut corriger toutes les erreurs en recodant les parties concernées.
                              1. bonjour,
                                peut-on avoir un bout d'un de tes codes avec l'erreur ?

                                Joyeux Noël