【问题标题】:create a session as error displayer for forms or functions error创建会话作为表单或函数错误的错误显示器
【发布时间】:2013-12-24 10:31:23
【问题描述】:

我正在开发一个网站,我对这个主题很陌生。我有一个想法,即制作一个包含表单和函数错误或成功警报的会话变量。而不是重定向到同一页面。此外,克服了在重定向到某些 php 引擎页面的情况下显示成功警报的问题。此外,在页面标题重定向后存储警报显示以清除变量的能力,因此刷新页面不会发出相同的请求并将 sql 行添加到数据库。

警报,例如:用户已成功添加到数据库

我希望我的介绍很清楚。我想知道这里的开发人员对这个想法的看法。至于做法好坏。你有没有其他方法使用。我确定我不是第一个想到它的人。

我将不胜感激任何关于这个主题的帮助

if (isset ($_POST['name']))
  //doing something
else
  $_SESSION['errors'] .= bla bla fill all;

另一个例子:

$success = mail($emailto, $subject, $message, "From: <$EmailFrom>");
if ($success)
     $_SESSION['errors'] .= email has been sent successfully;

然后在索引或任何其他页面上回显会话变量。

【问题讨论】:

    标签: php sql database session alert


    【解决方案1】:

    你好朋友

    正如您所说,您是该语言的新手...作为初学者,我会说思维过程非常好...但是它们在使用 session 来处理错误和消息时会遇到一些问题...

    1) 会话值可以轻松修改,例如 $_SESSION['err'] = "i have changed the val"; 2)使用会话通常是一个昂贵的过程。他们需要被启动然后被销毁,否则他们会消耗服务器空间 3)如果会话被用户通过浏览器销毁,没有err,不会显示msg,只会出现fatal err

    解决方案:使用常量

    喜欢:

    define("value", "please enter the value");
    define("name", "please enter the name");
    define("age", "please enter the age");
    

    use 可以将所有常量放在任何目录中的一个文件中,并且只包含您想要使用错误/常量变量的文件,例如

    include('err.php');
    

    我希望这对你有帮助:)

    【讨论】:

      【解决方案2】:

      您可以为此使用 cookie。

      if (isset ($_POST['name']))
        //doing something
      else
        setcookie("msg","Successfully inserted",time()+5,"/");
        header("location:index.php");
        exit;
      

      index.php:

      <?php if(isset($_COOKIE['msg'])){?>
          <span><?php echo $_COOKIE['msg'];setcookie("msg","",time()-5,"/");?></span> 
      <?php }?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-15
        • 1970-01-01
        • 2022-11-25
        • 2022-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多