我试图将一些值保存到db中,在第一页上我正在运行一些匹配,并在第二页上我需要保存值。在第一页只有点击按钮显示给用户,当他点击,值被存储。
代码
<form action="ms_insert.php" method="post">
<input type="submit" value="Claim your daily bonus" name="test">
</form>
如何提交表单外的所有值并将它们发送到ms_insert.php并处理这些值?
我需要什么才能做到这一点。
需要匹配一些值,如果匹配成功,它会将条目保存到数据库中。
下面是我现在使用的确切代码:
<?php
if ( $thismemberinfo[msurf] >= $msurfclicks ) {
$sql=$Db1->query("INSERT INTO d_bonus VALUES('$userid','0.02',NOW())");
echo "success";
}
else
{
echo "wrong";
}
?>
<form action="" method="post">
<input type="hidden" value="123" name="match">
<input type="submit" value="Claim your daily bonus $o.o2" name="claim">
</form>
我希望这个php代码执行时,用户点击提交按钮
我可以想到两种方法:
-
只需将post变量设置为另一个值,如下所示:
$_POST['text'] = 'another value';
这将覆盖先前与数组的文本键对应的值。$_POST是一个超级全局关联数组,你可以像普通的php数组一样改变它的值。
-
第二种是使用这篇文章中描述的_SESSION标签:
在first.php:
在ms_insert.php:$_SESSION['favcolor'] = 'green';
echo $_SESSION['favcolor']; // green
注:你也可以使用cookies
额外的来源:
- http://www.felixgers.de/teaching/php/hidden1.html
您可以将Javascript与XHR对象一起使用,例如,或者尝试将您的值插入到隐藏的输入中。
方案1:AJAX,例如:
你的JS(这里使用Jquery):
function saveInDb(){
/* Retrieve your values in your page : */
var myValue1 = $('#value1Id').val();
var myValue2 = $('#value2Id').val();
/*Create a Jquery ajax object : */
$.ajax({
type: "POST",
url: "ms_insert.php",
data: { "value1": myValue1, "value2": myValue2 }
}).done(function( msg ) {
alert( "Data Saved");
});
}
你的HTML:
<span id="value1Id">My value 1</span>
<span id="value2Id">My value 2</span>
<button onclick=saveInDb()></button>
方案二:隐藏输入的HTML:
<form action="ms_insert.php" method="post">
<input type="hidden" value="My value 1" name="value1">
<input type="hidden" value="My value 2" name="value2">
<input type="submit" value="Claim your daily bonus" name="test">
</form>