溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php如何實(shí)現(xiàn)HTML無刷新提交表單

發(fā)布時間:2021-08-31 11:44:07 來源:億速云 閱讀:158 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹php如何實(shí)現(xiàn)HTML無刷新提交表單,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

通常對于無刷新提交表單,我們都是運(yùn)用ajax實(shí)現(xiàn)的。前段時間跟著老大了解到另一種無刷新提交表單的方法,是利用iframe框架實(shí)現(xiàn)的。現(xiàn)在整理出來分享給大家。
第一種:
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" >
  </iframe>
  
  <!-- 將form表單提交的窗口指向隱藏的ifrmae,并通過ifrmae提交數(shù)據(jù)。 -->
  <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
 //非空驗(yàn)證
 if(empty($_POST['uname']) || empty($_POST['pwd']))
 {
  echo '<script type="text/javascript">alert("用戶名或密碼為空!");</script>';
  exit;
 }
 
 //驗(yàn)證密碼
 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"  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數(shù)據(jù)轉(zhuǎn)為json對象
     var obj = eval("("+html+")");
     //判斷返回的狀態(tài)
     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
 //設(shè)置時區(qū)
 date_default_timezone_set('PRC');
 /*
  返回的提交消息
  status:狀態(tài)
  msg:提示信息
 */
 $msg = array('status'=>0,'msg'=>'');
 
 //獲取提交過來的數(shù)據(jù)
 $name = $_POST['username'];
 $pwd = $_POST['userpwd'];
 
 //模擬登錄驗(yàn)證
 $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如何實(shí)現(xiàn)HTML無刷新提交表單”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI