单选按钮和PHP
我有一个关于html单选按钮和链接到php的问题。我不知道没有名字部分如何链接,因为我需要名字全部为1,否则你可以选择每个单选按钮。我的第二个问题是如何将按钮链接到php中 这是我的HTML代码:单选按钮和PHP,php,radio-button,Php,Radio Button,我有一个关于html单选按钮和链接到php的问题。我不知道没有名字部分如何链接,因为我需要名字全部为1,否则你可以选择每个单选按钮。我的第二个问题是如何将按钮链接到php中 这是我的HTML代码: <!DOCTYPE html> <html> <head> <title></title> </head> <body> <h1>Pizza</
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Pizza</h1>
<form method="POST" action="pizza.php">
Wat op pizza:<br>
<input type="radio" value="" name="pepperoni">Pepperoni<br>
<input type="radio" value="" name="ananas">Ananas<br>
<input type="radio" value="" name="ansjovis">Ansjovis<br>
<input type="radio" value="" name="broccoli">Broccoli<br><br>
<input type="submit" value="" name="Bestellen" value="Bestellen"><br>
</form>
</body>
</html>
披萨
Wat op pizza:
辣香肠
Ananas
Ansjovis
西兰花
那么,当选择了意大利辣香肠时,我该怎么说呢
这是我的PHP代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
$pep = $_POST["pepperoni"];
$ana = $_POST["ananas"];
$ans = $_POST["ansjovis"];
$bro = $_POST["broccoli"];
?>
</body>
</html>
辣香肠
Ananas
Ansjovis
西兰花
像这样做 不要使用不同的名称,而是将所有名称都设置为相同的名称,然后输入您现在拥有的名称和值。然后使用
$val=$\u POST[“yourvalue”]获取值代码>
例如:
$val=$_POST[“samenameforall”];
您可以为单选按钮赋予相同的名称和不同的值。所以你可以选择1
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Pizza</h1>
<form method="POST" action="pizza.php">
Wat op pizza:<br>
<input type="radio" value="Pepperoni" name="type">Pepperoni<br>
<input type="radio" value="Ananas" name="type">Ananas<br>
<input type="radio" value="Ansjovis" name="type">Ansjovis<br>
<input type="radio" value="Broccoli" name="type">Broccoli<br><br>
<input type="submit" name="Bestellen" value="Bestellen"><br>
</form>
</body>
</html>
披萨
Wat op pizza:
辣香肠
Ananas
Ansjovis
西兰花
在PHP中,您可以阅读
<?php
echo $_POST['type']; //Pepperoni, ananas(pineapple?) etc.
?>
祝你好运 您在这里有点误用了无线电标签属性。比萨饼的类型应该是值,而不是单选按钮的名称。因此,如果将名称更改为类型
,则可以使用PHP中的以下行(安全地)呼出用户的选择:
// If we have something submitted, process the form,
if (isset ($_POST['order'])) {
// Pepperonies are special!
if ($_POST['type'] == 'pepperoni') {
$output = "Congrats! You ordered pepperoni!";
} else {
// Use of htmlspecialchars () to prevent XSS attacks.
$output = "You ordered ".htmlspecialchars ($_POST['type'], ENT_QUOTES, 'UTF-8')." pizza.";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Pizza</h1>
<form method="POST" action="pizza.php">
<fieldset>
<legend>Wat op pizza:</legend>
<input type="radio" id="pepp" value="pepperoni" name="type"><label for="pepp">Pepperoni</label>
<input type="radio" id="anna" value="ananas" name="type"><label for="anna">Ananas</label>
<input type="radio" id="ansj" value="ansjovis" name="type"><label for="ansj">Ansjovis</label>
<input type="radio" id="brocc" value="broccoli" name="type"><label for="broc">Broccoli</label>
</fieldset>
<fieldset>
<input type="submit" name="order" value="Bestellen">
</fieldset>
</form>
<?php
// Only show output if there is something to show.
if (!empty ($output)) {
echo "<p>$output</p>";
}
?>
</body>
</html>
//如果我们有提交的内容,请处理表单,
如果(isset($_POST['order'])){
//胡椒粉很特别!
如果($_POST['type']=='pepperoni'){
$output=“恭喜!你点了意大利香肠!”;
}否则{
//使用htmlspecialchars()来防止XSS攻击。
$output=“You ordered.”htmlspecialchars($\u POST['type'],entu QUOTES,'UTF-8')。“比萨饼”;
}
}
?>
披萨
Wat op比萨饼:
意大利 辣味 香肠
阿纳纳斯
安乔维斯
西兰花
请注意此处使用的htmlspecialchars()
,因为它用于预防。如果您选择比萨饼,您只需选择1个即可。因此,你必须给每台收音机起一个名字,例如pizzaName,你可以用这个名字(辣味香肠)。如果按submit,则可以通过PHP文件读取如下值:
$chosenPizza = $_POST['pizzaName'];
echo $chosenPizza;
而且产量将是意大利香肠 使用单选按钮时,应使用与单选元素相同的名称对其进行分组。看看这个:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
$toppings = filter_input(INPUT_POST, "toppings");
?>
<h1>Pizza</h1>
<form method="POST" action="pizza.php">
Wat op pizza:<br>
<input type="radio" value="pepperoni" name="toppings">Pepperoni<br>
<input type="radio" value="ananas" name="toppings">Ananas<br>
<input type="radio" value="ansjovis" name="toppings">Ansjovis<br>
<input type="radio" value="broccoli" name="toppings">Broccoli<br><br>
<input type="Submit" value="Bestellen">
<?php
echo "<br>";
if($toppings != "") {
echo "You ordered $toppings pizza. ";
}
?>
</form>
</body>
披萨
Wat op pizza:
辣香肠
Ananas
Ansjovis
西兰花
单选按钮允许用户仅选择有限数量选项中的一个,对于您的单选按钮,该特定项目组需要有一个名称属性。然后会有不同的值
您的表单应如下所示:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Pizza</h1>
<form method="POST" action="pizza.php">
Wat op pizza:<br>
<input type="radio" value="pepperoni" name="pizzaType">Pepperoni<br>
<input type="radio" value="ananas" name="pizzaType">Ananas<br>
<input type="radio" value="ansjovis" name="pizzaType">Ansjovis<br>
<input type="radio" value="broccoli" name="pizzaType">Broccoli<br><br>
<input type="submit" value="Bestellen" name="Bestellen" value="Bestellen"><br>
</form>
</body>
</html>
披萨
Wat op pizza:
辣香肠
Ananas
Ansjovis
西兰花
如上所示,所有收音机都具有相同的名称属性pizzaType
然后,在pizza.php上,您需要在单击提交按钮时执行脚本,然后检查是否选择了选项,如果选择了选项,则返回用户选择的选项,如果他们没有返回用户必须至少选择项目的消息
您的pizza.php应该如下所示:
<?php
if(isset($_POST['Bestellen'])){ //button clicked
if(isset($_POST['pizzaType'])){//check if choice is checked
echo "You ordered ".$_POST['pizzaType']. " pizza";
}else{
echo "Please select an option";
die();
}
}
?>
NB:为了您自己的利益,您还需要学习如何这一点非常重要,您必须始终将表单提交视为来自非常危险的黑客,这一点非常重要,在使用之前过滤和净化用户输入。为您的收音机命名相同,但值不同。如果需要倍数,请使用复选框并将其用作数组。下面是一个使用复选框的示例答案,如果你想走这条路线。你的(秘密)编辑:“我的第二个问题是如何将按钮链接到php。”-哦,我看到了,所以情节变厚了。现在,人们已经根据你的原始帖子发布了答案,可能会被否决……我是对的,而不是我的否决票。出于几个原因,最好将php封装在一个条件语句中。收音机使用isset()
顺便说一句,如果你想编辑它。你是对的,但我只回答他的问题。对用户来说,最好的方法是使用一组指定给姓名的数字。您注意到OP对他们的问题进行了(秘密)编辑吗?重新加载以查看他们添加了什么。这实际上相当微妙,但有很大的区别。这也容易受到XSS攻击。更不用说它会抛出一个关于未定义索引的通知,因为您没有首先检查提交的数据。@ChristianF单选按钮如何向XSS打开?这里不是我的否决票,但这会立即抛出一个未定义索引的通知,加上OP询问如何添加超链接。这对XSS攻击很脆弱@ChristianF我改为filter_input^ ^@ChristianF这个问题没有问如何防止XSS注入,这是一个糟糕的问题。此外,许多人在早些时候发布了基于其原始帖子的答案,很可能被否决;老实说,有些东西不是我的。问题太广泛了;他们什么也没试过。这也对XSS开放。是的,我知道是的,但我的意思是,他没有要求提供跨端脚本保护,但是的,你是对的:D但你如何使用XSS呢?只需更改th的值
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Pizza</h1>
<form method="POST" action="pizza.php">
Wat op pizza:<br>
<input type="radio" value="pepperoni" name="pizzaType">Pepperoni<br>
<input type="radio" value="ananas" name="pizzaType">Ananas<br>
<input type="radio" value="ansjovis" name="pizzaType">Ansjovis<br>
<input type="radio" value="broccoli" name="pizzaType">Broccoli<br><br>
<input type="submit" value="Bestellen" name="Bestellen" value="Bestellen"><br>
</form>
</body>
</html>
<?php
if(isset($_POST['Bestellen'])){ //button clicked
if(isset($_POST['pizzaType'])){//check if choice is checked
echo "You ordered ".$_POST['pizzaType']. " pizza";
}else{
echo "Please select an option";
die();
}
}
?>