如何将表单输入值传递给php函数

时间:2013-02-24 18:35:08

标签: php html forms function

我想写一个有html表单的php页面。我想将我的表单的所有输入(例如数字)发送到php函数(而不是javascript函数;我使其隐藏我的javascript函数代码)。

如何将输入值发送到php函数?
是否可以通过onclick="function(param1, param2)"调用php函数?
我知道javascript是客户端语言,而php是服务器端。

如果可能,我如何在输入栏中写回函数?
我想留在我的页面。
这是正确的 - action="#"
我的代码是:

<form action="#" method="get">
    Inserisci number1: 
    <input type="text" name="val1" id="val1"></input>

    <?php echo "ciaoooo"; ?>

    <br></br>
    Inserisci number2:
    <input type="text" name="val2" id="val2"></input>

    <br></br>

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

帮助我实现简单的php函数以及从输入到函数的值的传递! 谢谢!

6 个答案:

答案 0 :(得分:5)

让你的action为空。您不需要设置onclick属性,这只是javascript。当您单击提交按钮时,它将使用表单中的输入重新加载您的页面。所以在表单顶部编写PHP代码。

<?php
if( isset($_GET['submit']) )
{
    //be sure to validate and clean your variables
    $val1 = htmlentities($_GET['val1']);
    $val2 = htmlentities($_GET['val2']);

    //then you can use them in a PHP function. 
    $result = myFunction($val1, $val2);
}
?>

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

<form action="" method="get">
    Inserisci number1: 
    <input type="text" name="val1" id="val1"></input>

    <?php echo "ciaoooo"; ?>

    <br></br>
    Inserisci number2:
    <input type="text" name="val2" id="val2"></input>

    <br></br>

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

答案 1 :(得分:2)

你需要研究Ajax; Start here这是留在当前页面并能够将输入发送到php的最佳方式。

<!DOCTYPE html>
<html>
<head>
<script>
function showHint(str)
{
var xmlhttp;
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<h3>Start typing a name in the input field below:</h3>
<form action=""> 
First name: <input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>Suggestions: <span id="txtHint"></span></p> 

</body>
</html>

这将获得用户在文本框上的输入并打开网页gethint.php?q = ja从这里php脚本可以对$ _GET ['q']做任何事情并回显到页面James,Jason ...... .etc

答案 2 :(得分:1)

不,该动作应该是php文件的名称。点击后,您只能调用JavaScript。请注意,隐藏用户代码会破坏信任。 JS在浏览器上运行,因此需要一些信任。

答案 3 :(得分:1)

这是非常基本的,只需放入要用于处理元素的php文件。

例如

<form action="process.php" method="post">

然后在process.php中,您将使用$_POST['name of the variable]

获取表单值

答案 4 :(得分:0)

您可以将php文件写入表单元素的action attr 在php端,您可以通过$_POST['element_name']获取表单值。

答案 5 :(得分:0)

你必须阅读有关函数调用的内容。我在这里举例说明。

<?php
 funtion pr($n)
{
echo $n;
 }
?>
<form action="<?php $f=$_POST['input'];pr($f);?>" method="POST">
<input name=input type=text></input>
</form>