Probleme avec easy php

Fermé
azerios Messages postés 4 Date d'inscription samedi 25 décembre 2010 Statut Membre Dernière intervention 26 décembre 2010 - 25 déc. 2010 à 12:10
pols12 Messages postés 1143 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 31 juillet 2019 - 17 févr. 2011 à 19:11
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????


A voir également:

15 réponses

avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
25 déc. 2010 à 20:57
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
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
25 déc. 2010 à 12:26
bonjour,
peut-on avoir un bout d'un de tes codes avec l'erreur ?

Joyeux Noël
0
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
25 déc. 2010 à 14:16
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.
0
azerios Messages postés 4 Date d'inscription samedi 25 décembre 2010 Statut Membre Dernière intervention 26 décembre 2010
25 déc. 2010 à 18:42
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
25 déc. 2010 à 18:56
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".
0
azerios Messages postés 4 Date d'inscription samedi 25 décembre 2010 Statut Membre Dernière intervention 26 décembre 2010
25 déc. 2010 à 20:22
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
0
azerios Messages postés 4 Date d'inscription samedi 25 décembre 2010 Statut Membre Dernière intervention 26 décembre 2010
26 déc. 2010 à 16:32
merci avion-16, sa marche, tu ma été d'une grande utulisté, merci encor une fois
0
sidilweb Messages postés 21 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 29 décembre 2012
7 févr. 2011 à 23:41
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();






?>
0
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
Modifié par avion-f16 le 8/02/2011 à 16:44
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é
0
sidilweb Messages postés 21 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 29 décembre 2012
8 févr. 2011 à 18:20
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
0
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
8 févr. 2011 à 18:25
Tu as oublié de fermer une parenthèse avant le "or" à la ligne 24 (mysql_query).
0
sidilweb Messages postés 21 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 29 décembre 2012
9 févr. 2011 à 21:43
merci f16, maitenant sa marche, dit si je veut charger une image sur ma base de donnée je fait comment?
0
pols12 Messages postés 1143 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 31 juillet 2019 119
9 févr. 2011 à 21:54
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. ;)
0
sidilweb Messages postés 21 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 29 décembre 2012
16 févr. 2011 à 19:56
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();



?>
0
pols12 Messages postés 1143 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 31 juillet 2019 119
17 févr. 2011 à 19:11
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. ;)
0