CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Utiliser des POST sans html ?

LePetitPsikopat
LePetitPsikopat
Niveau 7
26 septembre 2009 à 04:39:54

Salut à tous !

Alors voilà, j'ai une page en php qui remplit le rôle de fonction de mon petit programme.
Quand elle s'exécute, elle détermine les valeurs de plusieurs variables, dont certaines sont des messages alphanumériques relativement longs (cela ne me permet pas d'employer la méthode GET).

Contrainte sine qua non : il ne faut pas d'html dans la page (pour pouvoir faire une redirection).

Existe-t-il un moyen d'utiliser la méthode POST ou suis-je obligé de passer par une base de données (ce qui est faisable mais pas très propre et pas pratique à faire) ?

dnob700
dnob700
Niveau 10
26 septembre 2009 à 11:03:46

Je ne comprend pas ta question. Tu veux utiliser du POST de quoi à quoi et pour transmettre quoi précisément.

Pourquoi pense-tu ne pas pouvoir le faire ? En règle générale tu peut transmettre absolument ce que tu veux en POST (tu n'a vraiment aucune limitation). La seule chose c'est que la chaîne doit être encodé, c'est-à-dire que certain caractère spéciaux sont remplacés par autre chose avant l'envoie (et a chaîne doit être décodée à la réception bien sûr), pour qu'il n'y ait pas de conflit avec le protocol.

dnob700
dnob700
Niveau 10
26 septembre 2009 à 11:08:14

Ah, si, j'ai compris ta question. Tu veux émettre une redirection depuis ta page PHP et tu veux y adjoindre des donnée en POST.

Je me suis posé cette question il y a quelques temps et je crois que ce n'est pas possible. Car les données sont généralement envoyé par le client vers le serveur, or, une redirection c'est un message du serveur qui dit au client d'aller voir ailleur. Il pourrait y avoir des données POST à ce moment là (mais je ne sais déjà pas les envoyer, mais ça doit pouvoir se trouver), mais il est très probable que le client les ignore et fasse sa nouvelle requête (avec la nouvelle page qu'on lui as indiqué) sans les données.

Ce que j'ai fait pour résoudre ce problème c'est que mon script, au lieu d'émettre une redirection émets directement la page vers laquelle il aurait du rediriger (qui a donc l'adresse du script et non la sienne). Comme ça il a les donnée qu'il peut passer à la page et il n'y a pas de problème de communication. D'autre par tu évite deux requête donc tu gagne du temps.

cul-p1-de-br1
cul-p1-de-br1
Niveau 9
26 septembre 2009 à 15:19:53

j'ai pas trop bien compris, mais tu peux essayer de stocker les variables dans des sessions ou dans des cookies (à conditions qu'elles ne comportent pas d'infos confidentielles, ou alors tu les encode), et une fois qu'elles sont envoyées tu les détruit

deepblue
deepblue
Niveau 16
27 septembre 2009 à 11:55:15
  • En règle générale tu peut transmettre absolument ce que tu veux en POST (tu n'a vraiment aucune limitation*, tu es limité la taille total de la chaine. Par exemple, sur une config par défaut de php, c'est 2Mo.

Si tu as une structure commune de message et seulement un paramète qui change, passe uniquement le paramètre en GET, ajoute un id qui identifiera le message à utiliser, et le tour est joué.

Tu peux aussi créer des fichiers temporaire dans un dossier avec l'erreur, qui seront supprimés ensuite (ça éviter d'aller chercher dans une base de donnée type mysql)

godrik
godrik
Niveau 30
27 septembre 2009 à 16:29:36

La difference entre POST et GET est elle juste lie a la taille maximale de l'url et au parametre qui apparaissent dans l'url ou bien y a t'il une difference plus importante ?

dnob700
dnob700
Niveau 10
27 septembre 2009 à 19:08:09

non, fondamentalement c'est ça. Mais on peut considérer que POST est la manière "correcte" d'envoyer des donnée (HTTP était à l'origine un protocol presque symétrique entre le client et le serveur), tandis que GET est juste un hack qui abuse des fonctionnalité des serveur moderne pour passer plus d'information dans une requête.

Ensuite les limitations de GET c'est effectivement que la requête va être cachée par le système (et ça peut géner un moteur de recherche aussi, entre autre petit défaut), et qu'il y a une taille limite à un URL, mais sinon, ça fonctionne correctement.

LePetitPsikopat
LePetitPsikopat
Niveau 7
28 septembre 2009 à 02:23:04

OK merci pour les réponses !

Excusez-moi si j'ai pas été clair, apparemment vous avez bien compris mon problème.

Je ne connaissais pas l'existence des variables $_SESSION, elles sont très utiles et répondent parfaitement à ce que je voulais.

Merci pour vos conseils !

deepblue
deepblue
Niveau 16
28 septembre 2009 à 08:40:16

Si tu bosses sur un ftp chez free, penses à créer un dossier "sessions" à la racine.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment