J'essaie d'extraire deux valeurs de l'URL avec Jinput.
Mon URL est:
http://localhost/kitchen-guide-new/index.php?option=com_content&view=article&[email protected]&subscribers_name=test&encoding=UTF-8
J'utilise le code suivant:
$jinput = JFactory::getApplication()->input;
$name = $jinput->get('subscribers_name','none','raw');
$email = $jinput->get('subscribers_email','none','raw');
echo $name;
echo $email;
Le problème est que je n’obtiens que la dernière valeur; En d'autres termes, je reçois:
$name = 'test';
$email = 'none'; // (should be [email protected])
Avez-vous une idée de ce que je fais mal et de la façon dont je devrais résoudre le problème?
Je suppose que votre problème est ce deuxième point d'interrogation, le lien devrait être
http://localhost/kitchen-guide-new/index.php?option=com_content&view=article&id=45&[email protected]&subscribers_name=test&encoding=UTF-8
Votre chaîne de requête mal formulée est à blâmer - en particulier le second ?
qui devrait être &
.
démo :
$url = 'http://localhost/kitchen-guide-new/index.php?option=com_content&view=article&[email protected]&subscribers_name=test&encoding=UTF-8';
parse_str(parse_url($url, PHP_URL_QUERY), $array);
var_export($array);
Sortie:
array (
'option' => 'com_content',
'view' => 'article',
'id' => '[email protected]',
'subscribers_name' => 'test',
'encoding' => 'UTF-8',
)
Vous voyez, l'analyse de la chaîne de requête dépend du premier événement ?
pour dicter le début des données. Les paires clé-valeur sont liées ensemble avec =
et sont séparés des autres paires par &
.
En conséquence de votre faute de frappe, le subscribers_email
La clé et la valeur sont ajoutées à la valeur id
.