pb avec formulaire et bdd - PHP - Programmation
Marsh Posté le 03-06-2004 à 21:31:03
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...
Marsh Posté le 03-06-2004 à 22:59:15
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!
Marsh Posté le 04-06-2004 à 03:47:18
1. C'est pas isset en un seul mot ?  
 
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...)
Marsh Posté le 04-06-2004 à 12:34:06
| naceroth a écrit : 1. C'est pas isset en un seul mot ?  | 
Marsh Posté le 04-06-2004 à 16:24:39
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 
Marsh Posté le 04-06-2004 à 23:04:28
| cymp a écrit : dans le cas du if, le isset semble mieux car le $_POST renvoie une erreur en cas de champ non rempli  | 
 
 
Je t'ai jamais dit de n'en utiliser qu'un, la bonne réponse, c'est les deux ensemble   
 
Marsh Posté le 07-06-2004 à 10:29:14
c koi le mieux ou la différence profonde entre les 2 :  
 
| Code : 
 | 
 
 
| Code : 
 | 
Marsh Posté le 07-06-2004 à 10:35:37
| titione a écrit : c koi le mieux ou la différence profonde entre les 2 :   
   
   | 
 
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  
 
Par contre s'il n'est pas défini, il est forcément vide. 
 
En fait : 
 
Mais les implications suivantes sont fausses (au sens logique) : 
Marsh Posté le 23-06-2004 à 21:49:59
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 :
 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 : 
 | 
 
 
jusque là tout va bien  maintenant, voici le code de mon essai.php:
 maintenant, voici le code de mon essai.php: 
 
| Code : 
 | 
 
 
et je n'arrive pas à faire fonctionner l'ensemble . En fait il me fait une erreur :
 . 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 
Marsh Posté le 23-06-2004 à 22:16:06
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
 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 
Marsh Posté le 24-06-2004 à 01:01:11
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['...'] 
Marsh Posté le 24-06-2004 à 07:31:12
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  
 
Marsh Posté le 24-06-2004 à 07:32:03
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.
Marsh Posté le 24-06-2004 à 07:38:52
donc ça donne en gros: 
 
Insert into table values ('$_POST[nom]',etc etc) ?
Marsh Posté le 24-06-2004 à 07:49:21
Oui exactement. 
 
Tout cela est bien sûr dans la documentation 
Marsh Posté le 24-06-2004 à 08:03:11
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...
Marsh Posté le 24-06-2004 à 09:10:54
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
Marsh Posté le 24-06-2004 à 18:34:58
Merci pour les liens  j'utilisais la version traduite par nexen
 j'utilisais la version traduite par nexen
Marsh Posté le 03-06-2004 à 20:49:00
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...