1:表單提交,在表單中輸入留言,然后提交表單到后臺(tái)PHP;
創(chuàng)新互聯(lián)公司專注于愛輝網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供愛輝營銷型網(wǎng)站建設(shè),愛輝網(wǎng)站制作、愛輝網(wǎng)頁設(shè)計(jì)、愛輝網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造愛輝網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供愛輝網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
2:PHP接收表單數(shù)據(jù),然后處理數(shù)據(jù):一般做存表操作;
3:在另外一個(gè)頁面顯示:訪問另外一個(gè)頁面,PHP讀取表中存儲(chǔ)的數(shù)據(jù),顯示給用戶
一、用form表單中的hidden隱藏域。這種方法就是把待傳遞的變量用表單的方式再次傳送,比如在用戶登陸后,把他的信息如$username、$id等等信息用表單發(fā)送到下一張網(wǎng)頁,當(dāng)然,很多情況,是諸如text、option等等框體不想再被看到的話,可以采用隱藏的輸入域。下面是一個(gè)實(shí)例,假設(shè)$username是經(jīng)過上頁為驗(yàn)證身份發(fā)送到本頁并且在本頁經(jīng)過驗(yàn)證的變量,想傳遞到下一頁中去,那么可以建立文件test4.PHP:
?$username="張明";?
form method="post" action="test5.php"
input type="hidden" name="username" value="?echo $username?"
input type="submit" name="submit" value="看看"
/form
test5.php:
?echo "你好,$username,歡迎光臨php自學(xué)網(wǎng)!";?
打開apache服務(wù)器,輸入在頁面的按鈕上點(diǎn)擊,會(huì)發(fā)現(xiàn)新出的網(wǎng)頁上$username的值已經(jīng)傳送過來了。
當(dāng)然這種方法的弱點(diǎn)是很明顯的,它還要再使用一個(gè)表單,而且在test5.php的網(wǎng)頁上想要刷新的話還要重新發(fā)送,這顯然是不太友好的。
二、使用session。后來,我查找了一些關(guān)于session的文章,覺得這時(shí)傳遞變量的一種非常好的方法。下面通過舉例子來說明:
建立一個(gè)新文件test6.php:
?session_start(); //初始化一個(gè)session
session_register("username"); //注冊一個(gè)session變量
$username="張明"; //要傳遞的變量值
echo "a href=test7.php去看看/a";
?
test7.php:
?session_start(); //初始化一個(gè)session
echo "你好,$username,歡迎光臨php自學(xué)網(wǎng)!";? //顯示傳遞過來的變量
使用這種方法的時(shí)候要注意:?session_start();?應(yīng)該放在文件的最前面,即"?"前面不應(yīng)有任何內(nèi)容,包括空格,這是我調(diào)試多次未成功找出的原因。
這個(gè)變量只能在當(dāng)前打開的瀏覽器中傳遞,若要在新打開的窗口中也能傳遞,剛要按下面的方法來做:
文件:test8.php
?session_start();
session_register("username");
$username="張明";
echo "a href=test7.php?$a=".session_id()." target=_blank去看看/a"; //將當(dāng)前的session的id值傳給下一個(gè)窗口。
?
test7.php
?session_start();
echo "你好,$username,歡迎你的光臨!";?
三,通過cookie
建立文件test9.php
?SetCookie("username","張明");//把username設(shè)置到cookie中去
echo "a href=test5.php target=_blank去看看/a";?
文件test5.php
建立test5.php:
?echo "你好,$username,歡迎你的光臨php自學(xué)網(wǎng)!";?
總結(jié):以上只是一些常用的方法,還有很多的方法,如可以使用數(shù)據(jù)庫,memcache等等.在此不做過多介紹.
可以用session和表單兩種方式都是先將數(shù)組序列化,然后取出后返序列化
1.session方式
?php
session_start();
$arr = array(1,2,3,4,5,6);
$arrse = serialize($arr);
$_SESSION['sessarr'] = $arrse;//序列化,對象或者數(shù)組都可以這樣存放到session中
//如果你想使用session數(shù)據(jù)返回?cái)?shù)組的話
$arr = unserialize($_SESSION['sessarr']);//反序列化
echo $_SESSION['sessarr'];
echo "br";
print_r($arr);
?
2.表單方式
form method="POST" action="1.php"
input type="hidden" name="post_data" value="?=base64_encode(serialize($arr))?" /
/form
1.php
?
print_r(base64_encode(unserialize($_POST['post_data'])));
?
辦法很多:
第一種:GET(就是URL,也就是鏈接上帶有參數(shù)),例子:
1.php(第一個(gè)頁面)
a href="2.php?arr=abc"傳遞get數(shù)組名為arr,值是abc,傳遞到2.php頁面
/a
看到?arr=abc了吧,這就是參數(shù)了,如果有兩個(gè)呢:a href="abc.php?abc=abc123=123"傳遞get數(shù)組名為abc,值是abc
/a
用這個(gè)隔開,當(dāng)然啦,在網(wǎng)頁上看就是
2.php(第二個(gè)頁面)
?php
echo $_GET['abc'];
//輸出傳遞過來的值
-------------------------------------------------------------------------
第二個(gè)辦法是:POST,表單提交,依舊是給例子:
form name="form1" method="post" action="2.php"
method的意思是以post方式提交到2.php,action的意思是動(dòng)作,method是類型
隨便輸一個(gè):
label
input type="text" name="val" /
input是html的標(biāo)簽,類型是文本域(輸入文字),名字是val(后臺(tái)用于接收的名稱)
/label
p
label
input type="submit" name="Submit" value="提交" /
/label
/p
/form
2.php(第二個(gè)頁面)
?php
echo $_POST['val'];
//輸出上一個(gè)頁面提交過來的val文本域的值。
?
-------------------------------------------------------------------------------------------
第三個(gè)辦法是:SESSION,會(huì)話。還是給例子(注意,SESSION是全局變量,也就是說,它只要被聲明,在所有頁面都是可用的,前提是你不關(guān)閉網(wǎng)頁或者沒有到SESSION的生命周期。而POST和GET只要php執(zhí)行完畢就會(huì)立刻被釋放,也就沒有了。):
1.php
?php
session_start();
//會(huì)話開始,這樣你才可以調(diào)用session
$_SESSION['val']='123';
//直接聲明全局變量val的值等于123
echo $_SESSION['val'];
?
a href="2.php"跳轉(zhuǎn)到第二個(gè)頁面去看看。
/a
2.php
?php
session_start();
echo $_SESSION['val'];
//直接輸出全局變量val.
?
--------------------------------------------------------------------------------
最后一個(gè)辦法,cookie。餅干,哈哈不過呢,這個(gè)辦法不好用,因?yàn)閏ookie是存放在客戶端上(也是全局變量),session是存放在服務(wù)器上。這是兩者唯一的不同
然后捏,我也沒用過cookies,所以呢。我只能百度一個(gè)給你咯,調(diào)用辦法一樣的$_COOKIE['名稱']
?php
setcookie("user", "Alex Porter", time()+3600);
//創(chuàng)建一個(gè)名為user的cookie變量,它的值是Alex Porter。它將在一個(gè)小時(shí)以后過期,也就是不能訪問了
echo $_COOKIE['user'];
//你還要刷新一下頁面才可以生效= =。。
?
?
你大概要先搞清楚 頁面(前端) 和 PHP(后端) 的關(guān)系;
第一個(gè)頁面 由 A.php完成, 提交后 輸入的內(nèi)容 交給B.php 由B.php 生成第二個(gè)頁面。
這個(gè)時(shí)候 A.php已經(jīng)不起作用了。 A.PHP 提交的內(nèi)容在服務(wù)器端的 全局變量$_POST['name']里面(name 就是A.PHP中TEXTAREA 標(biāo)簽的name 屬性值)。
注意 : 第一個(gè)頁面不存在了,要想顯示第一個(gè)頁面的內(nèi)容,就在B.php.中把第一個(gè)頁面復(fù)制一遍。把重新建立一個(gè)textarea 標(biāo)簽 默認(rèn)值是你要顯示的值,
這個(gè)可以通過PHP的curl請求來提交數(shù)據(jù)到其他的網(wǎng)站!獲取執(zhí)行的結(jié)果即可!以下是一個(gè)示例。
function curlpost($data,$url){ //curlpost提交函數(shù)
$data=array('data'=$data);
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, $url );
curl_setopt ($ch, CURLOPT_POST, true );
curl_setopt ($ch, CURLOPT_HEADER, 0 );
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data );
$state=curl_exec ($ch );
curl_close ($ch );
return $state;
}