行动和确认 - 不同的页面,我如何传递文字?

时间:2010-02-20 11:26:07

标签: php javascript string

我将我的网站与phpbb集成,所以你登录phpbb,然后你就可以看到我的网站了,所以我不使用普通会话,所以我不知道怎么做。

我的网站是index.php的设计,然后我在一个框架内有一个insert.php。现在在我的index.php,我想收到一条消息,在insert.php,我想发送一条消息。

正确理解我,在insert.php中的数据库中插入了一些内容后,我想显示一条消息,如StackOverflow(在index.php中),说“你收到了+积分”。现在我不知道如何“传递”这个消息。

我的意思是,从insert.php到index.php。

然后我一直在考虑每2秒进行一次自动刷新,以检查是否有新消息要显示。

谢谢你, Azzyh

忘了提及: 我的index.php在/ 我的insert.php位于/videos/insert.php中 在/videos/show.php,您键入注释,然后, Insert.php将注释插入数据库, 我在show.php中创建了一个脚本,它将字符串发送到insert.php,然后插入insert.php,然后输出结果显示我在show.php中的结果(例如“Successfully inserted!”)。那么,如果成功插入,我应该在insert.php或脚本中真正做些什么吗? 这是我提到的剧本:

var nocache = 0;
function insert() {
// Optional: Show a waiting message in the layer with ID login_response
document.getElementById('insert_response').innerHTML = "To Sek .. "
// Required: verify that all fileds is not empty. Use encodeURI() to solve some issues about character encoding.
var fID= encodeURI(document.getElementById('fID').value);
var kommentar= encodeURI(document.getElementById('kommentar').value);
// Set te random number to add to URL request
nocache = Math.random();
// Pass the login variables like URL variable
http.open('get', 'insert.php?fID='+fID+'&kommentar=' +kommentar+'&nocache = '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}
function insertReply() {
if(http.readyState == 4){
var response = http.responseText;
document.getElementById('insert_response').innerHTML = ''+response;
}
} 

1 个答案:

答案 0 :(得分:1)

在父页面(index.php)中定义一个可以从子页面调用的javascript函数:

function someFunction(msg) {
    alert(msg);
}

并在子页面(insert.php)中,您可以调用此函数:

if (window.parent) {
    window.parent.someFunction('hello world');
}

请注意,由于cross domain policies,仅当两个网页位于同一个网域时才会有效。