Envoyer des données en POST sans formulaire ... [Fermé]

Signaler
Messages postés
1220
Date d'inscription
lundi 25 juin 2012
Statut
Membre
Dernière intervention
7 août 2014
-
 Mak-chan -
Bonjour,

J'ai une page PHP qui s'exécute.
Il y a une valeur que j'aimerais transmettre à une seconde page, je dois la transmettre en POST uniquement.
Ca, je sais le faire via un formulaire.
Mais sans formulaire, comment l'envoyer ?

$search = "toto";
$_POST['libelle'] = $search;

Ca suffit ?


5 réponses

Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
884
Salut, voilà une solution qui correspond au schéma que tu nous a donné:

code de ma-page2.php
<?php 
//recup de la variable passée en GET (methode ternaire) 
 $libelle = isset($_GET['libelle']) ? $_GET['libelle'] : ""; 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 

</head> 
<body> 
<form name="form1" method="post" action="ma-page.php"> 
<input type="hidden" name="libelle" value="<?php echo $libelle; ?>" /> 
</form> 
<script type="text/javascript"> 
 document.form1.submit(); //on envoie le formulaire vers ma-page.php 
</script> 
</body> 
</html>
15
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Pile ce don j'avais besoin ! Surtout le Script d'envois du formulaire ^^
Grâce à lui j'ai complété une page de connexion automatique pour un site web.
Merci =)
Messages postés
1935
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
263
non,

sans formulaire ce n'est pas possible ou en ajax mais ta page ne sera pas rechargé par contre tu peux faire

<form action="url que tu veux" method="post">
<input type="hidden" name="libelle" value="valeur que tu veux" />
<input type="submit" value="valueur de ce que tu aurais écris dans ton liens" />
</form>

ensuite tu peux assé facilement mettre du css pour pas que ca se voit que c'est un formulaire
Messages postés
1220
Date d'inscription
lundi 25 juin 2012
Statut
Membre
Dernière intervention
7 août 2014
1 748
Oui, mais il faudra forcément valider le formulaire pour arriver à la page suivante...

J'ai trouvé ( ici : https://openclassrooms.com/forum/sujet/transmettre-une-variable-post-sans-formulaire-68841 ) peut-être quelque chose qui me sera utile :

<?php
 
$postdata = http_build_query(
   array(
      'var1' => 'du contenu',
      'var2' => 'doh'
   )
);
 
$opts = array('http' =>
   array(
      'method'  => 'POST',
      'header'  => 'Content-type: application/x-www-form-urlencoded',
      'content' => $postdata
   )
);
 
$context  = stream_context_create($opts);
 
$result = file_get_contents('http://example.com/submit.php', false, $context);
 
?>


Je n'arrive cependant pas à comprendre ce que ce script fait ...
Messages postés
1935
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
263
ce script li un fichier distant avec une requête post

mais ce n'est pas comme ça que j'ai compris ton problème
Messages postés
1220
Date d'inscription
lundi 25 juin 2012
Statut
Membre
Dernière intervention
7 août 2014
1 748
Grosso-modo, j'ai un formulaire sur mon site, que je ne peux pas toucher.
Il reçoit un paramètre en POST ( le paramètre "libelle" ).
Je cherche à créer une page, à qui on passera un paramètre en GET, qui redirige ce paramètre, vers la page en POST.

Un exemple:

J'ai déjà ma page http://example.org/ma-page.php ( que je ne peux pas ouvrir).

Je cherche à créer une page http://example.org/ma-page-2.php?libelle=toto
Cette page redirigera, en POST ( et pas en GET ni-même en SESSION), le libelle=toto, vers la page http://example.org/ma-page.php .

Messages postés
18
Date d'inscription
lundi 19 août 2013
Statut
Membre
Dernière intervention
9 mars 2014
1
Bonjour Lionel, t'as trouvé une solution?? Parce que j'ai le même problème que vous