Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1056 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pb avec formulaire et bdd

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb avec formulaire et bdd

n°751485
cymp
Posté le 03-06-2004 à 20:49:00  profilanswer
 

Salut à tous :)
Alors voila le pb: j'ai un formulaire et je veux exploiter un champ de ce formulaire dans un autre .php.
le formulaire (simple):
<html>  
<head><title>formu</title></head>  
<body bgcolor="#FFFFFF">  
<h3>Entrez le truc a rechercher</h3>  
<form method="post" action="listesimple.php">  
A rechercher:  
<input type="text" name="rechercher">  
<input type="submit" name="Submit" value="Ok">  
</form>  
</body>  
</html>
 
et le listesimple.php:
 
<?php
mysql_connect("localhost","root","" );
mysql_select_db("connexion" );
if($rechercher)
{
........//suite pas intéressante la n'est pas le pb
 
et je me prends cette erreur:
Notice: Undefined variable: rechercher in c:\program files\easyphp1-7\www\projet\listesimple.php on line 6
 
La ligne 6 correspond au "if($rechercher)".
 
Si vous pouviez me dire où est l'erreur, merci :).
 
PS: je fais du php depuis cet apres midi alors bon je suis pas tres au point soyez gentils...

mood
Publicité
Posté le 03-06-2004 à 20:49:00  profilanswer
 

n°751530
misterping​uin
Posté le 03-06-2004 à 21:31:03  profilanswer
 

ce n'est pas une erreur, mais un warning, donc pas bloquant pour ton script
 
si tu veux faire le test proprement, il faut utiliser isset if(isset($rechercher))
 
edit : petit pb de syntaxe...


Message édité par misterpinguin le 04-06-2004 à 12:34:26
n°751637
cymp
Posté le 03-06-2004 à 22:59:15  profilanswer
 

mais le probleme c'est que meme si je remplis ce champ rechercher, je me prends ce Notice... alors qu'il n'est plus undefined du coup!

n°751860
cymp
Posté le 04-06-2004 à 01:37:17  profilanswer
 

up

n°751864
naceroth
Posté le 04-06-2004 à 03:47:18  profilanswer
 

1. C'est pas isset en un seul mot ? :D
2. remplace tes $rechercher par $_POST['rechercher'] et ainsi de suite pour tout ce qui provient d'un formulaire :)
 
(on ferait un top des erreurs/questions les plus fréquentes, je suis sûr que celle là serait sur le podium...)


Message édité par naceroth le 04-06-2004 à 03:48:12
n°751865
art_dupond
je suis neuneu... oui oui !!
Posté le 04-06-2004 à 03:47:34  profilanswer
 

récupère les variables de ton formulaire avec $_POST
 
if($_POST['rechercher']) {
...
 
 
 
edit: grrrr


Message édité par art_dupond le 04-06-2004 à 03:47:54

---------------
oui oui
n°752404
misterping​uin
Posté le 04-06-2004 à 12:34:06  profilanswer
 

naceroth a écrit :

1. C'est pas isset en un seul mot ? :D bien sur que si !  [:tapai]  
 

n°752850
cymp
Posté le 04-06-2004 à 16:24:39  profilanswer
 

dans le cas du if, le isset semble mieux car le $_POST renvoie une erreur en cas de champ non rempli :)
merci pour votre aide :)

n°752913
titione
addicted
Posté le 04-06-2004 à 17:35:29  profilanswer
 

if (!empty($_POST['rechercher']))
{
....
}

n°753121
naceroth
Posté le 04-06-2004 à 23:04:28  profilanswer
 

cymp a écrit :

dans le cas du if, le isset semble mieux car le $_POST renvoie une erreur en cas de champ non rempli :)
merci pour votre aide :)


 
Je t'ai jamais dit de n'en utiliser qu'un, la bonne réponse, c'est les deux ensemble  :ange:

mood
Publicité
Posté le 04-06-2004 à 23:04:28  profilanswer
 

n°753812
ratibus
Posté le 06-06-2004 à 10:10:38  profilanswer
 

if( isset($_POST['rechercher']) ) {
...
}

n°754410
titione
addicted
Posté le 07-06-2004 à 10:29:14  profilanswer
 

c koi le mieux ou la différence profonde entre les 2 :  
 

Code :
  1. if( isset($_POST['rechercher']) )


 

Code :
  1. if (!empty($_POST['rechercher']))


Message édité par titione le 07-06-2004 à 10:29:42
n°754420
ratibus
Posté le 07-06-2004 à 10:35:37  profilanswer
 

titione a écrit :

c koi le mieux ou la différence profonde entre les 2 :  
 

Code :
  1. if( isset($_POST['rechercher']) )


 

Code :
  1. if (!empty($_POST['rechercher']))




C'est différent :)
Le premier teste si $_POST['rechercher'] est défini (c'est-à-dire si la clé 'rechercher' est présente dans le tableau $_POST).
Le second teste si la valeur de $_POST['rechercher']) est vide.
 
$_POST['rechercher'] peut être défini mais vide :D
Par contre s'il n'est pas défini, il est forcément vide.
 
En fait :

  • "non défini" => "vide"
  • "non vide" => "défini"


Mais les implications suivantes sont fausses (au sens logique) :

  • "défini" => "non vide"
  • "vide" => "non défini"

n°774920
david42fr
Posté le 23-06-2004 à 21:49:59  profilanswer
 

je profite du topic ouvert ;) je suis completement débutant (2 jours) et je ne comprends pas bien pourquoi ça ne fonctionne pas. J'ai un formulaire qui contient :
 

Code :
  1. <html>
  2.  <head>
  3.        <title>Insertion course</title>
  4.  </head>
  5.  <body bgcolor="#6699CC" text="#CCCCCC">
  6.  <form method="post" action="essai.php  ">
  7.  Nom Course:<br>
  8.  <input type="text" name="nom"><br>
  9.  date au format aaaa-mm-jj:<br>
  10.  <input type="text" name="date"><br>
  11.  type de course:<br>
  12.  <input type="text" name="type_champ"><br>
  13.  Numero du championnat:<br>
  14.  <input type="text" name="numero_champ"><br>
  15.  <input type="submit" name="submit" value="Insérer la course">
  16.  </form>
  17.  </body>
  18. </html>


 
jusque là tout va bien :) maintenant, voici le code de mon essai.php:
 

Code :
  1. <?
  2. $connect = mysql_connect("localhost", "user", "pass" )
  3.     or die("Could not connect" );
  4. mysql_select_db("test" ) or die("Could not select database" );
  5.  // votre requete d'insertion
  6. $sql="INSERT INTO course VALUES ('', $_POST['nom'], $_POST['date'], $_POST['type_champ'], $_POST['numero_champ'])";
  7.         // insertion
  8.    mysql_query($sql, $connect);
  9.  // fermeture de la connection
  10.    mysql_close($connect);
  11.    echo "insertion réussie";
  12. ?>


 
et je n'arrive pas à faire fonctionner l'ensemble:/ . En fait il me fait une erreur :  
 
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in chemin\essai.php on line 10
 
quelqu'un peut il m'expliquer ou m'envoyer sur un tutorial??? merci d'avance


---------------
A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing. -- Shaw -- mon topic de vente photo
n°774942
david42fr
Posté le 23-06-2004 à 22:16:06  profilanswer
 

laissez tomber, j'ai trouvé la solution sur PPC ;) il suffisait  de rajouter des lignes $nom = $_POST['nom'] pour toutes les variables. Par contre, si quelqu'un pouvait m'expliquer pourquoi il faut en passer par là, j'aimerais assez :D


---------------
A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing. -- Shaw -- mon topic de vente photo
n°775132
naceroth
Posté le 24-06-2004 à 01:01:11  profilanswer
 

Je vois pas le rapport entre l'erreur et la solution que tu donnes hein, tu te fais jeter à cause des ' présent dans $_POST['...'] :D

n°775163
david42fr
Posté le 24-06-2004 à 07:31:12  profilanswer
 

ben en fait, j'ai essayé avec un peu toutes les possibilités de '', "" , \'\'... et si je les enlevais complètement, j'avais une ligne vierge insérée dans ma BDD! c'est donc la seule solution que j'ai trouvé pour insérer correctement des données :/


---------------
A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing. -- Shaw -- mon topic de vente photo
n°775164
ratibus
Posté le 24-06-2004 à 07:32:03  profilanswer
 

Quand tu veux accéder à un tableau associatif dans une chaîne entre " " il ne faut pas mettre les simples quotes autour de la clé => il faut faire $_POST[nom] et pas $_POST['nom'].
 
Attention ceci n'est valable que quand on mets la variable dans la chaîne.

n°775165
david42fr
Posté le 24-06-2004 à 07:38:52  profilanswer
 

donc ça donne en gros:
 
Insert into table values ('$_POST[nom]',etc etc) ?


---------------
A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing. -- Shaw -- mon topic de vente photo
n°775168
ratibus
Posté le 24-06-2004 à 07:49:21  profilanswer
 

Oui exactement.
 
Tout cela est bien sûr dans la documentation :D

n°775170
david42fr
Posté le 24-06-2004 à 08:03:11  profilanswer
 

ben justement, j'ai les 2 docs de Nexen, pour PHP et MySQL, et je n'ai rien trouvé qui me guide vraiment! j'y ai passer un bon moment hier sans arriver à comprendre comment faire. J'ai du rater le passage sur les variables où ils expliquent comment faire à l'intérieur des "" .  
 
A ce propos, existe t il des docs autres que celles de nexen, qui soit bien faites et compréhensibles par un débutant?
 
 
Merci pour tes réponses.
 
 
edit : au fait comment se fait il qu'il n y ait pas de topics uniques comme dans la plupart des autres catégories? comme par exemple sur les docs, les sites, les forums d'entraide...


Message édité par david42fr le 24-06-2004 à 08:04:47

---------------
A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing. -- Shaw -- mon topic de vente photo
n°775210
ratibus
Posté le 24-06-2004 à 09:10:54  profilanswer
 

Je te conseille la doc officielle de PHP, en anglais (pour éviter les remarques non traduites ou bien les éventuelles erreurs de traduction) : http://www.php.net/manual/en/
 
Je te conseille de regarder les commentaires en bas des pages, ils sont souvent utile ou permettent d'éclairer des points obscurs de la doc (encore faudrait-il qu'il y en ait :) ).
 
Pour ton problème de chaîne c'est ici : http://www.php.net/manual/en/langu [...] ng.parsing

n°776608
david42fr
Posté le 24-06-2004 à 18:34:58  profilanswer
 

Merci pour les liens ;) j'utilisais la version traduite par nexen


---------------
A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing. -- Shaw -- mon topic de vente photo
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pb avec formulaire et bdd

 

Sujets relatifs
taille bouton & champ formulaireformulaire validé automatiquement.
refresh et formulaire (liste deroulante)[ASP] [formulaire] comment ajouter/supprimer des champs
Annuler la fermeture d'un formulaire access[Algo] Formulaire HTML ou intégré à l'appli ?
formulaireRemplir automatiquement un formulaire
bouton 'par défaut' dans un formulaire ?Recup. de données avec un formulaire puis traitement avec Perl
Plus de sujets relatifs à : pb avec formulaire et bdd


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR