Page 1 sur 1
Recuperer paramètres d'un lien href avec php
Posté : 12 déc. 2015, 15:30
par raphou
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

Re: Recuperer paramètres d'un lien href avec php
Posté : 12 déc. 2015, 16:12
par Ascla
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 :
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'
]);
Re: Recuperer paramètres d'un lien href avec php
Posté : 12 déc. 2015, 16:18
par raphou
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
Posté : 12 déc. 2015, 16:46
par Ascla
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
Posté : 12 déc. 2015, 16:49
par raphou
Non , micropost_user et l'id de la personne qui a posté le statut ..
Re: Recuperer paramètres d'un lien href avec php
Posté : 12 déc. 2015, 17:01
par Ascla
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
Posté : 12 déc. 2015, 21:50
par raphou
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
Posté : 12 déc. 2015, 22:00
par or 1
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
Posté : 12 déc. 2015, 22:03
par raphou
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
Posté : 12 déc. 2015, 22:16
par or 1
extract($_POST);
l'ajax fait bien un appel en méthode post ?
Re: Recuperer paramètres d'un lien href avec php
Posté : 12 déc. 2015, 23:37
par raphou
Oui oui
Re: Recuperer paramètres d'un lien href avec php
Posté : 12 déc. 2015, 23:48
par or 1
'subject_id' => $user,
j'aurais plutôt vu $micropost_id
Re: Recuperer paramètres d'un lien href avec php
Posté : 12 déc. 2015, 23:49
par raphou
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
Posté : 14 déc. 2015, 21:23
par raphou
Quelqu'un pourrait il m'aider ...