Heim >php教程 >php手册 >php HTML无刷新提交表单,phphtml提交表单

php HTML无刷新提交表单,phphtml提交表单

WBOY
WBOYOriginal
2016-06-13 08:42:571581Durchsuche

php HTML无刷新提交表单,phphtml提交表单

通常对于无刷新提交表单,我们都是运用ajax实现的。前段时间跟着老大了解到另一种无刷新提交表单的方法,是利用iframe框架实现的。现在整理出来分享给大家。
第一种:
html页面

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="utf-8">
  <title>无刷新提交表单</title>
  <style type="text/css">
    ul{ list-style-type:none;}
  </style>
</head>
<body>
  <iframe name="formsubmit" style="display:none;">
  </iframe>
  
  <!-- 将form表单提交的窗口指向隐藏的ifrmae,并通过ifrmae提交数据。 -->
  <form action="form.php" method="POST" name="formphp" target="formsubmit">
    <ul>
      <li>
        <label for="uname">用户名:</label>
        <input type="text" name="uname" id="uname" />
      </li>
      <li>
        <label for="pwd">密 码:</label>
        <input type="password" name="pwd" id="pwd" />
      </li>
      <li>
        <input type="submit" value="登录" />
      </li>
    </ul>
  </form>
</body>
</html>

PHP页面:form.php

<&#63;php
 //非空验证
 if(empty($_POST['uname']) || empty($_POST['pwd']))
 {
  echo '<script type="text/javascript">alert("用户名或密码为空!");</script>';
  exit;
 }
 
 //验证密码
 if($_POST['uname'] != 'jack' || $_POST['pwd'] != '123456')
 {
  echo '<script type="text/javascript">alert("用户名或密码不正确!");</script>';
  exit;
 } else {
  echo '<script type="text/javascript">alert("登录成功!");</script>';
  exit;
 }

第二种:
html页面

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="utf-8">
  <title>iframe提交表单</title>
</head>
<body>
  <iframe name="myiframe" style="display:none;" onload="iframeLoad(this);"></iframe>
  <form action="form.php" target="myiframe" method="POST">
   用户名:<input type="text" name="username" /><br/>
   密 码:<input type="password" name="userpwd" /><br/>
   
   <input type="submit" value="登录" />
  </form>
  
  <script type="text/javascript">
   function iframeLoad(iframe){
    var doc = iframe.contentWindow.document;
    var html = doc.body.innerHTML;
    if(html != ''){
     //将获取到的json数据转为json对象
     var obj = eval("("+html+")");
     //判断返回的状态
     if(obj.status < 1){
      alert(obj.msg);
     }else{
      alert(obj.msg);
      window.location.href="http://www.baidu.com";
     }
    }
   }
  </script>
</body>
</html>


PHP页面:form.php

<&#63;php
 //设置时区
 date_default_timezone_set('PRC');
 /*
  返回的提交消息
  status:状态
  msg:提示信息
 */
 $msg = array('status'=>0,'msg'=>'');
 
 //获取提交过来的数据
 $name = $_POST['username'];
 $pwd = $_POST['userpwd'];
 
 //模拟登录验证
 $user = array();
 $user['name'] = 'jack';
 $user['pwd'] = 'jack2014';
 
 if($name != $user['name']){
  $msg['msg'] = '该用户未注册!';
  $str = json_encode($msg);
  echo $str;
  exit;
 }else if($pwd != $user['pwd']){
  $msg['msg'] = '输入的密码错误!';
  $str = json_encode($msg);
  echo $str;
  exit;
 }
 
 $msg['msg'] = '登录成功!';
 $msg['status'] = 1;
 $str = json_encode($msg);
 echo $str;

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

您可能感兴趣的文章:

  • php 多个submit提交表单 处理方法
  • php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
  • PHP中限制IP段访问、禁止IP提交表单的代码
  • PHP防止跨域提交表单
  • PHP提交表单失败后如何保留已经填写的信息
  • php防止站外远程提交表单的方法
  • ThinkPHP提交表单时默认自动转义的解决方法
  • php+html5使用FormData对象提交表单及上传图片的方法
  • php提交表单发送邮件的方法
  • php防止用户重复提交表单
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn