溫馨提示×

溫馨提示×

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

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

PHP如何實現(xiàn)表單與驗證

發(fā)布時間:2021-08-31 14:18:42 來源:億速云 閱讀:162 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)PHP如何實現(xiàn)表單與驗證的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體如下:

Demo1.php

<?php
  ob_start();
  //重新導(dǎo)向一個 URL
  //header()
  //header('Location:Demo2.php');
  //上面這句話可以自動跳轉(zhuǎn)到你所想要的頁面。
  //header('Location:http://www.baidu.com');
  //上面這句話自動跳轉(zhuǎn)到百度上面去。
  echo 'baidu.com';
  header('Location:http://www.baidu.com');
  //在執(zhí)行 header() 函數(shù),必須注意,之前不能有任何瀏覽器輸出
?>

Demo2.php

<?php
  ob_start();
  echo '1232';
  //字符編碼
  header('Content-Type:text/html;charset=GBK'); //設(shè)置頁面編碼
  echo '我是中文';
?>

Demo3.php

<form method="post" action="Demo4.php">
  姓名:<input type="text" name="username" /><br />
  <input type="submit" value="提交" />
</form>

Demo4.php

<?php
  //第一步,接收前面表單中的值。
  //一個,username
  //接收 $_POST['username']
  //echo $_POST['username'];
  //你需要明白一個道理,空字符串也是數(shù)據(jù),也可以賦值給 $_POST['username'];
  //使用 isset() 驗證是否正常提交是很準確的
  //目前所說的非法提交,是你沒有經(jīng)過表單提交,沒有生成全局變量,而不是 username
  //這個字段為空
// if(isset($_POST['username'])){
//   echo '正常提交';
// }else{
//   echo '非法提交';
// }
  //!empty($_POST['username']) 和 == ''基本一樣,但是,并不能說,人家是非法的
  //只能說人家沒有填而已。
// if(!empty($_POST['username'])){
//   echo '正常提交';
// }else{
//   echo '非法提交';
// }
  //建議使用
  if(isset($_POST['username'])){
    echo '正常提交';
    //在輸出之前,為了頁面安全性
    //echo $_POST['username'];
    $username = $_POST['username'];
    $username = trim($username);
    $username = htmlspecialchars($username);
    if(strlen($username) < 2) {
      echo '用戶名不能小于兩位';
      exit();
    }
    if(!is_numeric($username)) {
      echo '用戶名必須是純數(shù)字';
      exit();
    }
    echo $username; //<strong>閱誰問君誦</strong>
  }else{
    echo '非法提交';
  }
?>

Demo5.php

<form method="post" action="Demo6.php">
  用戶名:<input type="text" name="username" /><br />
  密&nbsp;&nbsp;碼:<input type="text" name="password" /><br />
  驗證碼:<input type="text" name="code" size="5" />1234<br />
  郵&nbsp;&nbsp;箱:<input type="text" name="email" /><br />
  介&nbsp;&nbsp;紹:<textarea rows="6" cols="25" name="content"></textarea><br />
  <input type="submit" value="提交" name="send" />
</form>

Demo6.php

<?php
  //第一步,先驗證是否是 Demo5.php 提交過來
  //只要是按鈕點到我這里來的,那么就說明,其他超級變局變量都應(yīng)該存在
  //如果 send 是存在的,那么就說是點過來,否則,跳回
  if(!isset($_POST['send']) || $_POST['send'] != '提交'){
    header('Location:Demo5.php');
    exit; //跳回去了,下面就不需要執(zhí)行了,那么就 exit;
  }
  //第二步,接收所有數(shù)據(jù)
  $username = trim($_POST['username']);
  $password = $_POST['password'];
  $code = trim($_POST['code']);
  $email = trim($_POST['email']);
  $content = htmlspecialchars(trim($_POST['content']));
  //用戶名不能小于 2 位,不能大于 10 位
  if(strlen($username)<2||strlen($username)>10){
    echo "<script>alert('用戶名不能小于兩位或者大于10');history.back();</script>";
    exit;
  }
  //密碼不能小于六位
  if(strlen($password) <6){
    echo "<script>alert('密碼不能小于6位');history.back();</script>";
    exit;
  }
  //驗證碼必須是 4 位,必須是數(shù)字
  if(strlen($code)!=4 || !is_numeric($code)){
    echo "<script>alert('驗證碼必須是 4 位并且是純數(shù)字');history.back();</script>";
    exit;
  }
  //驗證電子郵件
  if(!preg_match('/^([\w\.]{2,255})@([\w\-]{1,255}).([a-z]{2,4})$/',$email)){
    echo "<script>alert('電子郵箱不合法');history.back();</script>";
    exit;
  }
  echo '用戶名:'.$username.'<br/>';
  echo '電子郵件:'.$email.'<br/>';
  echo '個人介紹:'.$content;
?>

感謝各位的閱讀!關(guān)于“PHP如何實現(xiàn)表單與驗證”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

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

php
AI