我创建了一个免责声明页面,其中包含“接受/拒绝”按钮和“提交”按钮。我希望这样当有人选择接受然后提交它时会转到特定的URL1。但如果他们选择拒绝,则转到URL2。所有代码都在下面。目前的问题是,当我选择接受或拒绝然后点击提交时,它没有做任何事情。
<!DOCTYPE html>
<html>
<head>
<title>Warning Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
session_start();
if (isset($_POST['Accept'])) {
if ($_POST['Accept'] == 'Accept') {
$_SESSION['did_accept'] = true;
header ('Location: http://www.google.com');
die('<a href="http://www.google.com">Click here to continue</a>');
} else {
header ('Location: http://www.yahoo.com');
die('<a href="http://www.yahoo.com">Click here to continue</a>');
}
}
?>
</head>
<body>
<p>Some text</p>
<label>
<input type="radio" name="radio" value="Accept" id="Accept" onClick="Accept()">
Accept</label>
<br>
<label>
<input type="radio" name="radio" value="Decline" id="Decline" onClick="Decline()">
Decline</label>
<br>
<input type="submit" value="Submit">
</body>
</html>
答案 0 :(得分:0)
要将单选按钮放在一个组中,您必须为它们指定相同的名称。
<label>
<input type="radio" name="Accept" value="Accept" id="Accept">
Accept</label>
<br>
<label>
<input type="radio" name="Accept" value="Decline" id="Decline">
Decline</label>
<br>
<input type="submit" value="Submit">
您在按钮的formaction
中不需要任何内容。只需将其设为type="submit"
,它就会在表单的action
属性中提交给PHP脚本,该脚本应该是您在顶部显示的脚本。
答案 1 :(得分:0)
我修改了我的答案以提供更好的例子。这是未经测试的,但应该让你知道它是如何工作的。
diceList = sorted(diceList)
elif letterChoice == "J" and diceCombinations[9] == False:
diceList = list(set(diceList))
print (diceList)
if diceList in [[1,2,3,4], [2,3,4,5], [3,4,5,6]]:
score = score + 30
diceCombinations[9] = True
答案 2 :(得分:0)
您的问题在这里:
if (isset($_POST['Accept']) && $_POST['Accept'] == 'Accept') {
$_SESSION['did_accept'] = true;
header ('Location: http://www.google.com');
die('<a href="http://www.google.com">Click here to continue</a>');
} else {
header ('Location: http://www.yahoo.com');
die('<a href="http://www.yahoo.com">Click here to continue</a>');
}
由于$_POST['Accept']
未在第一页加载时设置,因为它是GET请求而不是POST请求,您将转到else
块,该块立即重定向您。
尝试这样的事情:
if (isset($_POST['Accept'])) {
if ($_POST['Accept'] == 'Accept') {
$_SESSION['did_accept'] = true;
header ('Location: http://www.google.com');
die('<a href="http://www.google.com">Click here to continue</a>');
} else {
header ('Location: http://www.yahoo.com');
die('<a href="http://www.yahoo.com">Click here to continue</a>');
}
}
答案 3 :(得分:0)
由于我从@Barmar,@ McCormick32,@ Dezza以及所有其他人那里得到的所有好建议,以下是我的工作代码,就像我希望它基于我的原始帖子一样:
<!DOCTYPE html>
<html>
<head>
<title>Warning Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
session_start();
if (isset($_POST['Accept'])) {
if ($_POST['Accept'] == 'Accept') {
$_SESSION['did_accept'] = true;
header ('Location: https://www.google.com');
die('<a href="https://www.google.com">Click here to continue</a>');
}
}
if (isset($_POST['Accept'])) {
if ($_POST['Accept'] == 'Decline') {
$_SESSION['did_accept'] = true;
header ('Location: http://www.yahoo.com');
die('<a href="http://www.yahoo.com">Click here to continue</a>');
}
}
?>
</head>
<body>
<p>Some text</p>
<form method="post" action="">
<label>
<input type="radio" name="Accept" value="Accept" id="Accept" onClick="Accept()">
Accept</label>
<br>
<label>
<input type="radio" name="Accept" value="Decline" id="Decline" onClick="Decline()">
Decline</label>
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
谢谢!