3

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

如何将输入值发送到 php 函数?
是否可以通过调用php函数onclick="function(param1, param2)"
我知道 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 函数以及从输入到函数的值传递!谢谢!

4

6 回答 6

6

让你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>
于 2013-02-24T18:40:57.000 回答
2

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

例如

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

然后在 process.php 中,您将使用以下方式获取表单值$_POST['name of the variable]

于 2013-02-24T18:39:52.353 回答
2

您需要研究 Ajax;从这里开始,这是留在当前页面并能够将输入发送到 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....等

于 2013-02-24T18:45:41.390 回答
1

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

于 2013-02-24T18:37:33.413 回答
0

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

于 2013-02-24T18:42:53.370 回答
-1

你一定读过函数调用。这里我给你举个例子。

<?php
 funtion pr($n)
{
echo $n;
 }
?>
<form action="<?php $f=$_POST['input'];pr($f);?>" method="POST">
<input name=input type=text></input>
</form>
于 2017-06-08T18:21:35.920 回答