此处不是php guru
。
我有一个form
,当我按下submit
时,它将运行function()
:
<form id="saveId" action="" method="POST" class="" autocomplete="off">
<input type="hidden" name="save_post_value" value="<?php echo $userPosts; ?>">
<button type="submit" class="save_post btn btn-danger">Save to box</button>
</form>
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
update_user_meta( $user_id, 'save_post', $userPosts );
}
?>
用一种形式很好,但是如果我们有两种形式和功能呢?
<form id="saveId" action="" method="POST" class="" autocomplete="off">
<input type="hidden" name="save_post_value" value="<?php echo $userPosts; ?>">
<button type="submit" class="save_post btn btn-danger">Save to box</button>
</form>
<form id="favorite" action="" method="POST" class="" autocomplete="off">
<input type="hidden" name="save_fav" value="<?php echo $userfavs; ?>">
<button type="submit" class="save_fav btn btn-danger">Add to favs</button>
</form>
不能明显地做:
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
update_user_meta( $user_id, 'save_post', $_POST['save_post_value'] );
}
if($_SERVER['REQUEST_METHOD']=="POST") {
update_user_meta( $user_id, 'save_fav', $_POST['save_fav'] );
}
?>
答案 0 :(得分:3)
检查设置了哪个隐藏输入。
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_POST['save_post_value'])) {
update_user_meta( $user_id, 'save_post', $_POST['save_post_value'] );
} elseif (isset($_POST['save_fav'])) {
update_user_meta( $user_id, 'save_fav', $_POST['save_fav'] );
}
}
答案 1 :(得分:0)
使用不同的操作URL,在“提交”按钮上使用名称和值,或使用隐藏字段。
按钮名称和值的示例:
<button type="submit" name="action" value="save_fav">Add to Favs</button>
...
if ($_POST['action'] === 'save_fav') { ... }
答案 2 :(得分:0)
<form id="saveId" action="" method="POST" class="" autocomplete="off">
<input type="hidden" id="save_post" value="save_post|<?php echo $userPosts; ?>">
<button type="submit" class="save_post btn btn-danger">Save to box</button>
</form>
<form id="favorite" action="" method="POST" class="" autocomplete="off">
<input type="hidden" id="save_post" value="save_fav|<?php echo $userfavs; ?>">
<button type="submit" class="save_fav btn btn-danger">Add to favs</button>
</form>
<?php
if($_SERVER['REQUEST_METHOD']=="POST"){
list($type, $value) = explode("|", $_POST['save_post']) ;
update_user_meta( $user_id, $type, $value);
}
?>
看看它是否有效。