Impossible de réccupéré une variable... [Resolu]

Impossible de réccupéré une variable... [Resolu] - PHP - Programmation

Marsh Posté le 24-04-2004 à 11:50:50    

Bonjour à tous,
 
Je fait un projet PHP au lycée, et quand j'ai voulu je mettre sur mon PC sous linux (nouvellement installer), les requettes SQL avec PostgreSQL marche parfaitement mais lorsque je veut réccupéré une variable impossible d'y avoir accès .... :pt1cable:  
 
Voici le code d'une page de test :
 
 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>TEST</title>
  <META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
  <link href="style.css" rel="stylesheet" type="text/css">
 </head>
 
<body background="fond_details.jpg">
<? include("_connect.php" ); ?>  <!-- Ouvre la connexion SQL -->
<br>
<center>
 
<?
if ($ajout_passage!='')
 {
  $requete_ajouter = "INSERT INTO test VALUES ('$ajout_passage')";
  $ajoute = pg_exec($requete_ajouter);
  echo "<br>".$ajout_passage;
 }
?>
 
<form name="formulaire" method="post" action="<? echo $PHP_SELF ?>">
 <input type="text" name="ajout_passage">
 <input type="submit" value="OK">
</form>
 
 
 
 
 
<!-- Ce script ajoute dans la base de donnees une valeur mais nulle !?! -->
<?
 $requete = "INSERT INTO test VALUES ('$ajout_passage')";
 $ajoute = pg_exec($requete);
?>
 
</center>
</body>
</html>


 
Si quelqu'un pouvait m'aider :jap:


Message édité par ptibat le 24-04-2004 à 14:21:15

---------------
flick r
Reply

Marsh Posté le 24-04-2004 à 11:50:50   

Reply

Marsh Posté le 24-04-2004 à 12:40:02    

$ajout_passage = $_POST['ajout_passage'] ;
Faudrait commencer à s'habituer aux super-globales quand même :o

Reply

Marsh Posté le 24-04-2004 à 12:41:25    

Pourquoi tu l'insères deux fois dans la base?

Reply

Marsh Posté le 24-04-2004 à 13:21:11    

Master p a écrit :

$ajout_passage = $_POST['ajout_passage'] ;
Faudrait commencer à s'habituer aux super-globales quand même :o


 
erf, ca ne marche pas non plus  :(  
 

<?
if ($ajout_passage!='')
 {
  $ajout_passage = $_POST['ajout_passage'];
  $requete_ajouter = "INSERT INTO test VALUES ('$ajout_passage')";
  $ajoute = pg_exec($requete_ajouter);
  echo "<br>".$ajout_passage;
 }
else { echo "Erreur [ ".$ajout_passage." ]"; }
?>
 
<form name="formulaire" method="post" action="<? echo $PHP_SELF ?>">
 <input type="text" name="ajout_passage">
 <input type="submit" value="OK">
</form>
 
 


- Il n'entre aucune valeur dans la base de données et ajout_passage = '' ...
- Comment expliquer que sur la machine du lycée ca marche comme ca ?
 
 
 
 
 

Master p a écrit :

Pourquoi tu l'insères deux fois dans la base?


 
Non en fait c'est une page de test et c'etait pour montrer les 2 scripts qui me posaient problème...


Message édité par ptibat le 24-04-2004 à 13:24:17

---------------
flick r
Reply

Marsh Posté le 24-04-2004 à 13:27:09    

Et le $ajout_passage du if... [:le kneu]
 
C'est différent entre le lycée et toi car vous ne devez surement pas avoir la même version de php et/ou la même configuration.


Message édité par kfman le 24-04-2004 à 13:27:21

---------------
"Nous allons reformater les français" © Nicolas Sarkozy
Reply

Marsh Posté le 24-04-2004 à 13:27:21    

if ($_POST['ajout_passage']!='')
 
 
:o


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 24-04-2004 à 13:32:35    

simogeo a écrit :

if ($_POST['ajout_passage']!='')


 
oupsss  :D  
 
 

kfman a écrit :

C'est différent entre le lycée et toi car vous ne devez surement pas avoir la même version de php et/ou la même configuration.


 
 
- Comment configurer PHP pour pouvoir utiliser mes pages normalement ?
- Pourquoi $_POST['ajout_passage'] et pas $ajout_passage ?


Message édité par ptibat le 24-04-2004 à 13:32:58

---------------
flick r
Reply

Marsh Posté le 24-04-2004 à 13:39:20    

ptibat a écrit :


- Comment configurer PHP pour pouvoir utiliser mes pages normalement ?
- Pourquoi $_POST['ajout_passage'] et pas $ajout_passage ?


 
- Il faut réactiver les variables globales dans le fichier de configuration php.ini mais ça constitue potentiellement un défaut de sécurité (valeur register_global si je ne m'abuse).
 
- A partir des versions de PHP récentes, les variables des méthodes POST et GET des formulaires sont accessibles à partir de tableaux automatiquement créés par PHP, donc respectivement: $_POST['<nomvar>'] et $_GET['<nomvar>']. Et même mécanisme pour les sessions avec $_SESSION.
 
Dans tous les cas reporte toi au manuel: http://www.nexen.net/docs/php/annotee/manual.php
 
EDIT: Sinon pour le titre du topic: Impossible de récupérer une variable. [:le kneu]


Message édité par kfman le 24-04-2004 à 13:51:05

---------------
"Nous allons reformater les français" © Nicolas Sarkozy
Reply

Marsh Posté le 24-04-2004 à 13:42:44    

kfman a écrit :

- Il faut réactiver les variables globales dans le fichier de configuration php.ini mais ça constitue potentiellement un défaut de sécurité (valeur register_global si je ne m'abuse).
 
- A partir des versions de PHP récentes, les variables des méthodes POST, GET des formulaires sont accessibles à partir de tableaux automatiquement créés par PHP, donc respectivement: $_GET['<nomvar>'] et $POST['<nomvar>']. Et même mécanisme pour les sessions avec $_SESSION.
 
Dans tous les cas reporte toi au manuel: http://www.nexen.net/docs/php/annotee/manual.php


 
Je te remercie grandement  :jap:  
 
Donc en fait il me reste plus qu'a modifier toutes mes pages au fur et à mesure  :cry:  
 


---------------
flick r
Reply

Marsh Posté le 24-04-2004 à 13:46:09    

ptibat a écrit :

Je te remercie grandement  :jap:  
 
Donc en fait il me reste plus qu'a modifier toutes mes pages au fur et à mesure  :cry:


 
Si tu veux pas te faire chier, tu peux utiliser la fonction rechercher/remplacer d'un éditeur de texte. De plus si tu peux modifier la version et configuration de PHP à ton lycée, fais le.
 
Sinon adapte ton installation et look mon édit.


Message édité par kfman le 24-04-2004 à 13:46:45

---------------
"Nous allons reformater les français" © Nicolas Sarkozy
Reply

Marsh Posté le 24-04-2004 à 13:46:09   

Reply

Marsh Posté le 24-04-2004 à 14:20:58    

kfman a écrit :

Si tu veux pas te faire chier, tu peux utiliser la fonction rechercher/remplacer d'un éditeur de texte. De plus si tu peux modifier la version et configuration de PHP à ton lycée, fais le.
 
Sinon adapte ton installation et look mon édit.


 
 
ayé ca marche j'ai mis : 'register_globals = On' et tout marche nikel  :jap:


---------------
flick r
Reply

Marsh Posté le 24-04-2004 à 14:26:47    

C'est pas vraiment une solution ça :/
Il me paraît logique de s'adapter et de prendre les bonnes habitudes le plus tôt possible parce que :
1/ C'est carrément plus lisible avec les super-globales
2/ Le php.ini n'est pas toujours accessible  
 
Après si tu t'en fous et que tu te contente du résultat sans vouloir coder ailleurs que chez toi, fais pas gaffe à mon post

Reply

Marsh Posté le 24-04-2004 à 14:50:35    

Master p a écrit :

C'est pas vraiment une solution ça :/
Il me paraît logique de s'adapter et de prendre les bonnes habitudes le plus tôt possible parce que :
1/ C'est carrément plus lisible avec les super-globales
2/ Le php.ini n'est pas toujours accessible  
 
Après si tu t'en fous et que tu te contente du résultat sans vouloir coder ailleurs que chez toi, fais pas gaffe à mon post


 
Ben en fait comme je l'ai dit un peu plus haut je vais au fur et a mesure remplacer tout les variable mais pour l'instant je voulait règler ce problème.


---------------
flick r
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed