43

我试图在提交表单时调用特定的 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>
4

7 回答 7

76

在下一行

<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();
} 
?>
于 2012-09-08T05:49:59.260 回答
10

你不需要这个代码

<?php
function display()
{
echo "hello".$_POST["studentname"];
}
?>

相反,您可以通过使用 . 检查 post 变量来检查表单是否已提交isset

这是代码

if(isset($_POST)){
echo "hello ".$_POST['studentname'];
}

点击这里查看isset的php手册

于 2012-09-08T05:54:00.803 回答
6

假设你的脚本名为 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>
于 2012-09-08T05:56:29.890 回答
2

PHP 在服务器上运行,您的浏览器是客户端。一旦服务器将所有信息发送给客户端,在发出另一个请求之前,服务器上什么也做不了。

要在不刷新页面的情况下发出另一个请求,您将不得不查看 ajax。查看 jQuery,因为它使 ajax 请求变得容易

于 2012-09-08T05:47:34.987 回答
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>
于 2012-09-08T05:49:15.913 回答
0

写下这段代码

<?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>
于 2017-03-11T09:54:42.483 回答
0

另一种选择,也许是一个不太好的程序编码,是将“函数名”发送到一个脚本,然后执行该函数。例如,对于登录表单,通常有登录、忘记用户名、忘记密码、登录活动,这些活动在表单上显示为按钮或锚点。所有这些都可以指向/作为,比如说,

weblogin.php?function=login
weblogin.php?function=forgotusername
weblogin.php?function=forgotpassword
weblogin.php?function=signin

然后接收页面上的 switch 语句会做任何准备工作,然后调度或运行(下一个)指定的函数。

于 2020-12-05T13:48:15.390 回答