Récupérer une variable php
Tags :
- Script
- Programmation
Dernière réponse : dans Programmation
stephane81
28 Janvier 2007 14:50:51
Bonjour,
J'ai un formulaire html qui envoie via la méthode Post les champs saisies par un utilisateur.
Mon script "formulaire.php" reçoit ces champs, et les affichent sans aucun problème.
Mais le problème se pose quand je veux récupérer la valeur de ses champs par un autre script php "tester.php". Ce script ne m'affiche rien.
J'ai essayé avec la fonction include, mais "tester.php " récupèrer tous sauf les champs avec _POST.
J'ai essayé les "SESSION", mais ca ne marche pas non plus.
Ma question est comment je pourrais récupérer les valeurs postées par mon formulaire par mon deuxième script "tester.php" sans passer par les sessions.
Merci
J'ai un formulaire html qui envoie via la méthode Post les champs saisies par un utilisateur.
Mon script "formulaire.php" reçoit ces champs, et les affichent sans aucun problème.
Mais le problème se pose quand je veux récupérer la valeur de ses champs par un autre script php "tester.php". Ce script ne m'affiche rien.
J'ai essayé avec la fonction include, mais "tester.php " récupèrer tous sauf les champs avec _POST.
J'ai essayé les "SESSION", mais ca ne marche pas non plus.
Ma question est comment je pourrais récupérer les valeurs postées par mon formulaire par mon deuxième script "tester.php" sans passer par les sessions.
Merci
Autres pages sur : recuperer variable php
coca25
28 Janvier 2007 15:56:02
stephane81
28 Janvier 2007 17:38:35
coca25 a dit :
tout dépend comment est appelé ton 2ème script...une solution serait de les reposter
mais la solution la plus facile à mettre en place reste les sessions vu que c'est prévu pour
Dans mon "formulaire.php" j'ai:
$titre= $_POST['titre'];
$_SESSION['titre']=$titre;
$variable = $titre;
$toto = "toto1";
Maintenant "$variable" contient le titre posté. Dans la page "tester.php" je fait un include('formulaire.php'),
et quand je fais: echo $toto, ca m'affiche bien "toto1"
et quand je fait echo $variable, il n'ya rien qui s'affiche
Il n'ya pas moyen de convertir et de récupérer la variable posté en tant qu'une variable normal comme $toto, que je pourrais utliser dans mes autres pages php, sans passer biensûr par les "SESSIONS".
Contenus similaires
- [PHP]Récupération de variable via Radio - Solutions
- [PHP] récupéré les trois premieres lettre d'une variable - Forum
- php: mettre un ' et récupérer une variables dans une zone de texte - Forum
- Comment récupérer les variables d'un formulaire en PHP ? Problème ! - Forum
- Récupération de variables au cours d'une session php - Forum
- [PHP] fausse variable fputs(); - Solutions
coca25
28 Janvier 2007 19:09:13
... pas clair tout ca!
je vois 2 possibilités:
--
tu as un formulaire dont l'action est : tester.php
ce script (tester.php) inclut formulaire.php
dans ce cas, session ne sert à rien, $variable non plus, il te suffit d'utiliser $titre
--
ou alors tu as un formulaire dont l'action est formulaire.php
ou tu mets:
puis par je ne sais quel facon, tu accedes à tester.php (lien, formulaire...)
dans ce cas dans tester.php tu dois avoir:
et pour utiliser les sessions, ne pas oublier:
à mettre avant toute sortie (echo, print etc...) du script
je vois 2 possibilités:
--
tu as un formulaire dont l'action est : tester.php
ce script (tester.php) inclut formulaire.php
dans ce cas, session ne sert à rien, $variable non plus, il te suffit d'utiliser $titre
--
ou alors tu as un formulaire dont l'action est formulaire.php
ou tu mets:
$titre= $_POST['titre'];
$_SESSION['titre']=$titre;
puis par je ne sais quel facon, tu accedes à tester.php (lien, formulaire...)
dans ce cas dans tester.php tu dois avoir:
$titre = $_SESSION['titre'];
et pour utiliser les sessions, ne pas oublier:
session_start();
à mettre avant toute sortie (echo, print etc...) du script
stephane81
28 Janvier 2007 21:10:41
91898,4,319370 a dit :
... pas clair tout ca!Je récapitule, car je pense qu'on s'est mal compris.
Je ne veux pas passer par les sessions!!
1) Dans le formulaire html, j'envoie un titre ex: "Le php".
Je déclare les variables suivantes dans le "formulaire.php"
qui recoit les valeurs postés par le formulaire:
$toto = "toootoooooo "; // une variable bidon pour tester
$titre = $_POST['titre']; // ici le titre est : "Le php"
2) Maintenant je veux récupérer ces variables dans mon script "tester.php"
................................Jusqu'à la tu me suis Coca

Dans mon script "tester.php" je fais : include ('formulaire.php');
pour tester je fait: echo $toto, et le résultat = "toootoooooo".(
exactement ce que j'avais dans "formulaire.php").
ensuite je fait echo $titre, et là il n'ya rien qui s'affiche.
Donc comment je peux faire pour récupérer la valeur
de $titre, sans passer par les sessions.
Est-ce qu'il n'ya pas moyen de récupérer $titre=$_POST['titre'],
comme une variable normal, comme $toto ?
phplayer
28 Janvier 2007 21:51:09
stephane81
28 Janvier 2007 23:39:07
phplayer a dit :
Si ca se trouve ton problème c'est juste que tu as oublié le session_start(); qui doit re mis en tout premier.Mais non, puisque je ne veux pas utiliser de session.
Je veux juste récupérer la variable $_POST['titre'] comme n'importe
quelle autre variable Php, comme $toto dans mon exemple plus haut
coca25
29 Janvier 2007 10:11:50
j'ai du mal qd meme (mauvais we surement
)
Je déclare les variables suivantes dans le "formulaire.php"
qui recoit les valeurs postés par le formulaire:
donc formulaire.php recoit les valeurs postés ok
ensuite tu APPELLES tester.php COMMENT??
c'etait la question que j'insinuais par:
puis par je ne sais quelle facon, tu accedes à tester.php (lien, formulaire...)
le plus simple serait de poster le code du formulaire, de formulaire.php et de tester.php

Citation :
Je déclare les variables suivantes dans le "formulaire.php"
qui recoit les valeurs postés par le formulaire:
donc formulaire.php recoit les valeurs postés ok
ensuite tu APPELLES tester.php COMMENT??
c'etait la question que j'insinuais par:
Citation :
puis par je ne sais quelle facon, tu accedes à tester.php (lien, formulaire...)
le plus simple serait de poster le code du formulaire, de formulaire.php et de tester.php
phplayer
29 Janvier 2007 19:12:29
Les variable de type POST ne sont valables que pendant l'execution de la page qui les reçoit. Si tu veux appeler ta page test.php par un lien tu peux l'appeler en passant par des variable GET :
<?php
echo "<a href='test.php?titre=".$titre.">Lien vers test</a>'";
?>
et dans ta page test.php :
<?php
if(isset($_GET['titre'])){
$titre=$_GET['titre'];
}
else{
$titre="";
}
?>
<?php
echo "<a href='test.php?titre=".$titre.">Lien vers test</a>'";
?>
et dans ta page test.php :
<?php
if(isset($_GET['titre'])){
$titre=$_GET['titre'];
}
else{
$titre="";
}
?>
stephane81
30 Janvier 2007 07:26:15
coca25 a dit :
le plus simple serait de poster le code du formulaire, de formulaire.php et de tester.phpEffectivement, un exemple vaut milles mots

formulaire.php:
session_start();
$titre =$_POST['titre'];
$_SESSION['titre'] = $titre;
$toto = "tooootoooo";// variable de test
teste.php:
<?php
session_start();
include ("formulaire.php");
// upload d'un fichier
$file=$_FILES['Filedata']['name'];
$uploadDir = './upload/';
$uploadFile = $uploadDir.$file;
move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
$connection=mysql_connect($host,$user,$password)
or die("Connexion impossible");
$db = mysql_select_db($db,$connection)or die ("Erreur sur la base");
$sql = "INSERT INTO titre (titre,fichier,toto) VALUES ('$titre','$file','$toto')";
mysql_query($sql) or die("Erreur sur la requette");
?>
Résumé de tout ça, la variable toto que j'avais dans formulaire.php s'insère bien dans ma base de données, donc
j'ai "toootoooo". De plus, le nom du fichier que j'upload s'insère également dans ma base. Par contre, le champ titre est resté vide.
Comme vous avez vu, j'ai utilisé les sessions et ca ne fonctionne
pas, c'est la raison pour laquelle je voudrais savoir si il ya moyen de récupérer le variable $titre comme j'ai récupérer $toto.
coca25
30 Janvier 2007 11:25:03
premier point: dis moi ce que tu ne comprends pas dans:
donc formulaire.php recoit les valeurs postés ok
ensuite tu APPELLES tester.php COMMENT??
ensuite 2eme point qui va, je crois, clarifier pas mal de chose:
ajoute dans ton formulaire.php:
et tu me diras ce que ca te sort
donc formulaire.php recoit les valeurs postés ok
ensuite tu APPELLES tester.php COMMENT??
ensuite 2eme point qui va, je crois, clarifier pas mal de chose:
ajoute dans ton formulaire.php:
echo "<br/>-----<br/>";
echo $_POST['titre'];
echo "<br/>-----<br/>";
$titre =$_POST['titre'];
$toto = "tooootoooo";// variable de test
et tu me diras ce que ca te sort
stephane81
30 Janvier 2007 16:10:57
coca25 a dit :
premier point: dis moi ce que tu ne comprends pas dans:donc formulaire.php recoit les valeurs postés ok
ensuite tu APPELLES tester.php COMMENT??
coca25 a dit :
le plus simple serait de poster le code du formulaire, de formulaire.php et de tester.php
Tu voulais que je poste le code, alors je t'ai posté le code.
Si tu veux savoir comment j'appele "tester.php", c'est en cliquant sur "envoyer " de mon formulaire qui m'envoie sur "tester.php".
Une fois que je suis sur tester.php, j'upload un fichier qui s'insère
dans la base de données. Je veux que le titre envoyé par l'usager s'insère aussi, et ce n'est pas le cas.
Ce qui est bizzare, c'est que j'ai fait un teste sur une autre page "toto.php". Sur cette page, j'ai mis le même code que sur "teste.php" sauf le code pour l'upload d'un fichier ,et cette fois,
le titre s'insère correctement dans la base de données.
Le problème vient apparement de l'ulpoad, et c'est étrange.
Ce qui serai plus sage, c'est de convertir le variable $_POST en un e variable normale, genre un string, comme ma variable $toto
qui s'insère correctement dans la base de données quand je l'appèle depuis "formulaire.php";
"Je ne sais pas si c'est faisable,mais bon, tout est possible"
coca25
30 Janvier 2007 16:38:26
stephane81
2 Février 2007 02:50:21
Citation :
Ouai, c'est presque ainsi que ca se déroule, mais j'ai enlever complètement la page "tester.php" pour réduire les dégâts, et maintenant tout ce fait au niveau de "formulaire.php".Donc le tout ce passe au niveau du "formulaire.html" et "formulaire .php". Mais mon problème persiste toujours.Maintenant ca se passe ainsi:
- L'utilisateur saisit le titre dans "formulaire.hml", clique sur envoyer, ce qui l'envoie vers formulaire.php qui récapitule ce qu'il a saisi.
Maintenant l'upload du fichier se fait via le "formulaire.php" et non
"teste.php".
Pour faire un premier test, j'ai mis le code suivant dans "formulaire.php": (Pas d'upload de fichier).
1. <?php
2. // Récupérer le titre.
3. $titre=$_POST['titre'];
4. // Connection à la base de données
5. $connection=mysql_connect($host,$user,$password)
9. or die("Connexion impossible" );
10. $db = mysql_select_db($db,$connection)or die ("Erreur sur la base" );
11. $sql = "INSERT INTO titre (titre) VALUES ('$titre')";
12. mysql_query($sql) or die("Erreur sur la requette" );
13. ?>
Et là, tout ce passe bien, le titre posté par le formulaire s'insère correctement dans la base de données.
Deuxième test:
Dans mon "formulaire.php" j'ai mis le nouveau code suivant:
(Upload d'un fichier).
1. <?php
2. // Récupérer le titre.
3. $titre=$_POST['titre'];
4. // upload d'un fichier
5. if($_FILES['Filedata']['name']){
6 $file=$_FILES['Filedata']['name'];
7. $uploadDir = './upload/';
8. $uploadFile = $uploadDir.$file;
9. move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
10. $connection=mysql_connect($host,$user,$password)
11. or die("Connexion impossible" );
12. $db = mysql_select_db($db,$connection)or die ("Erreur sur la base" );
13. $sql = "INSERT INTO titre (titre,fichier) VALUES ('$titre','$file')";
14. mysql_query($sql) or die("Erreur sur la requette" );
15. ?>
}
Dans ce deuxième test, le fichier s'upload et son nom s'insère correctement dans la base de données, mais le titre ne s'insère pas.Donc, c'est sûrement un problème dans l'upload, et je ne sais pas comment le règler.
Quand on veut uploader un fichier, le $_POST['titre'] n'est plus reconnu ?
Ca commence à m'énèrver tous ca lol.
coca25
2 Février 2007 11:53:32
quand un formulaire poste des données (depuis une page A) vers une page (B), celle-ci les récupère dans la variables $_POST (en l'occurence ton titre est bien récupéré).
si aprés tu postes un fichier de B vers une autre page C, le fichier sera recupéré mais le titre non car la variables POST est recrée avec les valeurs postées depuis B
en gros tu as une etape en plus dans ton algorithme qui fait que titre n'existe plus dans C et c'est pour ca que je voulais connaitre la facon dont tu accedes à tester.php ou le cheminement de tes formulaires
donc on en revient à 15 messages avant, la solution est ou bien de reposter titre (avec un input hidden) ou alors d'utiliser les sessions mais depuis la page B au moins.
mais comme je n'ai que des bribes de codes, je peux pas en dire plus.
en aucun cas le fait de mettre un upload dans un formulaire ne cause un probleme.
si aprés tu postes un fichier de B vers une autre page C, le fichier sera recupéré mais le titre non car la variables POST est recrée avec les valeurs postées depuis B
en gros tu as une etape en plus dans ton algorithme qui fait que titre n'existe plus dans C et c'est pour ca que je voulais connaitre la facon dont tu accedes à tester.php ou le cheminement de tes formulaires
donc on en revient à 15 messages avant, la solution est ou bien de reposter titre (avec un input hidden) ou alors d'utiliser les sessions mais depuis la page B au moins.
mais comme je n'ai que des bribes de codes, je peux pas en dire plus.
en aucun cas le fait de mettre un upload dans un formulaire ne cause un probleme.
Contenus similaires
- RésoluVérifier le format d'une variable en PHP solutions
- RésoluRécupérer des variables de type "texte" sur une page HTML Forum
- Récupérer une variable de type "texte" sur une page HTML Forum
- [RESOLU] VBA - Récupérer le numéro de ligne dans une variable Forum
- Récupérer variable dans url page jsp Forum
- Problème pour récupérer une variable dans un .txt (batch dos) Forum
- Voir plus