保存值在db与提交按钮仅


Save values in db with submit button only

我试图将一些值保存到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:

    $_SESSION['favcolor'] = 'green';
    
    在ms_insert.php:

    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>