[英]index undefined php with $_POST
我试图摆脱未定义的索引。 每次我点击提交时都没有勾选方框,我得到一个未定义的索引错误。
<html>
<head>
<title>Order</Title>
<style>
</style>
<body>
<form action = "order.php" method = "post">
Coffee:<p>
<input type = "checkbox" value = "coffee" name = "cappuccino"/>Capuccino<br>
</form>
</body>
</head>
</Html>
<?php
$capuccino = 3.75;
if(isset($_POST["submit"]))
{
if($_POST['cappuccino'] <> 'coffee')
{
$capuccino = 0;
}
}
?>
尝试使用isset
类的
<?php
if(isset($_POST["submit"]))
{
if(isset($_POST['cappuccino']) && $_POST['cappuccino'] <> 'coffee')
{
$capuccino = 0;
}
}
?>
您也可以使用!=
而不是<>
$_POST['cappuccino'] != 'coffee'
在HTML表单中,如果不进行检查,则不会发布值。 你应该测试它是否是第一次发布,所以你的PHP代码将是这样的:
<?php
if(isset($_POST["submit"]))
{
if(isset($_POST['cappuccino']) && $_POST['cappuccino'] <> 'coffee')
{
$capuccino = 0;
}
}
?>
你的条件应该是:
if(array_key_exists('cappuccino', $_POST) && isset($_POST['cappuccino']) && $_POST['cappuccino'] <> 'coffee')
<html>
<head>
<title>Order</Title>
<style>
</style>
<body>
<form action = "order.php" method = "post">
Coffee:<p>
<input type = "checkbox" value = "coffee" name = "cappuccino"/>Capuccino<br>
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</head>
</Html>
<?php
$capuccino = 3.75;
if(isset($_POST["submit"]))
{
if(isset($_POST['cappuccino']) && !empty($_POST['cappuccino']) <> 'coffee')
{
$capuccino = 0;
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.