2012-02-22 2 views
0

У меня проблема. Сначала у меня есть два сервера. У меня есть весь db с страницей входа, а на secoud у меня есть моя WWW-страница. Эти серверы находятся на разных доменах. Я создаю сайт, где находится 2 iframe, каждый iframe соответственно с первого и второго серверов. Когда я отправляю форму, результаты открываются на новой вкладке, а не в результатах поиска. Belowe - это код. Я добавлю только, что в IE он работает хорошо. secound серверФорма открывается в новом iframe

index.html (это основная рама)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>New Web Project</title> 
    </head> 
    <body> 

     <iframe name="vforms1" src="vforms.php" width="200" height="200"></iframe> 
     <iframe name="map1" src="http://xxx.xxx.xxx/map.php" width="200" height="200"></iframe> 
    </body> 
</html> 

vforms.php

<?php 
if (isset($_POST["variable"])){ 
    $var2 = $_POST["variable"]; 
    echo $var2; 
} 
else echo 'waiting'; 
?> 

первый сервер map.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Test page</title> 
</head> 
<body> 
<form action="http://xxx.xxx.xxx/test/vforms.php" method="POST" target="vforms1"> 
<input type="hidden" name="variable" value="send"/> 
<input type="submit" /> 
</form> 
</body> 
</html> 

Я работаю на этом с прошлой пятницы, и постарайтесь сделать все! Теперь это реально сводит меня с ума! Кто-нибудь может мне помочь? Приветствия!

+0

Зачем вам нужны фреймы? Почему бы не получить доступ к базе данных с основного веб-сервера? –

+0

Я не могу подключиться непосредственно к db из-за политики безопасности и множества других вещей в моей компании. – Krystian

ответ

1

Поскольку он находится в другом домене, существуют политики перекрестных доменов. <form> не знает о другом iFrame и не может получить к нему доступ. Он также не может получить доступ к родителям.

Так, там действительно нет возможности о том, как это исправить, кроме удаленного подключения к базе данных с PHP, и удаление IFrames все вместе (что это плохо в первую очередь)

+0

поэтому другими словами, это невозможно сделать. :( – Krystian

+0

Не так, как вы этого хотите. Я настоятельно рекомендую подключиться к базе данных mysql удаленно –

+0

, как я написал до того, как этого не будет, но я отработал это, создав виртуальный каталог и изменив адрес, как это было на тот же домен. – Krystian

-1

Вы что вы должны использовать doctype-набор фреймов внутри фреймового документа? Вы можете сделать атрибут цели недействительным.

+0

это проблема перекрестного домена, так как содержимое iFrame находится на другом сервере/URL-адресе –

Смежные вопросы