聊天实施卷曲

时间:2012-07-06 19:21:46

标签: php javascript html ajax curl

我只是想设计一个聊天应用程序,它允许两个域的用户之间进行跨域聊天,即允许创建聊天室和聊天。所以,我被建议使用curl和ajax。但我不知道我怎么能做到这一点,也不太了解卷曲。我知道它用于使用HTTP,各种协议在域之间传输文件/数据。但我有疑问,如何通过登录检查在域之间传输消息。 当我用Google搜索时,我发现了以下代码段,但无法理解。 CURL_SSL_VERIFYPEER是否对域进行验证并仅重定向授权域? 请解释一下我的意思 curl_setopt($ ch,CURLOPT_POSTFIELDS,“user_name = $ user_name& cmd = $ send_cmd& domain = $ my_domain”);

// code snippet //

$ch = curl_init();
         curl_setopt($ch, CURLOPT_URL, $url);
         curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
         curl_setopt($ch,CURLOPT_FAILONERROR,1);
         curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
         curl_setopt($ch, CURLOPT_POST, 1); 
         curl_setopt($ch, CURLOPT_POSTFIELDS,"user_name=$user_name&cmd=$send_cmd&domain=$my_domain");
         $res = curl_exec($ch);
         curl_close($ch);

2)我的第二个问题是我想在这里使用会话变量,所以使用$ _SESSION。我开始知道每当我们在页面中使用会话变量时,我们需要使用session_start();但即使我没有在顶部使用session_start(),为什么它仍然有效? 我刚刚给出了以下代码

// code //
require_once 'db_connect.php';

if (isset($_SESSION ['user_id']) && !empty($_SESSION ['user_id']))
{

    echo '<p align="center">Hi, '.$_SESSION ['first_name'].'</p>';
    $u_name = $_SESSION['user_name'];
    include 'home.php';
}
else
{
//some stmt
}

/*******home.php file ****/

<?php
require_once 'dbconnect.php';
$_SESSION['username'] = $u_name;

?>

在上面我没有使用任何session_start(),也没有使用GET或POST获取变量,但即便如此,$ u_name如何传递给home.php页面?

3)以下声明有什么作用?

echo '<link rel="stylesheet" type="text/css" href="bck_ground.css" />';

由于

1 个答案:

答案 0 :(得分:0)

我不确定“允许两个域的用户创建聊天室和聊天”是什么意思,但如果您需要跨域ajax请求,请检查Access-Control-Allow-Origin标头。 它得到了所有现代浏览器的支持。

如果您仍需要支持旧版浏览器,则可以将ajax-request从一个域代理到另一个域。至于我,你根本不需要PHP - 你可以将代理规则放到.htaccess中。

相关问题