>백엔드 개발 >PHP 튜토리얼 >새로 고치지 않고 PHP HTML 제출 양식의 방법 및 예

새로 고치지 않고 PHP HTML 제출 양식의 방법 및 예

墨辰丷
墨辰丷원래의
2018-06-04 10:17:311740검색

이 글은 주로 php HTML non-refresh submit form을 소개합니다. 관심있는 친구들은 참고하시면 됩니다.

보통 우리는 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

<?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;
 }

두 번째 유형:
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 != &#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 페이지: 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;

요약: 위는 요약입니다. 이 글의 모든 내용이 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

php c#

PHP의 추상 클래스 및 추상 메소드의 개념 및 사용 예 분석

헤더의 사용 및 기본 기능 PHP

위 내용은 새로 고치지 않고 PHP HTML 제출 양식의 방법 및 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.