一个简单的PHP服务端与客户端
2018-03-25 本文已影响76人
破旧的大卡车
下面的代码实现了:
- 客户端获取服务端数据(array)
- 客户端提交数据到服务端(post)
- 提交后重定向到客户端并更新数据(利用session)
server.php
<?php
//server
session_start();
//get post data
$target='测试';
if($_SERVER['REQUEST_METHOD']==='POST'){
$target=$_POST['target'];
}
//redirect
$url='server';
if(isset($_SERVER["HTTP_REFERER"])){
header("Location: {$_SERVER["HTTP_REFERER"]}");
$url='client';
}
$_SESSION['data']=
serialize(
array_map(
'utf8_encode',
array(
'lang'=>'PHP',
'target'=> $target,
'url'=>$url
)
)
);
echo $_SESSION['data'];
?>
client.php
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<body>
<div id='get_data'>
<p>Get Data from server:<br />
<?php
//client
session_start();
$server = 'http://localhost:8080/server.php';
if(isset($_SESSION['data'])){
$result=$_SESSION['data'];
session_destroy();
}else{
$result = file_get_contents($server);
}
if( !is_null($result) ){
foreach( unserialize($result) as $key=>$r)
{
echo $key . ':' . utf8_decode($r).'<br />';
}
}
?>
</p>
</div>
<div id='post_data'>
<form action='server.php' name='postform' method='post'>
<input name='target' value='POST' />
<input type='submit' />
</form>
</div>
</body>
</html>
自己修改下服务器地址。