Кнопка HTML: Перенаправление по щелчку


<input type='submit' name='submit' value='Register' class='register' />

Как мне сделать эту ссылку на веб-сайт по щелчку мыши?

Author: LongSimple, 2014-01-20

5 answers

Вот один из способов сделать это с вашим настоящим кодом (кнопка "отправить") с помощью PHP header() функция.

(handler.php)

<?php
if(isset($_POST['submit'])){
header("Location: http://www.example.com/page.php");
exit;
}

И я предполагаю, что с кодом, который у вас есть в вашем вопросе, что-то похожее на эффект:

<form action="handler.php" method="post">
Username: 
<input type='text' name='username' />
<input type='submit' name='submit' value='Register' class='register' />
</form>

Конечно, я не включил возможные $username=$_POST['username'];, которые могут быть в вашем PHP, в зависимости от того, как вы будете его использовать.


РЕДАКТИРОВАТЬ

После прочтения mplungjan's comment сделали небольшое имя менять. Я еще не знаю, почему использование имени submit считается небезопасным, после попытки найти (или) причину этого в Google. Я надеюсь получить или найти ответ на этот вопрос.

( Редактировать-выводы) Смотрите дополнительную информацию ниже, которую я нашел на сегодняшний день.

(handler.php)

<?php
if(isset($_POST['reg_button'])){
header("Location: http://www.example.com/page.php");
exit;
}

И я предполагаю, что с кодом, который у вас есть в вашем вопросе, что-то похожее на эффект:

<form action="handler.php" method="post">
Username: 
<input type='text' name='username' />
<input type='submit' name='reg_button' value='Register' class='register' />
</form>

Выводы:

Статья(статьи), с которыми я столкнулся на тема, которая mplungjan упоминалась в комментариях:


Если вы собираетесь использовать PHP (серверный) метод, рассмотрите возможность использования следующего, заимствованного из статьи этого веб-сайта о межсайтовых сценариях.

<input name="foo" value="<?php print htmlspecialchars($foo); ?>">

И в вашем случае:

<input type='submit' name='reg_button' value='<?php print htmlspecialchars($reg_button); ?>' class='register' />

Заимствовано из mplungjan's комментарий:

1) никогда не нажимайте кнопку отправки name="submit"
2) используйте ссылку или кнопку <input type="button" onclick="location='somepage.html'" />
3) Просто используйте name="Submit" или submitted, и проблем можно будет избежать.

(Спасибо за дополнительный вклад mplungjan).

 5
Author: Funk Forty Niner, 2017-05-23 12:26:24

Вы должны понимать поведение используемого тега по умолчанию. Тег ввода "Отправить" отправляет пользователя в действие формы. Я не уверен, что вы пытаетесь сделать, поэтому я не уверен, что вы даже используете правильный тег. Возможно, рассмотрим теги привязки?

Мое лучшее предположение, учитывая расплывчатый вопрос:

<form action="{URL}" method="post">
  <input type='submit' name='submit' value='Register' class='register' />
</form>

Или

<a href="{URL}">Register</a>
 2
Author: Jackson Leung, 2014-01-19 20:32:37
<input type="button" onclick="window.location='YourUrlHere'" class="register" value="Register"/>
 1
Author: Mark Nijboer, 2014-01-19 20:39:53

Вы можете использовать тег привязки для этой проблемы, тег привязки используется для перенаправления с одной страницы на другую всего одним щелчком мыши. Здесь вы можете использовать это следующим образом:

 <a href="url"><input type='submit' name='submit' value='Register' class='register' /></a>

Примечание: href - это тег, который содержит путь к желаемому месту назначения. Вот и все, продолжайте кодировать...:)

 1
Author: Amrinder Singh, 2014-01-20 13:20:29

Вы можете выбрать <a href="{URL}">Register</a>, как только что было сказано, или, если хотите, вы также можете использовать тег кнопки <button onclick="myFunction()">Click me</button>, где myFunction - это ваш код JavaScript на другую страницу

 0
Author: Stephane Paquet, 2014-01-19 20:43:15