Случайное перенаправление URL-адресов при нажатии php или Javascript

Я хочу перенаправить на случайный URL из списка.

Пример : У меня есть 3 URL-адреса: Google.com, Facebook.com, yahoo.com.

<a href = "<?php $sites[array_rand($sites)] ?>">Visit here</a>

Таким образом, всякий раз, когда пользователи щелкают ссылку, они будут перенаправлены на один из 3 URL-адресов в массиве. Я пробовал этот код, но не работал должным образом:

$sites = array(
'http://www.google.com/',
'http://www.facebook.com/',
'http://www.yahoo.com/'
);
die();

вам не хватает точки с запятой после $sites = array(...);

Emissary 11.11.2018 16:29

Также неясно, является ли этот href законным или нет. Вы не определили, куда вас приведет текущее перенаправление

charlietfl 11.11.2018 16:38
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
2 407
2

Ответы 2

Мой код заработал.

<?php
$addresses = [
    'http://www.google.com',
    'http://www.facebook.com',
    'http://www.youtube.com'
];
$size = count($addresses);
$randomIndex = rand(0, $size - 1);
$randomUrl = $addresses[$randomIndex];
?>


<a href = "<?php echo $randomUrl; ?>">random url</a>

Если у вас есть лучший код, сделайте предложение.

Спасибо

Я бы порекомендовал ответ Пати, поскольку он не требует обновления страницы, чтобы URL-адрес отличался при каждом щелчке. Поскольку PHP обрабатывается на стороне сервера, URL-адрес не является динамическим, он отправляется клиенту. JS-ответ Пати динамически изменяет URL-адрес на клиенте.

Snake14 11.11.2018 16:52

Та же функциональность с использованием javascript:

<a href='javascript:openUrl()'>Visit here</a>
<script>
var sites=['http://www.google.com/',
'http://www.msn.com/',
'http://www.yahoo.com/'
];

function openUrl(){
    var i = Math.round(Math.random()*(sites.length-1));
    window.location.href=sites[i];
    return false;
}
</script>

Первая запись массива никогда не выбирается таким образом. Вместо этого используйте: window.location.href = sites [Math.floor (Math.random () * sites.length)]; (нет необходимости vor var i)

Jonathan Arbely 05.08.2020 21:12

Другие вопросы по теме