简体   繁体   English

多个选择/输入框可在PHP中进行POST

[英]Multiple select/input boxes to POST in PHP

I'm trying to do a simple form that has two textareas, and two drop-downs in 1 form. 我正在尝试做一个简单的表单,该表单具有两个textareas,以及两个1表单的下拉列表。 I'm trying to save the values of the POST but it's not working, I keep getting: 我正在尝试保存POST的值,但是它不起作用,我不断得到:

Notice: Undefined index: team2
Notice: Undefined index: players2

My POST page is this: 我的POST页面是这样的:

$team1 = $_POST["team1"];
$team2 = $_POST["team2"];
$str1 = $_POST["players1"];  
$str2 = $_POST["players2"];

And my form is this: 我的形式是这样的:

<form action="cap_update.php" method="post">
To:
<select name="team1">
<option value="Anaheim">Anaheim</option>
<option value="Arizona">Arizona</option>
<option value="Boston">Boston</option>
</select><br><br>
<textarea rows="5" cols="80" name="players1"></textarea>
<br><br>
To:
<select name="team2">
<option value="Anaheim">Anaheim</option>
<option value="Arizona">Arizona</option>
<option value="Boston">Boston</option>
</select><br><br>
<textarea rows="5" cols="80" name="players2"></textarea>
<br><br>
<input type="submit" value="Submit trade!">
</form>
<?php
if(isset($team1))
{
$team1 = $_POST["team1"];
$team2 = $_POST["team2"];
$str1 = $_POST["players1"];  
$str2 = $_POST["players2"];
}
print_r($_POST);

?>
<form action="index.php" method="post">
To:
<select name="team1">
<option value="Anaheim">Anaheim</option>
<option value="Arizona">Arizona</option>
<option value="Boston">Boston</option>
</select><br><br>
<textarea rows="5" cols="80" name="players1"></textarea>
<br><br>
To:
<select name="team2">
<option value="Anaheim">Anaheim</option>
<option value="Arizona">Arizona</option>
<option value="Boston">Boston</option>
</select><br><br>
<textarea rows="5" cols="80" name="players2"></textarea>
<br><br>
<input type="submit" value="Submit trade!">
</form>



use isset to check

otherwise you can use 
error_reporting(E_ERROR | E_PARSE);
E_ERROR


    <?php
error_reporting(E_ERROR | E_PARSE);
 $team1 = $_POST["team1"];
 $team2 = $_POST["team2"];
 $str1 = $_POST["players1"];  
 $str2 = $_POST["players2"];
?>
<form action="index.php" method="post">
To:
<select name="team1">
<option value="Anaheim">Anaheim</option>
<option value="Arizona">Arizona</option>
<option value="Boston">Boston</option>
</select><br><br>
<textarea rows="5" cols="80" name="players1"></textarea>
<br><br>
To:
<select name="team2">
<option value="Anaheim">Anaheim</option>
<option value="Arizona">Arizona</option>
<option value="Boston">Boston</option>
</select><br><br>
<textarea rows="5" cols="80" name="players2"></textarea>
<br><br>
<input type="submit" value="Submit trade!">
</form>

Since you have four variables, if you check isset($team1) inside if condition statement, it will throw error if any of other variables are empty. 由于您有四个变量,因此如果在if条件语句中检查isset($ team1),则在其他任何变量为空的情况下都会引发错误。

Instead you can use ternary operators. 相反,您可以使用三元运算符。 Example as below, 例子如下

<?php
     $team1 = (isset($_POST["team1"]))?$_POST["team1"]:'';
     $team2 = (isset($_POST["team2"]))?$_POST["team2"]:'';
     $players1 = (isset($_POST["players1"]))?$_POST["players1"]:'';
     $players2 = (isset($_POST["players2"]))?$_POST["players2"]:'';
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM