Une Alternative à GET et POST ?

Résolu
mokadjo Messages postés 4 Date d'inscription lundi 28 avril 2003 Statut Membre Dernière intervention 4 août 2006 - 3 août 2006 à 18:36
mokadjo Messages postés 4 Date d'inscription lundi 28 avril 2003 Statut Membre Dernière intervention 4 août 2006 - 4 août 2006 à 16:12
Est-ce que quelqu'un aurait une alternative à GET et POST pour passer des variables à PHP ?
Par exemple, j'ai cherché un moyen de modifier les var globales de PHP avec JAVASCRIPT ou un autre langage mais j'ai pas trouvé. Ce que je veux c'est pouvoir charger une page avec des "arguments" différents "cachés" en fonction de ce que je veux afficher dans la page.
Et s'il n'y a aucune solution pour PHP, est-ce qu'il y a un autre logage avec lequel c'est possible ?
Merci d'avance pour vos réponses.
A voir également:

8 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
3 août 2006 à 19:52
Salut,
tout ce qu'il y a d'autre c'est les champs hidden html et les variables de session, ainsi que les cookies. Eventuellement tu peux importer des variables qui ne seront pas affichées dans la source avec Ajax. Et tu peux encoder du html avec javascript pour que Monsieur tout-le-monde ne puisse pas le lire.
Mais dans tous les cas, dis-toi bien que tout ce qui est envoyé au navigateur n'est, au fond, jamais secret (par définition!)
à+
3
mokadjo Messages postés 4 Date d'inscription lundi 28 avril 2003 Statut Membre Dernière intervention 4 août 2006
4 août 2006 à 16:12
Merci encore à tous.
Alors en fin de compte j'ai réussit faire ce que je voulais avec vos réponses. Voilà comment j'ai procédé. Je passe par SESSION.

Mon fichier index.php

<?
session_start();
/*        CONNECTION         */
include("fichier de connection");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv= "Content-Type" content="text/html; charset=iso-8859-1">
<title>SodaWater - Site Officiel du groupe de rock SodaWater de Blois</title>
<link href=" fichier css " rel ="stylesheet" type= "text/css">
</head>

   

        <? include (" fichier title "); ?>
   

    <!--POUR CHAQUE LIEN, IL ENVOI LE NOM DE LA PAGE A SESSION.PHP QUI PLACE LE NOM EN VARIABLE SESSION,
     RECHARGE LA PAGE INDEX QUI TRADUIT LE NOM (LA VARIABLE PAGE DE SESSION) PAR UN CHANGEMENT DE PAGE-->

        [session.php?page = News]
        [session.php?page= biographie Biographie]
        [session.php?page=discographie Discographie]
        [session.php?page=concerts Concerts]
        [session.php?page=photos Photos]
        [session.php?page=videos Vidéos]
        [session.php?page=shop Shop]
   

   

       

            <?
/*                  Si la page est précisée                    */
                if ($page<>""){

/*                 Renvoi vers la page désignée par la variable de session $PAGE              */   
                    include($page.".php");

                }else{

/*             Sinon il affiche les NEWs                   */
                    $resultforum=mysql_db_query($dbName,"select news,titre,date from news order by date desc");
                    while (list($nouvelle,$titre,$date) = mysql_fetch_row($resultforum)){
                        echo "$titre - $date
";
                        echo "".nl2br($nouvelle)."

";
                        echo "Posté par Mokadjo à 13:00
";
                    }
                }
          ?>
       

            <? include (" fichier sidebar "); ?>
            <!--------------------------
CLEAR pour que le container englobe bien toutes les données, jusqu'au bout-->
           
ooooooooooooooooooooooooooooooooooooooo

       

   

</html>

Mon fichier session.php

<?
/*               OUVRE LA SESSION POUR PLACER LA VARIABLE PAGE VENUE DES CLIQUES LIEN DE MENU                */
session_start() ;
$_SESSION['page'] =$_GET["page"];

/*                 REDIRECTION VERS L'INDEX                */
header("Location: ./");
?>

Si vous avez un petit commentaire à faire sur ce script genre si voyez un système plus simple, n'hésitez pas.
J'vous donne l'adresse du site que je suis en train de créer pour voir le résultat : http://www.cafe-stugga.com/sodawater
C'est un site temporaire, la partie graphique n'ai pas terminée, je suis en train de faire le squelette.
Merci beaucoup encore !!!
3
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
3 août 2006 à 20:12
Le meilleur (mais le plus compliker) est les sessions. Mais il est mieu de savoir comment utiliser les 3. Et tu prend le meilleur pour chaque variable a transferer.

Par exemple.
-Une variable sans importance qui peu etre affichee dans l'url (sans risqu d'exploit). GET
-Une variable d'un formulaire POST est bon. (Modifiable filtre bien tes variables)
-Une variable avec une grande quantite de donnees ou pour avoir un plus gran niveau de securite SESSION evidament.

Corrigez moi si je me trompe.

~~ Cordialement Francois Gingras
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
3 août 2006 à 23:24
Les sessions sont très simples, autant que POST et GET.
Mais on ne peut pas comparer les 3 comme tu le fais bizzard4, car 2 sont destinées à être envoyées par le navigateur, alors que les variables de sessions sont internes au serveur.
Enfin bref, on a répondu, Mokadjo tu n'as plus qu'à aller te renseigner sur ce qui a été dit, tu opteras pour une solution ou une autre en fonction de ce que tu as besoin de faire, par exemple en te posant la question: la valeur des variables doit-elle obligatoirement être connue du client.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mokadjo Messages postés 4 Date d'inscription lundi 28 avril 2003 Statut Membre Dernière intervention 4 août 2006
4 août 2006 à 02:21
Ok merci à tous les deux.
J'avias juste omis de vous demander comment j'peux faire fonctionner ça avec un simple lien (<a href .....) ?
Est-ce qu'avec un lien je peux envoyer du POST ? Pour modifier mes variables session est-ce qu'il faut que je déclanche une fonction avec mon lien qui va les modifier ?
J'étudie le cas AJAX, ça à l'air chaud à saisir le principe mais je vais essayer... j'suis de loin une star en javascript
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 août 2006 à 09:10
Hello,

je m'en mèle.
D'abord, la réponse à le dernière question: non.
A moins que le lien ne génère un évènement sur le onclick, et que tu aies un formulaire caché avec la variable à envoyer, qui est soumis par cet évènement...

Ajax ne changera strictement rien au problème de sécurité que tu te poses. Une variable restera visible (si si : l'évènement déclenchant la méthode xmlhttp enverra à cette méthode les variables, généralement...et ça, ça se verra dans la source html).

Mais des méthodes, il y en a des tas...selon ce que tu veux faire exactement. Comme le dit Evangun, ça dépend de la provenance de tes variables : sont-elles des variables "client" ou peuvent-elle rester côté serveur ? Auquel cas, les sessions sont ok, de même que des fichiers (une page écrit dans un fichier, l'autre le lit).
On peut aussi faire du GET via CURL.
Mais effectivement, des variables qui passent dans du HTTP seront tjrs visibles, si ton utiulisateur le veut vraiment...(et ce, quel que soit le langage, au passage).
0
mokadjo Messages postés 4 Date d'inscription lundi 28 avril 2003 Statut Membre Dernière intervention 4 août 2006
4 août 2006 à 11:32
D'accord. C'est vraiment casse-tête ce truc !
En fait, ce que j'ai fait pour mon site c'est une page index qui est rechargée avec un argument ?page=... Le truc c'est que je ne veux pas qu'on voit ce ?page=... Alors je me disais que par POST ça pourrait le faire mais je vois pas comment envoyer du POST avec juste un <a href (sans formulaire), sinon hier soir j'ai essayer de procéder ainsi : avoir du GET avec ?page=... à une page PHP dont le rôle est uniquement de transformer celle-ci en global ou $GLOBALS (justement je sais pas) et avec header de revenir sur l'index qui réutilise la global............ Mais ça foire !
C'est assez prenant !
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
4 août 2006 à 11:56
Hello,
tu peux faire un

<form action="page.php" method="post" id="lienX">

</form>
[javascript:void(0) Texte]

et une fonction javascript:

function soumettre(){
    document.getElementById('lienX').submit();
}

ça devrait marcher pour transmettre discrètement une valeur post avec un lien href.

Pour les globals, regarde mieux comment ça marche.

à+
0
Rejoignez-nous