Petit soucis PHP et formulaires

Petit soucis PHP et formulaires - PHP - Programmation

Marsh Posté le 05-06-2006 à 19:12:26    

OS, Débian,

 

Je viens de me remettre au PHP, j'ai pas trop de soucis avec pas mal de truc, mysql...par contre, la j'hallucine acec ce code récupéré et testes sur un site :

 

<FORM>
 Donnez votre prénom, puis validez :
<INPUT TYPE=text NAME=prenom>
<INPUT TYPE=submit VALUE="Valider">
</FORM>
<P>

  

Vous vous appelez
<?php
  echo "$prenom";
?>
Chez moi , pas moyen en général de balancer le résultat d'un script a une autre page ...la je vois vraimment pas du tout...

Reply

Marsh Posté le 05-06-2006 à 19:12:26   

Reply

Marsh Posté le 05-06-2006 à 19:15:33    

en fait à chaque fois j'ai ce qui faut dans l'URL mais dans la variable récup...NIB.
 
Je pensais que cela venait de mon code, mais en prenant ce code ci dessus sur :
http://www.ac-creteil.fr/util/prog [...] ulaire.php, pour le tester en local...ca merdoie ...

Reply

Marsh Posté le 05-06-2006 à 19:17:28    

je viens, aujourd'hui de faire une installation php, mysql4.1 et apache 2 ...tout marche...sauf cela pour le moment.
 
Pas de soucis avec apache2, mysql, j'ai déja fait des scripts PHP qui tape sur des bases mysql...tout ok.
mais pour de la récupération de rés. dans des formulaires, cela merdoie

Reply

Marsh Posté le 05-06-2006 à 19:42:45    

Faut utiliser $_POST et $_GET selon la méthode d'envoi des données. Donc ici $_POST['prenom'] contient la valeur de ton champ

Reply

Marsh Posté le 05-06-2006 à 19:44:22    

Euh et pourquoi, je ne peux pas utiliser le code proposé ? qui fonctionne trés bien sur le site ou il a été récupéré.? mais pas en local

Reply

Marsh Posté le 05-06-2006 à 19:56:24    

Comme cela???
<FORM>
 Donnez votre prénom, puis validez :
<INPUT TYPE=text NAME=prenom>
<INPUT TYPE=submit VALUE="Valider">
</FORM>
<P>
 Vous vous appelez
<?php
 echo $_POST['prenom']
   
?>

Reply

Marsh Posté le 05-06-2006 à 20:03:14    

Oui c'est comme ca qu'il faut accéder aux variables post :)  
Le code que 'a trouvé est assez vieux, ça fait un moment que les valeurs ne doivent plus être passées comme ca.
 
Après si tu mets ton code comme ca, ca va jamais marché.
En gros:  
 
<form action="traitement.php">
<.....>
</form>
 
Et dans traitement.php
 echo $_POST['prenom'];


Message édité par gooopil le 05-06-2006 à 20:05:17
Reply

Marsh Posté le 05-06-2006 à 20:05:23    

avec php4?

Reply

Marsh Posté le 05-06-2006 à 20:06:02    

tout simplement dans ton fichier php.ini, tu as "register_globals = Off" au lieu de "register_globals = On"
Cependant je te conseille d'accéder aux données des formulaires via $_POST ou $_GET au lieu de $ma_variable.

Reply

Marsh Posté le 05-06-2006 à 20:17:40    

suis sous linux au fait

Reply

Marsh Posté le 05-06-2006 à 20:17:40   

Reply

Marsh Posté le 05-06-2006 à 20:22:12    

Certes il suffit d'éditer ton fichier php.ini (ex: /etc/php4/apache/php.ini )
et de modifier la variable register_globals puis de relancer apache.

Reply

Marsh Posté le 05-06-2006 à 20:33:16    

Ouais enfin vaut mieux éviter le register_globals quand même :o

Reply

Marsh Posté le 05-06-2006 à 20:53:06    

Bon vous m'avez l'air pas mauvais:
Que pensez vous de ce code, au niveau facon de faire, pas facon d'obtenir, les resulats attendus sont niquels
 
<?php
include "heureetdate2.inc";
 
 
//Desactivation du rapport d'erreur
error_reporting(0);
$id_lien=db_connect();
 
if (!$id_lien) die(sql_error());
else
{
 echo "La connection au serveur $bdhote a réussie." . "<BR>";
 $base_sel="test_phpmysql";
 $db_sel = mysql_select_db($base_sel, $id_lien);
 if (!$db_sel)
 {
  die ("Impossible de se connecter à la base: ".$base_sel . mysql_error());
 }
 else
 {
  echo "La connection à la base $base_sel a ègalement réussie." . "<BR>";
  echo "Rappel des paramêtres de connection:" . "<BR>";
  echo "--> Hote: " . $bdhote ."<BR>";
  echo "--> Utilisateur: " . $nom_user . "<BR>";
  echo "--> Pass: *********"  . "<BR>";
  echo "--> DataBase: " . $base_sel . "<BR><BR>";
  echo "-----------------------------------------------------"."<BR>";
  $table_chx="nom_prenom";
   
  $crit_sel=$Nom;
  $res_table= mysql_query("SELECT * FROM  $table_chx where nom='$crit_sel' " );
  $nb_lig_sel=mysql_num_rows($res_table);
  echo "Liste des $nb_lig_sel enregistrement(s) de la table $table_chx :" . "<BR>";
  while ($donnee = mysql_fetch_row($res_table))
  {
   echo "--> $donnee[0], $donnee[1],$donnee[2] " . "<BR>";
  }
  echo "-----------------------------------------------------"."<BR>";
 }
 
}
$date = date("d-m-Y" );
$heure = date("H:i" );
Print("Nous sommes le $date et il est $heure" );
?>

Reply

Sujets relatifs:

Leave a Replay

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