我试图在提交表单时调用特定的php函数,表单和php脚本都在同一页面中。我的代码在下面。(它不起作用,所以我需要帮助)
<html>
<body>
<form method="post" action="display()">
<input type="text" name="studentname">
<input type="submit" value="click">
</form>
<?php
function display()
{
echo "hello".$_POST["studentname"];
}
?>
</body>
</html>
答案 0 :(得分:59)
在以下一行
<form method="post" action="display()">
动作应该是你的脚本的名称,你应该调用函数,像这样的东西
<form method="post" action="yourFileName.php">
<input type="text" name="studentname">
<input type="submit" value="click" name="submit"> <!-- assign a name for the button -->
</form>
<?php
function display()
{
echo "hello ".$_POST["studentname"];
}
if(isset($_POST['submit']))
{
display();
}
?>
答案 1 :(得分:8)
您不需要此代码
<?php
function display()
{
echo "hello".$_POST["studentname"];
}
?>
相反,您可以使用isset
检查帖子变量来检查表单是否已提交。
这里是代码
if(isset($_POST)){
echo "hello ".$_POST['studentname'];
}
点击此处查看isset
的php手册答案 2 :(得分:5)
假设您的脚本名为x.php,请尝试使用
<?php
function display($s) {
echo $s;
}
?>
<html>
<body>
<form method="post" action="x.php">
<input type="text" name="studentname">
<input type="submit" value="click">
</form>
<?php
if($_SERVER['REQUEST_METHOD']=='POST')
{
display();
}
?>
</body>
</html>
答案 3 :(得分:1)
PHP在服务器上运行,您的浏览器是客户端。一旦服务器将所有信息发送到客户端,在发出另一个请求之前,无法在服务器上执行任何操作。
要在不刷新页面的情况下发出另一个请求,您将不得不查看ajax。查看jQuery,因为它使ajax请求变得容易
答案 4 :(得分:1)
编写此代码
<?php
if(isset($_POST['submit'])){
echo 'Hello World';
}
?>
<html>
<body>
<form method="post">
<input type="text" name="studentname">
<input type="submit" name="submit" value="click">
</form>
</body>
</html>
答案 5 :(得分:0)
如果您想在点击提交按钮时调用某个功能,那么您就有了 使用ajax或jquery,如果你想在提交表单后调用你的php函数 你可以这样做:
<html>
<body>
<form method="post" action="display()">
<input type="text" name="studentname">
<input type="submit" value="click">
</form>
<?php
function display()
{
echo "hello".$_POST["studentname"];
}
if($_SERVER['REQUEST_METHOD']=='POST')
{
display();
}
?>
</body>
</html>
答案 6 :(得分:0)
一种替代方法,也许不是一种很好的过程编码方法,是将“函数名称”发送到脚本,然后执行该脚本。例如,对于登录表单,通常会有登录,forgotusername,forgotpassword和登录活动,这些活动在表单上以按钮或锚点的形式显示。所有这些都可以直接针对/例如
weblogin.php?function=login
weblogin.php?function=forgotusername
weblogin.php?function=forgotpassword
weblogin.php?function=signin
然后,接收页面上的switch语句执行任何准备工作,然后分派或运行(下一个)指定的函数。