大前端涉獵以前後端交互總結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 獲取文件數組post

 $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數據,保存在全局變量裏.spa

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

 

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

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

 

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

//封裝執行數據庫的方法
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  更新數據庫blog

//得到數據的惟一標識
$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文件的方法.

相關文章
相關標籤/搜索