2014-12-06 85 views
1

我想提交两个表单字段值到一个PHP函数,在同一页上。 该功能完美地手动填充这两个值。简单的表单提交到PHP函数失败

<?PHP // Works as expected 
echo "<br />"."<br />"."Write text file value: ".sav_newval_of(e, 45); 
?> 

在窗体上,我必须缺少一些东西,或者我有一个语法错误。网页无法显示。我发现下面的例子在这里:A 1 Year old Stackoverflow post

<?php 
if(isset($_GET['submit'])) { 
    $val1 = htmlentities($_GET['val1']); 
    $val2 = htmlentities($_GET['val2']); 

    $result = sav_newval_of($val1, $val2); 
} 
?> 

<?php if(isset($result)) echo $result; //print the result of the form ?> 

<form action="" method="get"> 
    Input position a-s: 
    <input type="text" name="val1" id="val1"></input> 
    <br></br> 
    Input quantity value: 
    <input type="text" name="val2" id="val2"></input> 
    <br></br> 

    <input type="submit" value="send"></input> 
</form> 

难道是我的窗体上放置代码? 任何建议表示赞赏。

+0

而语法错误是? – Rizier123 2014-12-06 20:58:16

回答

1

您需要命名您的提交按钮,或者检查是否有别的东西在你的if(isset($_GET['submit']))部分:

<form action="" method="get"> 
    Input position a-s: 
    <input type="text" name="val1" id="val1" /> 
    <br></br> 
    Input quantity value: 
    <input type="text" name="val2" id="val2" /> 
    <br></br> 

    <input type="submit" name="submit" value="send" /> 
</form> 

还是保持同样的形式,但改变PHP来:

<?php 
if(isset($_GET['val1']) || isset($_GET['val2'])) { 
    $val1 = htmlentities($_GET['val1']); 
    $val2 = htmlentities($_GET['val2']); 

    $result = sav_newval_of($val1, $val2); 
} 
?> 
+0

谢谢Rasclatt。这两个解决方案解决了它。 – Ashton 2014-12-06 21:26:33

0

你可以隐藏你字段:

<input type='hidden' name='action' value='add' > 

,并通过使用形成有被isset功能检查PHP已提交。