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

  FORUM HardWare.fr
  Programmation
  PHP

  Passer une valeur dans le liens!? GET ou POST? [RESOLUS]

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Passer une valeur dans le liens!? GET ou POST? [RESOLUS]

n°1727527
zapoutor
Posté le 02-05-2008 à 10:24:14  profilanswer
 

Bonjour, voila, je m'apprete à envoyer un questionnaire à des personnes par mail. Je fait la liaison des  personne et du mal grace à une BDD ...
Je voudrais que dans le liens fournit dans le mail je puisse mettre un numéro pour savoir qui vient de cliquer sur le lien!
Exemple dans ma base Mr toto est le numéro 3!
Dans le mail le liens sera : http://trucmachin/index.php?numrefe=3
 
Et donc il arrive sur la page

Code :
  1. ...
  2. if(isset($_GET["numrefe"]))
  3. $numrefe = $_GET["numrefe"];
  4. else {
  5. $numrefe = $_POST["numrefe"];
  6. }
  7. ...


 

Code :
  1. <td colspan="4" class="Style9"><div align="center">
  2.         <input name="numrefer" type="hidden" value="<? echo"$numrefe"?>">
  3.         <input name="Submit" type="submit" class="Style9" value="Valider le questionnaire">
  4.     </div></td>


 
Soucis, sa ne marche pas! mas base ne prend pas le numrefe, pourtant les autre info du on bien peuplée ma base!?
 
J'ai donc tenté sa:

Code :
  1. <?php
  2. /*if(isset($_GET["numrefe"]))
  3. $numrefe = $_GET["numrefe"];
  4. else {
  5. $numrefe = $_POST["numrefe"];
  6. } */
  7. $numrefe=1;
  8. ?>


 
Et là sa marche!?
ou est le problème?
 
Merci par avance de votre aide?


Message édité par zapoutor le 05-05-2008 à 12:19:50
mood
Publicité
Posté le 02-05-2008 à 10:24:14  profilanswer
 

n°1727530
mrbebert
Posté le 02-05-2008 à 10:28:17  profilanswer
 

Tu envoies une variable nommée "numrefer" et tu t'attends à recevoir une variable nommée "numrefe". Forcément, ca va pas :o

n°1727534
CyberDenix
Posté le 02-05-2008 à 10:30:35  profilanswer
 

:lol:


---------------
Directeur Technique (CTO)
n°1727535
zapoutor
Posté le 02-05-2008 à 10:37:48  profilanswer
 

heu, non rien à voir! tu confond avec ce que je vait passer à mon valider.php!!!

n°1727540
zapoutor
Posté le 02-05-2008 à 10:59:18  profilanswer
 

d'ailleur il suffit de mettre la valeur en "dure" pour que tous ce passe bien!!!!!!

n°1727544
tostiere
Posté le 02-05-2008 à 11:12:31  profilanswer
 

Est-ce que cette ligne là
 

Code :
  1. <input name="numrefer" type="hidden" value="<? echo"$numrefe"?>">


 
correspond à ça :
 

Code :
  1. $numrefe = $_POST["numrefe"];

?
 
Si c'est le cas, comme l'a dit mrbebert tu devras changer le nom.
 
 
Sinon je t'aurais proposé d'écrire plutôt comme ceci :
 

Code :
  1. <input name="numrefer" type="hidden" value="<?php echo $numrefe ?>">


 
Car si tu mets ta variable entre guillemets, ça risque d'envoyer le nom de la variable plutôt que sa valeur. Par ailleurs vaut mieux utiliser des <?php plutôt que <?, car ces derniers ne sont pas toujours supportés par les serveurs.

n°1727550
zapoutor
Posté le 02-05-2008 à 11:20:08  profilanswer
 

Comme je l'ai dit, le soucis n'est pas là.
Quand je remplace  

Code :
  1. if(isset($_GET["numrefe"]))
  2. $numrefe = $_GET["numrefe"];
  3. else {
  4. $numrefe = $_POST["numrefe"];


 
par
 

Code :
  1. $numrefe=34;


 
Sa fonctionne!!!!!
 
Le problème vient donc de récupérer la valeur indiqué dans le liens!!

n°1727551
tostiere
Posté le 02-05-2008 à 11:25:17  profilanswer
 

Ok, on va procéder autrement alors :
essaie de faire ceci :
 

Code :
  1. ...
  2. /*if(isset($_GET["numrefe"]))  
  3. $numrefe = $_GET["numrefe"];  
  4. else {  
  5. $numrefe = $_POST["numrefe"];  
  6. } */
  7. echo $_POST["numrefe"];
  8. echo $_GET["numrefe"];
  9. ...


 
Ca affiche quelque chose ou pas ?

n°1727552
zapoutor
Posté le 02-05-2008 à 11:26:30  profilanswer
 

je test! 2 minutes!

n°1727553
zapoutor
Posté le 02-05-2008 à 11:28:07  profilanswer
 

Pas d'affichage :(.

mood
Publicité
Posté le 02-05-2008 à 11:28:07  profilanswer
 

n°1727555
tostiere
Posté le 02-05-2008 à 11:34:45  profilanswer
 

T'as bien cliqué sur ce lien :  http://trucmachin/index.php?numrefe=3  
pour tester l'affichage ?
 
Sinon s'il n'affiche rien c'est qu'il y a une redirection qui t'empêche d'afficher (enfin, je pense), ou alors un probleme au niveau du nom de la variable transmise.
 
Il faudrait peut-être que tu nous montres tout ton code (pages concernées + noms) pour qu'on voie ce qui ne va pas.

n°1727620
zapoutor
Posté le 02-05-2008 à 13:38:44  profilanswer
 

tyutyuyut


Message édité par zapoutor le 05-05-2008 à 12:20:26
n°1727641
tostiere
Posté le 02-05-2008 à 14:41:59  profilanswer
 

Bon désolé de ne pas t'avoir répondu plus tôt dans ton mp (j'étais parti).
 
Concernan ton problème, je vais me répéter, mais je pense toujours qu'il y a un problème de nom de variable.
 
Tu mets "numrefer" partout et tu essaies de récupèrer une variable portant le nom "numrefe".
 
Fais un petit test, fais remplacer tous les "numrefe" par des "numrefer" dans ton code, et dis ce que ça donne.
 
 
Autre chose, je ne vois pas l'utilité de mettre des conditions du genre
 

Code :
  1. if(isset($_GET["levier"]))
  2. $levier = $_GET["levier"];
  3. else {
  4. $levier = $_POST["levier"];
  5. }


 
et à moins que j'aie mal compris ton code, l'un des deux seulement devrait suffire (get ou post)
 

n°1727645
zapoutor
Posté le 02-05-2008 à 15:09:38  profilanswer
 

Vous avez du vous douter qu'il s'agissait de code récupéré!

n°1727648
zapoutor
Posté le 02-05-2008 à 15:15:26  profilanswer
 

je viens de faire des tests.
 
en mettant simplement
un

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <title></title>
  5. </head>
  6. <body>
  7. <form name="form2" method="post" action="valider.php" >
  8. <?php
  9. /*if(isset($_GET["numrefe"]))
  10. $numrefe = $_GET["numrefe"];
  11. else {
  12. $numrefe = $_POST["numrefe"];
  13. }
  14. */
  15. #echo $_POST["numrefe"];
  16. $numrefe=$_GET["numrefe"];
  17. echo $numrefe;
  18. #$numrefe=55;
  19. ?>
  20. </form>
  21. </body>
  22. </html>


 
rien ne s'affiche!!!!!!!!!!!????????????,
 
idem pour un  

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <title></title>
  5. </head>
  6. <body>
  7. <form name="form2" method="post" action="valider.php" >
  8. <?php
  9. /*if(isset($_GET["numrefe"]))
  10. $numrefe = $_GET["numrefe"];
  11. else {
  12. $numrefe = $_POST["numrefe"];
  13. }
  14. */
  15. #echo $_POST["numrefe"];
  16. echo$_GET["numrefe"];
  17. #$numrefe=55;
  18. ?>
  19. </form>
  20. </body>
  21. </html>


 
 :heink:  :pt1cable:  
 
Je pige pas là?

n°1727680
art_dupond
je suis neuneu... oui oui !!
Posté le 02-05-2008 à 15:55:04  profilanswer
 

que donne print_r($_GET) ?


---------------
oui oui
n°1727687
zapoutor
Posté le 02-05-2008 à 16:00:16  profilanswer
 

Array ( )

n°1727699
tostiere
Posté le 02-05-2008 à 16:16:48  profilanswer
 

Et que donne un
 
...
$numrefe=$_GET["numrefer"];
echo $numrefe;
...
 
?

n°1727700
zapoutor
Posté le 02-05-2008 à 16:18:01  profilanswer
 

rien aucun affichage!

n°1727707
tostiere
Posté le 02-05-2008 à 16:25:03  profilanswer
 

Au fait t'as fait remplacer tous les "numrefe" par des "numrefer"  ?


Message édité par tostiere le 02-05-2008 à 16:26:15
n°1727710
zapoutor
Posté le 02-05-2008 à 16:27:33  profilanswer
 

oui sa ne change rien!

n°1727763
zapoutor
Posté le 02-05-2008 à 18:18:46  profilanswer
 

on dirait que personne n'a la réponse :(

n°1727842
art_dupond
je suis neuneu... oui oui !!
Posté le 02-05-2008 à 23:27:21  profilanswer
 

tostiere a écrit :

Et que donne un

 

...
$numrefe=$_GET["numrefer"];
echo $numrefe;
...

 

?


Ca risque pas de donner quelque chose si print_r donne array() :o

 


comment tu appelles ta page ?

 

que donne

Code :
  1. echo $_SERVER['REQUEST_URI']
 


Message édité par art_dupond le 02-05-2008 à 23:28:31

---------------
oui oui
n°1727892
zapoutor
Posté le 03-05-2008 à 10:16:12  profilanswer
 

Je l'appel à partir d'un lien dans un mail!
j'essaye aussi en "dur" en tapant directement dans la barre d'adressede mon navigateur. Le lien est  
 
http://montrucmachin/index.php?numrefe=1
 
résultat de  

Code :
  1. echo $_SERVER['REQUEST_URI']


 
/~montrucmachin/index.php.
 
Donc mon numref ne passe pas :(!!  
J'utilise firefox comme navigateur, le résultat est le même avec ie!!
Je ne comprend pas pourquoi sa ne passe pas??!!!


Message édité par zapoutor le 03-05-2008 à 10:25:06
n°1727905
leflos5
On est ou on est pas :)
Posté le 03-05-2008 à 10:49:20  profilanswer
 

Je propose de détourner le problème, si tu essayes dans un nouveau fichier:

Code :
  1. <?php
  2. print_r($_GET);
  3. $numrefe = 1;
  4. if ( !empty($_GET['numrefe']) ) $numrefe = $_GET['numrefe'] + 1;
  5. echo '<a href="?numrefe='.$numrefe.'">un petit lien</a>';
  6. ?>

n°1727920
zapoutor
Posté le 03-05-2008 à 11:44:02  profilanswer
 

résultat
Array ( [numrefe] => 1 ) un petit lien
Array ( [numrefe] => 2 ) un petit lien
Array ( [numrefe] => 3 ) un petit lien
...
 
lien tapé dans la barre!
\montruc\test.php?numrefe=555
 
 :heink:

n°1727980
art_dupond
je suis neuneu... oui oui !!
Posté le 03-05-2008 à 15:56:21  profilanswer
 

y a de l'url rewriting (fichier .htaccess dans le répertoire) ?


---------------
oui oui
n°1727985
sielfried
Posté le 03-05-2008 à 16:14:07  profilanswer
 
n°1728007
ionik
Posté le 03-05-2008 à 16:55:17  profilanswer
 

fait tout simplement un <?php var_dump($_get); ?>
 
et tu vera tout ceux qu'elle contient.
 
Il faut toujours avoir sous la main un code qui liste les variable $_get et $_POST avec une petite fonctions ca sert tout le temps pour voir les fautes de frappes de nom ou les variable mal transmise.
 
ps tu aurait pas appliquer une class sur le champ de formulaire que tu veut recupere ? si oui si c'est une classe de javascript pour mise en form des fois il faut recupere le contenu en javascript :(


---------------
Recette cookeo Recette de cuisine
n°1728098
leflos5
On est ou on est pas :)
Posté le 03-05-2008 à 22:12:45  profilanswer
 

zapoutor a écrit :

résultat
Array ( [numrefe] => 1 ) un petit lien
Array ( [numrefe] => 2 ) un petit lien
Array ( [numrefe] => 3 ) un petit lien
...
 
lien tapé dans la barre!
\montruc\test.php?numrefe=555
 
 :heink:


Donc ça passe bien. Y'a un  truc dans ton script qui foire :spamafote:  
 
Et en effet si register_global est à on ça pourrait peut être expliquer un comportement étrange.

n°1728374
zapoutor
Posté le 05-05-2008 à 09:22:36  profilanswer
 

register global? c'est la config d'apache sa????
Et je suis pas d'accord que cela vienne de mon script! Regarde le liens tapé dans la barre! on aurai dû commencer à incrémenter à partir de 555 ! non?:!

Message cité 1 fois
Message édité par zapoutor le 05-05-2008 à 09:27:32
n°1728377
sielfried
Posté le 05-05-2008 à 09:32:40  profilanswer
 
n°1728381
zapoutor
Posté le 05-05-2008 à 09:36:23  profilanswer
 

OK... donc sa ne venais pas de mon script mais de la config d'apache de mon hébergeur.
Et donc je ne peux pas toucher à mon register globals!! erf! :(

n°1728383
zapoutor
Posté le 05-05-2008 à 09:38:14  profilanswer
 

J'ai pas trop compris comment on peux contourner cette config? en faisait quel genre de vérif?

n°1728391
sielfried
Posté le 05-05-2008 à 09:45:03  profilanswer
 

Une solution consiste à faire un truc du genre :

Code :
  1. import_request_variables('p', '_post_');
  2. import_request_variables('c', '_cookie_');


 
Après quoi tu pourrais récupérer ta valeur avec $_get_numrefe.
 
Mais si t'as pas accès au serveur tu peux toujours demander à ton hébergeur de te virer ça, ça doit pouvoir se faire. :o

Message cité 1 fois
Message édité par sielfried le 05-05-2008 à 09:46:39

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1728392
zapoutor
Posté le 05-05-2008 à 09:46:28  profilanswer
 

merci de ton aide précieuse! je commencé à piétinner. Je pense qu'en effet cela pourrai ce gérer au pret de l'hébergeur, mais contre quelque deniers à mon avis ...
Sinon au pire j'héberge moi même!

n°1728405
zapoutor
Posté le 05-05-2008 à 10:04:20  profilanswer
 

"ton code" c'est pas du php? c'est à mettre où?

n°1728409
sielfried
Posté le 05-05-2008 à 10:08:28  profilanswer
 

Si c'est du php. :spamafote:
 
Fous-le en haut de ton/tes scripts.


Message édité par sielfried le 05-05-2008 à 10:08:48

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1728418
zapoutor
Posté le 05-05-2008 à 10:23:34  profilanswer
 

ok j'essaye!

n°1728423
zapoutor
Posté le 05-05-2008 à 10:27:11  profilanswer
 

Code :
  1. <?php
  2.       import_request_variables('g', '_get_');
  3.       import_request_variables('p', '_post_');
  4.       import_request_variables('c', '_cookie_');
  5. */
  6. $numrefer = $_GET['numrefer'];
  7. echo $numrefer;
  8. ?>


 
 
AUCUN affichage :(

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  Passer une valeur dans le liens!? GET ou POST? [RESOLUS]

 

Sujets relatifs
[Trouve] Formule auto : affectation valeur cellule en "dur"Comment passer du flash au .html
Comment faire un passage par valeur correct ?Problème erreur if
hibernate grammar exception (renommé avec mon 3e post)changer une valeur de radio à partir d'un texte - devis en ligne
Utiliser des valeur de précision 0.000_005 dans un reseau de neurones[VBA] Comment trouver un valeur juste sup/inf à une cellule?
Protéger mon champs $_POST dans mon panier[Résolu]Include et GET
Plus de sujets relatifs à : Passer une valeur dans le liens!? GET ou POST? [RESOLUS]


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