我想写一个有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函数以及从输入到函数的值的传递! 谢谢!
答案 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>