首先你要搞清楚,什么是全局變量?什么是局部變量?
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的江永網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
局部變量:
局部變量只是僅僅在函數(shù)和類中有效的變量(除非是全局化后的變量,類沒有全局化)
全局變量:
在整個(gè)文檔中(這一個(gè)PHP文件中)的普通變量,就是全局變量。但是全局變量和局部變量是分開的。也就是全局變量無法影響到函數(shù)和類中(除非global,全局化。類沒有全局概念。)
全局變量和局部變量的共同是程序執(zhí)行完成后自動(dòng)銷毀。
所以不存在。
----------
還有第三種變量,叫做“超全局變量”
意思在多個(gè)文檔(php文件)中互相傳遞的
比如:$_POST $_GET $_COOKIES $_SESSION
都是超全局變量
他們在特定情況下刷新不會(huì)消失(比如COOKIES ,生成以后,只要不超過有效時(shí)間或者你清理了COOKIE以外,變量不會(huì)消失。)
Button?onclick="submit(this.getAttribute('id'))"?id="1"提交/Button
table
tr
tdButton?class="btn"?id="1"提交/Button/td
/tr
tr
tdButton?class="btn"?id="2"提交/Button/td
/tr
tr
tdButton?class="btn"?id="3"提交/Button/td
/tr
tr
tdButton?class="btn"?id="4"提交/Button/td
/tr
/table
script
$(function(){
$(".btn").click(function(){
var?id?=?$(this).attr("id");
var?self?=?this;
$.ajax({
type:'post',
dataType:'json'
url:'submit.php',
data:{id:id},
success:function(){
$(self).parent().parent().remove();//刪除該按鈕
}
})
})
})
/script
舉例如下:
創(chuàng)建userinfo_update.php頁面用于查詢用戶信息,先顯示信息,在修改:
先通過GET獲取用戶編號(hào)查詢用戶信息:
$sql = "select * from user_info where user_id='".$_GET['userId']."'";
$result = mysql_query($sql,$con);
if($row = mysql_fetch_array($result)){
}
頁面效果:
創(chuàng)建update.php文件,用于修改用戶信息:
使用到了mysql_affected_rows() 函數(shù)返回前一次 MySQL 操作所影響的記錄行數(shù)。
//通過post獲取頁面提交數(shù)據(jù)信息
$userId = $_POST[userId];
$userName = $_POST[userName];
$userAge = $_POST[userAge];
$sql = "update user_info set user_name='".$userName."',user_age=".$userAge." where user_id='".$userId."'";
mysql_query($sql,$conn);//執(zhí)行SQL
$mark? = mysql_affected_rows();//返回影響行數(shù)
$url = "userinf_select.php";
運(yùn)行結(jié)果
創(chuàng)建delete.php文件,完成刪除用戶信息功能:
$userId = $_GET['userId'];
include 'connection.php';
$sql = "delete from user_info where user_id='".$userId."'";
mysql_query($sql,$con);
$mark? = mysql_affected_rows();//返回影響行數(shù)
if($mark0){
echo "刪除成功";
}else{
echo? "刪除失敗";
}
mysql_close($con);
運(yùn)行結(jié)果:
1 .如果想讓某些數(shù)據(jù)頁面刷新之后不消失,那就可以結(jié)合本地存儲(chǔ)做到數(shù)據(jù)持久化
2 .比如之前的搜索記錄,還有一些需要依賴的數(shù)據(jù)。比如本次活動(dòng)的代號(hào)存下來,讓我在一段時(shí)間內(nèi),根據(jù)這個(gè)編號(hào)來確定相關(guān)代號(hào)代表的一批數(shù)據(jù)可以緩存在本地,一遍在下一次請求的時(shí)候快速返回
3 .實(shí)現(xiàn)原理:在mutations定義的方法里對vuex的狀態(tài)操作的同時(shí)對存儲(chǔ)也做相應(yīng)的操作
4 .插件vue-savedata,vuex-persistedstate
5 .實(shí)際實(shí)現(xiàn):監(jiān)聽瀏覽器的刷新,刷新之前把vuex存在本地,在路由攔截處獲取本地儲(chǔ)存,放進(jìn)vuex并刪除本地存儲(chǔ),可以自由控制存localstorage和sessionStorage,完全避免插件來消耗性能。
6 .不同頁面之間的數(shù)據(jù)傳值,vuex適合組件間傳值。
7 .有的問題研究一分鐘和一個(gè)小時(shí),是會(huì)發(fā)現(xiàn)不同的問題。
1 .vuex存儲(chǔ)在內(nèi)存。localstorage則以文件的方式存儲(chǔ)在本地
2 .應(yīng)用場景:vuex用于組件之間的傳值,localstorage則用于不同頁面之間的傳值
3 .永久性:當(dāng)刷新頁面時(shí)vuex存儲(chǔ)的值會(huì)丟失。localStorage不會(huì)刪除
4 .localstorage:只能進(jìn)行簡單的數(shù)據(jù)讀寫,對不同組件之間讀取數(shù)據(jù)并做數(shù)據(jù)轉(zhuǎn)化時(shí),需要對每個(gè)讀寫操作都寫一遍代碼,重點(diǎn)是存放
5 .vuex是狀態(tài)管理,重點(diǎn)是管理數(shù)據(jù),一個(gè)是數(shù)據(jù)容器,一個(gè)是數(shù)據(jù)管理器。
下列選項(xiàng)(默認(rèn)保存store中的每個(gè)數(shù)據(jù)到本地 )
可以為您的特定需求配置插件: (參數(shù)都是可選的:有默認(rèn)值)
1.store/index.js
這是由于數(shù)據(jù)庫連接數(shù)過多導(dǎo)致的,說明之前建立的連接你沒有釋放。
看到你的需求是實(shí)時(shí)獲取數(shù)據(jù)庫里面的內(nèi)容,可以考慮使用內(nèi)存數(shù)據(jù)庫,這樣返回的效率高,也會(huì)避免過多連接的錯(cuò)誤。
可以使用redis和memcache來解決這個(gè)問題。代碼如下,記得首先要安裝redis,并且要安裝php-redis擴(kuò)展。
?php
$redis = new Redis();
$redis-connect('127.0.0.1', 6379);//serverip port
$redis-auth('mypassword');//my redis password
$redis -set( "test" , "Hello World");
echo $redis -get( "test");
檢查一下
1、用戶提交表單后,刷新頁面會(huì)二次提交表單,使數(shù)據(jù)庫記錄被修改
2、刷新頁面本身就有數(shù)據(jù)庫操作,使數(shù)據(jù)庫記錄被修改
文章名稱:php刷新頁面數(shù)據(jù)會(huì)丟失,php返回上一頁并刷新
分享鏈接:http://muchs.cn/article38/hcgisp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄、虛擬主機(jī)、搜索引擎優(yōu)化、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)