Home  >  Article  >  Backend Development  >  Methods and examples of php HTML submission form without refreshing

Methods and examples of php HTML submission form without refreshing

墨辰丷
墨辰丷Original
2018-06-04 10:17:311686browse

This article mainly introduces the php HTML non-refresh submission form. This article introduces two methods of non-refresh submission form. Interested friends can refer to it

Usually for non-refresh submission forms, We all implement it using ajax. Some time ago, I learned from my boss that another method of submitting a form without refreshing is implemented using the iframe framework. Now I’ve sorted it out and shared it with everyone.
First type:
html page

<!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 page: form.php

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

Second type:
html page

<!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 != &#39;&#39;){
     //将获取到的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 page: form.php

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

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

php Implement DES encryption and decryption examples consistent with c

#Abstract class in PHP And analysis of abstract method concepts and usage examples

Header usage and basic functions in PHP

The above is the detailed content of Methods and examples of php HTML submission form without refreshing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn