如何运行php代码,只有在"提交"按钮重定向你。

时间:2017-05-13 05:42:56

标签: php

这是我的管理员代码:

<form action="connectdb.php" method="post">
  <input type="text" name="name">
   <input type="submit">
</form>

所以,这样,connectdb.php中的代码只会运行,如果&#34;提交&#34;按钮将用户重定向到它。如果用户直接打开/connectdb.php页面,它将无法运行。

我需要开始一些会话吗?

注意:我是新手,所以请详细解释。

3 个答案:

答案 0 :(得分:2)

由于您的表单使用method="post",您可以将以下代码放在connectdb.php文件的最开头:

<?php
if (empty($_POST)){
   exit;
}

//The rest of your code goes here

这将检查$ _POST变量是不存在还是存在但是为空。如果返回true表示您的表单未提交且用户直接转到该页面。然后该脚本将退出,并显示一个空白屏幕。

您可能希望重定向到另一个页面,而不是显示空白屏幕:

<?php
if (empty($_POST)){
    header("Location: index.html");
    exit;
}

//The rest of your code goes here

每当你进行这样的重定向时,重要的是放置一个出口;直接在它之后的语句,否则你的脚本仍然可以处理一些其他语句并将数据发送到不应该发送的浏览器。在某些情况下,这当然可能是安全风险。退出语句可以防止这种安全风险。

答案 1 :(得分:1)

不确定您是否真的需要它,但您可以添加name属性,如下所示:

<input name="submit_button" type="submit">

因此,当您单击此按钮时,将在PHP端创建$_POST['submit_button']变量,然后您可以使用它来检查按钮是否被单击:

if(isset($_POST['submit_button'])){
    // your code
}

答案 2 :(得分:0)

<input type="submit" name="submit_btn">

现在在你的connectdb.php检查中,

<?php
if(isset($_POST['submit_btn']))
{
    //do your code
}
else
{
 //redirect to your home page
}
?>