2010-12-02 6 views
0

ici je vérifie et obtenir une partie de la demande, (les ids). i également imprimer toute la demande:

if (isset($_REQUEST['ids'])){ 
    $amount = sizeof($_REQUEST['ids']); 
    print_r($_REQUEST); 
    echo "<br>$amount invitations Successfully Sent"; 
} 

voici comment l'ensemble _request $ imprime:

Array 
(
    [mfs_typeahead_req_form_4cf74f96db3688507476560] => Start Typing a Name 
    [ids] => Array 
     (
      [0] => 510149460 
     ) 
    [fbs_258181898823] => \"access_token=258181898823|2.q_qb_yoReO0_xc4H8PxKRQ__.3600.1291280400-100000664203700|LqtGr_OiJTASGmek61awxmxfvFk&expires=1291280400&secret=85eTEELZj8lkV82V_PwRSA__&session_key=2.q_qb_yoReO0_xc4H8PxKRQ__.3600.1291280400-100000664203700&sig=d4cc0e4c0992ea29c0adfd60dc27185b&uid=100000664203700\" 
) 

i doivent analyser la partie à la fin: & uid = 100000664203700, en particulier « 100000664203700 '

+0

Vous pouvez le faire avec preg_match http://php.net/manual /fr/function.preg-match.php –

+0

N'utilisez pas '$ _REQUEST' ici. Voir http://stackoverflow.com/questions/368329/php-using-get-post-instead-of-request – Lekensteyn

Répondre

0

parse_str() va décomposer les choses qui ressemblent à une chaîne de requête. Je vous recommande de passer un tableau en tant que deuxième paramètre.

1
$queryString = $_REQUEST["fbs_258181898823"]; 
$output = array(); 
parse_str($queryString, $output); 
print $output["uid"]; 
+0

merci, mais fbs_258181898823 n'est pas défini par moi son dynamiquement fixé par fb. comment puis-je y accéder sans utiliser la clé? – chris

+0

Y a-t-il un motif à cela? Est-ce que le nom commence toujours par fbs_? –

0

Vous pouvez utiliser parse_str() - cela devrait faire l'affaire.

0

D'abord, retirez le \" (en utilisant une combinaison de preg_replace et stripslashes) au début et à la fin, puis utilisez parse_str:

$str = preg_replace('/(^"|"$)/', '', stripslashes($_REQUEST['fbs_258181898823'])); 
parse_str($str, $data); 
$uid = $data['uid'];