Probleme avec easy php

azerios Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
pols12 Messages postés 1143 Date d'inscription   Statut Membre Dernière intervention   -
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention   189
 
bonjour,
peut-on avoir un bout d'un de tes codes avec l'erreur ?

Joyeux Noël
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention  
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention  
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   119
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   119
 
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