Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Codeigniter中弹出验证表单的消息?_Php_Jquery_Html_Codeigniter_Css - Fatal编程技术网

Php 如何在Codeigniter中弹出验证表单的消息?

Php 如何在Codeigniter中弹出验证表单的消息?,php,jquery,html,codeigniter,css,Php,Jquery,Html,Codeigniter,Css,如果表单的某个字段为空,我想显示一条消息(类似jquery)。弹出窗口什么的。在我的控制器中,我有一段代码: if($this->form_validation->run() == FALSE) { $this->load->view('registry_v'); //Here I want to show some message, some popup or anything (not echo) //

如果表单的某个字段为空,我想显示一条消息(类似jquery)。弹出窗口什么的。在我的控制器中,我有一段代码:

    if($this->form_validation->run() == FALSE) 
    {
        $this->load->view('registry_v');
        //Here I want to show some message, some popup or anything (not echo)
        //Saying that some field is missing or empty.
    }

在服务器端执行此操作将非常痛苦。你想用javascript来做这类事情。但是,javascript可能在客户端被禁用,因此您希望优雅地降级为其他选项,例如字段下面的简单标签或类似的内容


不过,服务器端可能会从php代码中回显一些javascript,尽管这可能不是一个好的做法。我个人反对这一点,但这取决于你决定如何去做。

下面是一个你应该如何为你的任务去做的例子:

<!DOCTYPE html>
<html>
<head>
<script>
function validateForm()
{
var age = document.forms["myForm"]["age"].value;

if (age == null || age == "")
  {
  alert("Enter your age.");
  return false;
  }


}
</script>
</head>

<body>
<form name="myForm" action="age.php" onsubmit="return validateForm()" method="POST">
Age: <input type="text" name="age">
<input type="submit" value="Submit">
</form>
</body>

</html>

函数validateForm()
{
var age=document.forms[“myForm”][“age”].value;
如果(年龄==null | |年龄==“”)
{
警惕(“输入您的年龄”);
返回false;
}
}
年龄:
此类任务的常见方法是使用Javascript检查客户端机器上的输入。 然而,客户机的输入永远不应该被信任(他可能会犯错误,他可能会故意提供不正确的数据,他可能会尝试执行SQL注入之类的攻击),所以您应该始终再次检查他的输入,但已经在服务器端了

基本逻辑:
1). 检查客户端计算机上的客户端输入。如果有什么不对劲,给他一个警告/写一个错误。如果检查完成且没有任何错误-接受用户输入并将其发送到服务器。(由Javascript/JQuery执行)
2). 在使用此输入执行服务器逻辑之前,请在服务器端再次检查用户的输入(防止SQL注入和其他潜在危险的客户端操作)。(在您的案例中,由后端语言PHP执行)

对于您的任务,您可以使用警报功能回显脚本部分。但这种方法是完全错误的,因为:

  • 它增加了服务器的负载,当编写网站时,您的主要目标是尽量减少用户对服务器的请求。要做到这一点,您应该尽可能多地进行客户端计算和检查(同时仍然保持您的安全性。不要忘记,用户可以检查脚本源,以查看数据是如何计算的。)
  • 它仍然使用JavaScript,所以为什么不从一开始就在客户端页面上使用它呢
  • 它创建了更复杂、更难阅读、组织更少的代码
因此,您只是在执行不必要的服务器请求,应该避免这样做

基本上,在客户端检查客户端的输入,在服务器端执行业务逻辑(并没有人会看到)和数据库工作


另外,我建议您阅读一些基本的PHP/web开发书籍,以了解与用户交互的基本逻辑,这将在将来为您节省大量时间。

您有什么理由想在服务器端执行此操作吗?为什么不使用javascript呢?@Aristos谢谢你指出这一点,我不知道!无论如何(服务器端或非服务器端),我都想以任何可能的方式来做。@marco fiset当你获得更多选票时,你就可以投票给接近双倍的人,如果更多的人同意你,它将自动再次添加。