先後端交互總結2:使用PHP進行表單數據上傳與更新

1:使用PHP進行表單上傳

1.1 form表單的數據收集php

HTML頁面:mysql

代碼解釋:核心模塊是form的屬性:sql

-- 提交方式 : method="post"
-- 指定 name 屬性: 例如 name="username"
-- 給 form 指定文件上傳格式: enctype="multipart/form-data"
2點擊提交按鈕後,後臺進行的操做

2.1 經過$_FILES 超全局變量,獲取圖像數據:數據庫

二維數組,能夠獲取表單上傳的提交數據內容.數組

Array
  (
      [photo] => Array
          (
              [name] => picture.jpg   提交的文件名
              [type] => image/jpeg     文件類型
              [tmp_name] => C:\Users\Jepson\AppData\Local\Temp\phpBF97.tmp  臨時存儲的路徑
              [error] => 0    錯誤碼, 若是是 0 表示沒有錯誤
              [size] => 17552  文件大小, 單位 字節 17kb 左右
          )
  )複製代碼

2.2 PHP的圖像轉存: // 1 獲取文件數組bash

$file = $_FILES['photo'];

  if ( $file['error'] === 0 ) { // 2 須要轉存文件

    $ftmp = $file['tmp_name']; // 3 獲取臨時文件路徑

    // 4 截取後綴名
    $name = $file['name']; 
    $ext = strrchr( $name, "." ); 

    // 5 隨機生成文件名
    $newName = time().rand(10000, 99999).$ext;


    // 6 轉存文件
    move_uploaded_file( $ftmp, "./upload/".$newName );
   
  }複製代碼

2.3 經過$_POST超全局變量獲取post數據,保存在全局變量裏.post

$username = $_POST['username'];
  $nickname = $_POST['nickname'];
  $age = $_POST['age'];
  $tel = $_POST['tel'];
  $sex = $_POST['sex'];
  $class = $_POST['class'];
  $photo = ""; // 圖片地址複製代碼

2.4 準備SQL語句,進行數據庫寫入操做:插入數據ui

$sql = "insert into stu (name, nickname, age, tel, sex, photo, classid) values ('$username', '$nickname', $age, '$tel', '$sex', '$photo', $class)";複製代碼

2.5 判斷是否插入成功,並進行跳轉操做spa

//封裝執行數據庫的方法
function my_exec( $sql ) {
    // 1. 鏈接數據庫
    $link = @ mysqli_connect( '127.0.0.1', 'root', 'root', 'stumanage', '3306' );

    if ( !$link ) {
      echo "數據庫鏈接失敗";
      return false;

//2 . 執行 sql, 執行的是 查詢, 成功:結果集, 失敗:false
    $res = mysqli_query( $link, $sql );

    if ( !$res ) {  // 失敗了
      echo mysqli_error( $link ); // 打印錯誤信息

      mysqli_close( $link );
      return false;
    }
    }

//執行數據庫語句
if ( my_exec( $sql ) ) {
    echo "添加成功";
    // 跳轉到 學生列表php文件
    header('location:studentList.php');
  }
  else {
    echo "添加失敗";
  }

複製代碼

2.6 更新數據庫3d

//得到數據的惟一標識
$id = $_GET['id'];

//準備查詢語句
$sql = "select * from stu where id = $id";   // 準備 sql 語句

//執行查詢語句
$res = mysqli_query( $link, $sql );複製代碼

PHP方法註解:

1 mysqli_connect( '127.0.0.1', 'root', 'root', 'stumanage', '3306' ); PHP連接指定數據庫的方法.

2 mysqli_close( $link ); 數據庫使用完畢後,關閉數據庫連接的方法,不能省略.

3 mysqli_query( $link, $sql ); 執行 sql, 執行的是查詢, 成功輸出結果集, 失敗返回false.

4 mysqli_error( $link ); php打印錯誤信息的方法

5 header("location: studentList.php"); php跳轉到指php文件的方法.

相關文章
相關標籤/搜索