У меня есть поиск по Интернету, но я не получил актуальное решение. То, что я нашел, этонесколько $ _GET с тем же ключом, разные значения?«но я хочу знать, что как можно установить другой ключ с тем же значением, как ?т = Helloworld&? Д = HelloWorld, Я знаю, что это возможно, но я не знаю, как это сделать. Кто-нибудь может мне помочь.
Итак, мой вопрос
Я хочу использовать www.omdbapi.com API и Google CSE вместе, где omdb нужен ключ ‘? T =’ и Google CSE нужно ‘? q =’ Я реализовал оба на www.moviesnight.club но это не работает, потому что я не могу продублировать значение ключа ‘? t =’ для ключа ‘? q =’.
Решение 1:
Вы должны сохранить значение параметра в переменной, чтобы проверить, какой ключ доступен в $_GET
:
$queryValue = '';
// Fetch parameter for omdbapi
if(isset($_GET['t'])) {
$queryValue = $_GET['t'];
}
// Fetch parameter for Google CSE
if(isset($_GET['g'])) {
$queryValue = $_GET['g'];
}
// Optional:
if(empty($queryValue)) {
die('No parameter given.');
}
// Use the value stored in $queryValue
Решение 2: (Если у вас нет возможности использовать переменную типа $queryValue
)
$_GET['g'] = isset($_GET['g']) ? : $_GET['t'];
$_GET['t'] = isset($_GET['t']) ? : $_GET['g'];
Я не нашел никакого решения, используя только PHP, поэтому JavaScript помог мне сделать это. Проверьте следующие фрагменты.
JavaScript
function changeText(containerId) {
var datatext = document.getElementById('omdbBox').value;
var collection = document.getElementById(containerId).getElementsByTagName('INPUT');
for (var x = 0; x < collection.length; x++) {
if (collection[x].type.toUpperCase() == 'TEXT') collection[x].value = datatext;
}
}
CSS
#cseBox {display: none;}
PHP (Чтобы распечатать представленный URL-адрес, вам не нужно использовать этот php-код при его использовании, он предназначен только для целей тестирования. Он убедится, что код работает.)
<?php
if(isset($_GET['search'])){
echo 'http://moviesnight.club/?<b>t='.$_GET['t'].'&q='.$_GET['q'].'</b>&search=';
}
?>
HTML
<form method="get">
<input id="omdbBox" type="text" autocomplete="off" name="t" onkeyup="changeText('cseBox')">
<div id="cseBox">
<input type="text" name="q">
</div>
<input type="submit" name="search">
</form>
Также проверьте вживую PhpFiddle