Php 如何在Codeigniter中弹出验证表单的消息?
如果表单的某个字段为空,我想显示一条消息(类似jquery)。弹出窗口什么的。在我的控制器中,我有一段代码: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) //
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当你获得更多选票时,你就可以投票给接近双倍的人,如果更多的人同意你,它将自动再次添加。