從一個PHP檔傳送變數到另一個PHP檔的方法有3種
1. GET, 利用超連結 從A網址超連結到B網址時 A會順便傳送變數到B
2. POST, 利用表單 在A網址的表單按送出 傳送到B網址
3. SESSION, 設定一個全域變數, session在任一個php檔案皆可存取
///////////////////////////////////////////////GET////////////////////////////////////////////////////////
//a.php
$a = "1";
echo "<a href=\"b.php?id=".$a."\">點我超連結到b.php</a>"; //印出超連結
/*
b.php為要超連結的網址
在網址後面加上?id=$a 為傳送get變數
id是get變數名稱(可以自己亂取)
$a就是id這個get變數的值
*/
//b.php
$b = $_GET["id"]; //存取get變數(名稱為id), 並將其值存入$b
/*
這時$b的值就是1
也就等於a.php 裡面的$a
*/
////////////////////////////////////////////POST/////////////////////////////////////////////////////////
//a.html
<form id="form1" name="form1" method="post" action="b.php">
<input type="text" name="id" id="id" />
<input type="submit" name="button" id="button" value="送出" />
</form>
/*
在a.html裡面有一個表單 按送出後 會將表單裡的欄位傳送到b.php
這表單有2個欄位, 一個是文字欄位(id), 一個是送出按鈕欄位(button)
*/
//b.php
$a = $_POST["id"]; //將id文字欄位使用者輸入的值 存入$a
$b = $_POST["button"]; //將button欄位的值存入$b, 所以$b="送出"
////////////////////////////////////////////SESSION//////////////////////////////////////////////////
//a.php
<?php session_start(); //開啟session的語法 要放在檔案最上方?>
<?
$a = "freshman";
$_SESSION["id"] = $a; //設定id這個session變數的值為$a
?>
//任一php (此檔須在執行過a.php後執行 才會抓到a.php所設定的$_SESION["id"])
<?php session_start(); //開啟session的語法 要放在檔案最上方?>
<?
$b = $_SESSION["id"]; //將$_SESION["id"]存入$b
unset($_SESSION["id"]); //清空$_SESSION["id"]
$c = $_SESSION["id"]; //將$_SESION["id"]存入$c
/*
$b的值為"freshman",也就是a.php中$a的值
$c的值為null, 因為在存取前$_SESSION["id"]已被清空
*/
?>
沒有留言:
張貼留言