[RESOLU] Recuperer paramètres d'un lien href avec php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Recuperer paramètres d'un lien href avec php

Re: Recuperer paramètres d'un lien href avec php

par raphou » 14 déc. 2015, 21:23

Quelqu'un pourrait il m'aider ...

Re: Recuperer paramètres d'un lien href avec php

par raphou » 12 déc. 2015, 23:49

Ce n'est pas le micropost_id que je veux c'est le id de la personne qui a posté le statut , pour envoyer la notifications a la bonne personne :)

Re: Recuperer paramètres d'un lien href avec php

par or 1 » 12 déc. 2015, 23:48

'subject_id' => $user,
j'aurais plutôt vu $micropost_id

Re: Recuperer paramètres d'un lien href avec php

par raphou » 12 déc. 2015, 23:37

Oui oui

Re: Recuperer paramètres d'un lien href avec php

par or 1 » 12 déc. 2015, 22:16

extract($_POST);
l'ajax fait bien un appel en méthode post ?

Re: Recuperer paramètres d'un lien href avec php

par raphou » 12 déc. 2015, 22:03

Oui les valeurs dans le PHP sont bonnes

L'ajax appelle cette page:
<?php 
session_start();

require '../config/database.php';
require '../includes/functions.php';

extract($_POST);



if($action == 'like'){

 if(! user_has_already_liked_the_micropost($micropost_id)){
 	
 	
 	$q = $db->prepare('INSERT INTO notifications(subject_id, name, user_id,type_id)
			 VALUES(:subject_id, :name, :user_id,:type_id)');
			 $q->execute([
			 'subject_id' => $user,
			 'name' => 'like_post',
			 'user_id' => get_session('user_id'),
			 'type_id' => $statut

			 ]);
 	 	like_micropost($micropost_id);

 	
 }
}else{
	if(user_has_already_liked_the_micropost($micropost_id)){

 	unlike_micropost($micropost_id);

  }
}
echo get_likers_text($micropost_id);

Re: Recuperer paramètres d'un lien href avec php

par or 1 » 12 déc. 2015, 22:00

var data = 'micropost_id=' + micropost_id+ '&action=' + action + '&user=<?= $micropost->user_id?>' + '&statut=<?= $micropost->content ?>' ;
il y a donc des paramètres issus du javascript et d'autres de php. est-ce que dans le source de la page, ceux en php ont bien la valeur escomptée ?
quelle est l'url appelée par l'ajax ?

Re: Recuperer paramètres d'un lien href avec php

par raphou » 12 déc. 2015, 21:50

Je n'arrive pas à récuperer l'id de la personne qui a poster le statut , pourtant dans le lien j'envoie bien cela en GET
<a style="color:#6fafff;"  id="like<?= $micropost->m_id ?>" data-action="like"  class="like" href="like_micropost.php?id=<?= $micropost->m_id; ?>">Je valide </a>

Re: Recuperer paramètres d'un lien href avec php

par Ascla » 12 déc. 2015, 17:01

D'accord, et donc quel est le problème ? Quelle est la valeur que tu n'arrives pas à recevoir ?

Re: Recuperer paramètres d'un lien href avec php

par raphou » 12 déc. 2015, 16:49

Non , micropost_user et l'id de la personne qui a posté le statut ..

Re: Recuperer paramètres d'un lien href avec php

par Ascla » 12 déc. 2015, 16:46

Il va falloir remettre un peu d'ordre.
micropost_id est bien l'id du post liké ?
micropost_user est bien l'id de l'utilisateur qui like ?
Regarde tout d'abord avec Alert($micropost_id); pour savoir si tu reçois bien le bon id. Dans le cas contraire, ta méthode de transmission est incorrecte.

Re: Recuperer paramètres d'un lien href avec php

par raphou » 12 déc. 2015, 16:18

Ca y est j'ai réussi a recuperer mon subject_id j'avais oublie de préciser que ma requete est en ajax donc du coup je le recupere ici :
$(document).ready(function() {
  $(".timeago").timeago();

  $("a.like").on("click",function(e){

    e.preventDefault();
      var id = $(this).attr("id");
     var url = 'ajax/micropost_like.php';

     var action = $(this).data('action');
    
     var micropost_id = id.split("like")[1];
    
     var data = 'micropost_id=' + micropost_id+ '&action=' + action + '&user=<?= $micropost->user_id?>' + '&statut=<?= $micropost->content ?>' ;
Le seul probleme c'est que ça récupère le contenu du premier statut et non du statut liké , alors que le user_id que je récupere est bien spécifique a celui du statut posté
Merci beaucoup pour votre réponse rapide

Re: Recuperer paramètres d'un lien href avec php

par Ascla » 12 déc. 2015, 16:12

Tout d'abord, vérifie si les arguments sont bien envoyés par méthode GET: Tu devrais avoir : lien.fr?id=UN_ID&user=UN_USER
Dans le cas ou la transmission fonctionne, le problème viendrait alors du côté de la page qui réceptionne.

Si l'action ne récupère pas l'id de l'utilisateur, le problème vient peut être de cette ligne :

Code : Tout sélectionner

'user_id' => get_session('user_id'),
Pourquoi envoyer un GET $id si tu ne le réceptionnes pas ?
Pour moi, ça devrait plus ressembler à ça :
$q = $db->prepare('INSERT INTO notifications(subject_id, name, user_id,type_id)
       VALUES(:subject_id, :name, :user_id,:type_id)');
       $q->execute([
       'subject_id' => $_GET['id'],
       'name' => 'like_post',
       'user_id' => $_GET['user'],
       'type_id' => 'Bonjour'

       ]);

Recuperer paramètres d'un lien href avec php

par raphou » 12 déc. 2015, 15:30

Bonjour a tous voila j'ai un petit progblème qui me bloque depuis quelques jours déja ,

Alors voila j'ai un lien qui permet de ''liker'' une publication, mais le problème est que quand je souhaite envoyer une notifications

l'action like récuperer que l'id du statut posté mais pas l'utilisateur qui l'as posté . J'ai donc dans mon lien de like :
<a   id="like<?= $micropost->m_id ?>" data-action="like"  class="like" href="like_micropost.php?id=<?= $micropost->m_id; ?>&user=<?= $micropost->user_id; ?>">Je valide </a>
Et dans le script php de like_micropost.php qui crée la notification
$q = $db->prepare('INSERT INTO notifications(subject_id, name, user_id,type_id)
			 VALUES(:subject_id, :name, :user_id,:type_id)');
			 $q->execute([
			 'subject_id' => $_GET['user'],
			 'name' => 'like_post',
			 'user_id' => get_session('user_id'),
			 'type_id' => 'Bonjour'

			 ]);
Voila si quelqu'un pouvait m'aider ce serait super gentil , parceque cela fait deux nuits blanches pour ça :)