如何从php脚本返回检查值到调用页面
How to return check value from a php script to the calling page?
嗨:我对整个网络场景都很陌生。我试图做一个页面,用户必须输入一些信息,然后我要做的是检查它的格式,如果它是正确的添加到数据库。如果不是,则必须显示错误消息。
到目前为止,我的代码基本上是这样的(在文件newtask.php中):<form action="addtask.php" method="post" name="newtaskform">
<!-- The form itself, a bunch of fields -->
<input type="submit" value="Agregar nueva tarea">
</form>
当我点击提交时,它调用addtask.php脚本修改数据库。这已经起作用了。我想添加代码来检查表单中提交的数据格式。但是,我希望错误信息出现在newtask.php(用户输入网页)。我的问题是,如果我用javascript函数检查数据,我必须使用ajax调用addtask.php(我想尽量避免,如果可能的话),如果我在addtask.php脚本中检查,我不知道如何将错误信息传达回newtask.php网页。
有什么帮助或建议吗?在addtask.php文件中创建一个addRecord()函数,用于向数据库添加记录。将该文件包含在newtask.php文件中。在newtask.php上发布表单,而不是在表单提交上发布addtask.php,对字段进行验证,如果验证通过,调用函数addRecord()与post数据,否则如果验证失败,则显示表单上方的验证错误。
验证可以使用自定义代码完成,也可以使用phpclasses.org中的一些类
希望有所帮助
你可以做两层检查。你可以使用javascript首先验证表单,如果它通过,然后你可以使用$('#'+formid).submit()提交表单像往常一样(注意,给你一个ID属性)。然后,您也可以检查后端,如果出现问题,您可以将错误发送回页面。
现在,将错误发送回页面的问题是如何在输入仍然存在的情况下返回到前一个页面,因为典型的表单提交实际上会将请求发送到处理页面。我学到的一个技巧是,你可以将表单提交给iframe,它会将页面提交给后端,而无需重新加载前端页面
<FORM name='iform' id='iform' method='POST' action='addtask.php' TARGET='submitiframe' accept-charset='UTF-8'>
并将此代码放在页面的底部
<IFRAME STYLE='border:0px;display:none;' id='submitiframe'></iframe>
在后端,您可以像往常一样处理,但不是将状态回显给浏览器,您可以这样做。在本例中,如果处理成功,则返回"状态"为"1"
echo "<!DOCTYPE HTML>
<HTML>
<HEAD>
<script type='text/javascript' src='/js/jquery-1.10.2.min.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
$(window).load(function() {
var r = $('#response').html();
parent.getresult(r);
});
});
</script>
</HEAD>
<BODY>
<DIV ID='response'>".json_encode(Array("status"=>$status))."</DIV>
</BODY>
</HTML>";
exit();
在前端页面上,您将有相应的javascript代码来捕获此请求并处理成功或失败
function getresult(text) {
try {
var rc = $.parseJSON(text);
if(parseInt(rc.status) == 1)
location.reload();
else
alert (rc.msg);
}
catch(e) {
alert('Something went wrong!')
}
}
最简单的KISS解决方案是将负责添加任务(和验证表单)的代码保留在与表单相同的文件中。如果无法添加任务,这也将使您可以轻松地将所有表单元素填充为提交的数据。
您可以通过命名提交按钮(添加name属性)来检查表单是否已提交,然后检查它是否在$_POST数组中设置。
创建一个PHP文件。这是您的示范。
<?php
if(isset($_POST['submit'])) {
//IF FORM IS SUBMITTED
if($_POST['name'] == '') {
//NAME IS BLANK
$flag = 0;
}
else {
// SQL QUERY TO INSERT DATA
$flag = 1;
}
}
?>
<?php
if(isset($flag)) {
if($flag == 1) {
echo "Data inserted successfully";
}
else {
echo "Name is blank";
}
}
?>
<form action="" method="post" name="newtaskform">
<!-- The form itself, a bunch of fields -->
<input type="" name="name">
<input type="submit" value="submit" name="submit">
</form>
- 如何远程检查JavaScript应用程序的函数调用堆栈
- 文件上传:检查文件格式,然后调用srvlet
- 如何检查$httpBackend中是否未进行GET调用
- 使用$cookies和$stateChangeStart检查sessionID是否超过了最大调用堆栈
- 如果我返回表,检查 Ajax 调用是否为 200 OK的最佳方法是什么
- 检查对话框是否为 Open 会引发“初始化前无法在对话框上调用方法”错误
- 如何检查该函数是否从外部js文件调用
- 检查Google Analytics是否已加载并调用ga('create',..)
- 每次调用函数后都要检查条件
- 通过同步调用检查用户是否存在
- 从网站调用phpmyadmin中的存储过程来检查登录详细信息
- Ember添加了对转换调用上下文(路由/控制器)的检查
- 如何在jquery中检查调用函数
- 如何返回一页并检查调用该操作的页面
- jquery复选框树是否支持“;展开直到节点“;或“;扩展父母”;当程序地调用“;检查”;
- 检查qunit中是否有两个异步调用
- 如何通过AJAX调用检查网络连接
- jQuery通过函数调用检查输入是否有值
- 流星.调用检查数组参数
- Ajax调用检查复选框