Действие и подтверждение - разные страницы, как передать текст? - PullRequest
1 голос
/ 20 февраля 2010

Мой мой сайт интегрирован с phpbb, поэтому вы входите в phpbb, и тогда вы сможете видеть мой сайт, поэтому я не использую обычные сеансы, поэтому я не знаю, как это сделать.

Мой сайт - это дизайн в index.php, а затем у меня есть вставка .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 (например, «Успешно вставлено!»). Так что я должен действительно сделать что-то в 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 Ответ

1 голос
/ 20 февраля 2010

На родительской странице (index.php) определите функцию javascript, которую вы можете вызывать с дочерней страницы:

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

и на дочерней странице (insert.php) вы можете вызвать эту функцию:

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

Обратите внимание, что из-за междоменных политик это будет работать, только если две страницы находятся в одном домене.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...