运行 PHP IF 语句取决于特定的 HTML select 形式值
Running PHP IF statement depending on specific HTML select form value
我对 PHP
还是个新手,恐怕我有点不知所措。
我到处搜索,找不到匹配项。
我想做的是 运行 基于 HTML
select 表单的值的 IF
。谁能指出我正确的方向?
(我正在尝试设置投票系统。我可以使用不同的提交按钮更新 MySQL
数据库,但我希望改用 select 框。)
HTML:
<form action='vote_action.php' method='post'>
<select name="selectbox">
<option value=“optone”>optone</option>
<option value=“opttwo”>opttwo</option>
</select>
<input type='submit' name="submit" value=’submit’/>
</form>
PHP:
if(isset($_POST['selectbox']))
{
if(isset($_POST[‘optone’]))
{
$vote_optone = "UPDATE mytable SET votes=votes+1 WHERE id=1";
$run_optone = mysqli_query($con, $vote_optone);
if($run_optone){
echo “First updated“;
}
}
if(isset($_POST[‘opttwo’]))
{
$vote_opttwo = "UPDATE mytable SET votes=votes+1 WHERE id=2”;
$run_opttwo = mysqli_query($con, $vote_opttwo);
if($run_opttwo){
echo “Second updated“;
}
}
}
if ($_POST['selectbox'] === 'optone')
optone 和 opttwo 是值
改变
if (isset($_POST[‘optone’])) {
// ...
}
到
if ($_POST['selectbox'] == 'optone')) {
// ...
}
并对 opttwo
执行相同的操作。
请注意 PHP 中的字符串用 '
或 "
引用,而不是 ‘
.
这不是更好的解决方案吗?
<form action="vote_action.php" method="post">
<select name="selectbox">
<option value="1">optone</option>
<option value="2">opttwo</option>
</select>
<input type="submit" name="submit" value="submit" />
</form>
PHP:
if(isset($_POST['selectbox'])) {
$query = mysqli_query($con, "UPDATE mytable SET votes=votes+1 WHERE id=".$_POST['selectbox']."");
if($query){
echo "Updated";
}
}
注意:这对SQL注入是有用的!
编辑:针对未按照您的意愿行事的用户进行了更新;)
$allowed_ids = array(1, 2);
if(isset($_POST['selectbox']) && in_array($_POST['selectbox'], $allowed_ids)) {
$selected = bin2hex($_POST['selectbox']);
$query = mysqli_query($con, "UPDATE mytable SET votes=votes+1 WHERE id=UNHEX('$selected')");
if($query){
echo "Updated";
}
}
我对 PHP
还是个新手,恐怕我有点不知所措。
我到处搜索,找不到匹配项。
我想做的是 运行 基于 HTML
select 表单的值的 IF
。谁能指出我正确的方向?
(我正在尝试设置投票系统。我可以使用不同的提交按钮更新 MySQL
数据库,但我希望改用 select 框。)
HTML:
<form action='vote_action.php' method='post'>
<select name="selectbox">
<option value=“optone”>optone</option>
<option value=“opttwo”>opttwo</option>
</select>
<input type='submit' name="submit" value=’submit’/>
</form>
PHP:
if(isset($_POST['selectbox']))
{
if(isset($_POST[‘optone’]))
{
$vote_optone = "UPDATE mytable SET votes=votes+1 WHERE id=1";
$run_optone = mysqli_query($con, $vote_optone);
if($run_optone){
echo “First updated“;
}
}
if(isset($_POST[‘opttwo’]))
{
$vote_opttwo = "UPDATE mytable SET votes=votes+1 WHERE id=2”;
$run_opttwo = mysqli_query($con, $vote_opttwo);
if($run_opttwo){
echo “Second updated“;
}
}
}
if ($_POST['selectbox'] === 'optone')
optone 和 opttwo 是值
改变
if (isset($_POST[‘optone’])) {
// ...
}
到
if ($_POST['selectbox'] == 'optone')) {
// ...
}
并对 opttwo
执行相同的操作。
请注意 PHP 中的字符串用 '
或 "
引用,而不是 ‘
.
这不是更好的解决方案吗?
<form action="vote_action.php" method="post">
<select name="selectbox">
<option value="1">optone</option>
<option value="2">opttwo</option>
</select>
<input type="submit" name="submit" value="submit" />
</form>
PHP:
if(isset($_POST['selectbox'])) {
$query = mysqli_query($con, "UPDATE mytable SET votes=votes+1 WHERE id=".$_POST['selectbox']."");
if($query){
echo "Updated";
}
}
注意:这对SQL注入是有用的!
编辑:针对未按照您的意愿行事的用户进行了更新;)
$allowed_ids = array(1, 2);
if(isset($_POST['selectbox']) && in_array($_POST['selectbox'], $allowed_ids)) {
$selected = bin2hex($_POST['selectbox']);
$query = mysqli_query($con, "UPDATE mytable SET votes=votes+1 WHERE id=UNHEX('$selected')");
if($query){
echo "Updated";
}
}