2015-03-19 95 views
0

我试图在html中传递一些无法由用户操作的变量到下一页,就像这里的无效努力,但它无法传递到下一页,这是什么错误,谢谢
以html格式传输隐藏值

Name <input type="text" name="name" size="35"> 
    <br /><br /> 
    Guess <input type="number" name="guessNum" size="35" > 
    <br /><br /> 
    <script > 
    var effort=13; 

    </script> 
    <input type="hidden" name="effort" value="effort" > 
    <input type="submit" value="submit"> 


</form> 
</div> 
+0

一旦你重定向到另一个页面,你的变量被重新初始化,所以显然你会得到不同的值......为此,你需要选择一个“状态”,然后你可以传递到另一个页面。 – 2015-03-19 10:04:20

+0

可否请您详细说一下“状态”,或者给我一些关键词让我搜索,我是新的,谢谢~~ – rockmerockme 2015-03-19 10:09:38

回答

0

我试图在HTML无法由用户操作下一页

这是不可能的传递一些变量。您将其提供给用户并要求他们发回。他们可以随心所欲地改变它。

如果您不希望更改它,请将其存储在服务器上(例如在会话中)。


的代码不工作,因为你设置一个JavaScript变量叫effort并没有改变表单字段的值(当你设置的变量不存在的事件)。

<input type="hidden" name="effort" value="effort" > 
<script> 
document.querySelector("input[name=effort]").value = 13; 
</script> 

你会再需要一些服务器端代码读它(除非它是一个GET形式,在这种情况下,你可以使用JS从URL拉)。

正如我所说,即使你修复了这个问题,用户也可以操纵它。

+0

我看到了,但是我不知道如何将无效努力转移到$努力,那么我可以使用会话。 – rockmerockme 2015-03-19 10:15:31

+0

如果它在JavaScript变量中,那么它已经处于用户的控制之下,并且没有任何事情可以阻止它被更改。要将其发送到服务器端变量,请将其放在答案中代码中演示的表单中。 – Quentin 2015-03-19 10:17:12

+0

好的,我明白了。在下一个url中,我尝试将努力保存到数据库中。 <?php extract($ _ REQUEST); (isset($ name)&& isset($ guessNum)){ $ link = mysql_connect(“localhost”,“root”); mysql_select_db(“PeerPrediction”); (''name','$ guessNum','$'''''');} $ status =“消息 $ guessNum已发布

”; } ?>但它无法得到努力价值?你建议我只能用js来努力? – rockmerockme 2015-03-19 10:20:06