1. php中關於獲取表單數據$user_login 和 $_POST['user_login']那種更普遍(適用范圍更廣)
一般來說,
$_POST['user_login'] 當提交過來的表單的method=『post』時,可獲取到值
$_GET['user_login'] 當 表單method=『get』時,可獲取到值,
另外可以用一種方法獲取表單值,而無需理會 method 為post或get,
$_REQUEST['user_login'] ,
使用哪種往往根據實際的應用環境來決定。
2. php中如何實現實時更新數據呢jQuery
網頁一般是單向主動短鏈接,實時更新實在有些不便,即使一方掉線,另一方也不能及時感知。一般所謂的實時刷新,大多採用定時刷新(輪詢),或長輪詢的方式做,ajax用於更新數據確實是比較簡單方便的。
輪詢你就settimeout,長輪詢你就每次接收數據成功後,再來一次長輪詢。但你鏈接別人的數據,了解一下供應商的刷新機制、周期再做考慮。
當然這些都是偽實時,真的實時用http協議是不合適的,你得用flash插件做。而你用的是api供應商的東西,這條路就基本走不通了。
3. PHP如何實時獲取到MYSQL中的實時數據,不考慮刷新頁面
不刷新怎麼獲取啊,一般都是客戶端向服務端輪詢的吧,服務端往客戶端推的話用socket連接得
4. PHP如何接收動態數據保存並實時顯示到網頁上
頭部加上超時控制,但對於很多伺服器無效,因為伺服器輸出超時很多在伺服器控制,所以建議用cmd腳本方式運行此程序:
<?php
set_time_limit(0); //禁用腳本超時
//Createthesocketandconnect
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$connection=socket_connect($socket,'116。236。128。220',14580);
//Writesometestdatatooursocket
if(!socket_write($socket,"userNoCallpass-1verstest1.0filterb/B* "))
{
echo("<p>Writefailed</p>");
}
if(!file_exists('socket_log.html')){
file_put_contents('socket_log.html','<script>
varxx=setInterval(function(){ //每5秒刷新一次頁面
window.location.reload();
},5000);
</script>');
}
//Readanyresponsefromthesocket
while($buffer=socket_read($socket,64,PHP_NORMAL_READ))
{
echojson_encode($buffer);//轉換為json數據輸出
//記入文件
file_put_contents('socket_log.html',json_encode($buffer),FILE_APPEND);
}
echo("<p>DoneReadingfromSocket</p>");
使用方法:用命令行方式運行此腳本
phpscript.php
腳本會一直運行到接收數據結束,並持續將收到的數據寫入socket_log.html文件。
在瀏覽器打開socket_log.html頁面,此頁面會自動每5秒刷新一次,來顯示最新的數據。
確保程序有許可權創建及寫入socket_log.html文件
5. html頁面獲取php頁面的數據
第一種:把$user的值賦值給全局數組。
第二種:header("Location: index.html"); 在這個代碼傳參數到index.html頁面,index頁面改成index.php
6. PHP 獲取數據 file_get_contents() 懂得進來
GET參數是可以的,在地址後面添加文號就寫參數,可以從瀏覽器的地址欄復制,例如下面的代碼可以獲得本帖子內容:
$str=file_get_contents(http://..com/question/938759799120494892.html?entry=qb_ihome_tag);
如果是POST的參數那就很麻煩了。
7. PHP實現動態讀取進度,form提交與ajax提交同步,ajax實時獲取form提交後的數據處理進度。
發送2個ajax請求讀取2個不同的伺服器頁面就可以了
function submitForm(){
//第一個請求,將表單數據提交到某伺服器頁面
//第二個請求進度頁面,也就是讀取session,
}
callback是必須在等到伺服器頁面執行完成並輸出結果後才會調用的
雖然第一個處理表單的頁面可能還沒全部執行完成,但是sesesion應當是已經產生了的,
而第二個請求每間隔一段時間久請求進度頁面一次,讀取當前的session值