IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] Methode post sur un lien


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut [Cookies] Methode post sur un lien
    Bonjour à tous

    Je voulais savoir s'il était possible d'appliquer la méthode POST sur le simple clic d'un lien.

    Je ne veux pas passer par la méthode GET, c'est pour alimenter un compteur, si je fais la méthode GET, il suffira de changer le chiffre dans l'url pour mettre ce que l'on veut.

    Je voudrais aussi eviter de passer par un fichier intermédiaire.

    Merci

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Le seul moyen pour toi sera de passer par javascript, afin de capturer le click sur le lien pour faire un appel ajax à la place.
    Qu'est ce qui te gène dans le fait qu'on puisse changer l'url ? Sache qu'on peut tout aussi bien changer les parametres d'une requête post...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut
    Merci pour ta réponse.

    effectivement ça va passer par du javascript, mais je ne suis pas sur de préférer.

    C'est un compteur pour compter le nombre de clic.

    Je veux récuperer la valuer et rajouter 1, si dans le lien il y 122 et que la personne met 2566 mon comteur passera de 122 à 2566 juste en remplacant un chiffre dans l'url. Dans la méthode POST c'est surment modifiable, mais surement déja plus difficile à réaliser.

  4. #4
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    A mon avis, ce n'est pas une bonne méthode pour compter les clicks.
    Fais plutôt une fonction qui ajoute 1 à un compteur, du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function compteur() {
    if(isset($_GET['compteur']))
    //ajouter 1 à une variable de session, une BDD, etc
    }

  5. #5
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    voila la chose à appeller dans le onLoad avec comme paramètre le lien à passer en mode post
    setPostAHref(document.getElementById('monId'));

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     	 function setPostAHref(myAHref) { 
     	 	if (myAHref.href != "") {
    			var onclick = myAHref.getAttribute('onclick');
    			if (typeof(onclick)!='function') {
    				myAHref.onclick = function () {
    					var href = this.getAttribute('href');
    					var target = this.getAttribute('target');
    					//alert(target);	
    					var arg = new Array();
     
    					var expr =  new RegExp("([^?]*)(\\?([^?]*)?)");
    					var matches = expr.exec(href);
    					if (matches) {
    						var loc = matches[1];
    						var args = matches[3];
    						matches = args.split(/\&/);
    						for (i=0;i<matches.length;i++)
    						  arg[i] = matches[i].split(/=/);
    					} else {
    						var loc = href;
    					}
     
    					var body = document.getElementsByTagName("body")[0];
    					var aform = document.createElement("form");
    					aform.style.visibility = "visible";
    					aform.setAttribute('method','POST');
    					aform.setAttribute('action',loc);
    					if (target)	aform.setAttribute('target',target);
     
    					for (var i = 0; i < arg.length; i++) {
    						var hidden = document.createElement("input");
    						hidden.setAttribute('type','hidden');
    						hidden.setAttribute('name',arg[i][0]);
    						hidden.setAttribute('value',arg[i][1]);
    						hidden = aform.appendChild(hidden);
    					}
    					aform = body.appendChild(aform);
     
    					aform.submit();
    					return false;
    				}
    			}
    		}
    	}
    A+JYT

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut
    Ok les gars

    Merci pour vos propositions, je suis au boulot, je regarde ce soir et je vous tiens au courant.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut
    Bon j'ai pas réussi avec vos méthodes,

    Je ne suis pas un pro et je ne comprend pas trop le javascript.

    sinon sekaijin tu peux me dire ce que tu entends par "le onLoad avec comme paramètre le lien à passer en mode post
    setPostAHref(document.getElementById('monId'));"

    je suis débutant tu pourrais m'expliquer simplement ?

    j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function compteur() {
    }
    Mais je ne sais pas appelé la function au chargement de la page.

    il est possible de faire un onload avec une function php ? si oui j'ai pas réussi.






    j'ai donc fait mon compteur en passant par un autre fichier, je continue de chercher mieux.
    Merci

Discussions similaires

  1. [PHP 5.4] Validation formulaire Method POST sur la même page
    Par actarus4444 dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2014, 22h13
  2. Methode POST sur un annuaire
    Par Meher001 dans le forum Langage
    Réponses: 3
    Dernier message: 18/02/2013, 10h58
  3. Html2PDF et requète post sur un lien
    Par Stouille89 dans le forum jQuery
    Réponses: 1
    Dernier message: 09/09/2010, 10h05
  4. Réponses: 1
    Dernier message: 25/02/2008, 23h05
  5. Comment utiliser la methode POST sur une icone ?
    Par horkets dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 27/05/2007, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo