Всплывающие окна

Xambis

Новичок
Всплывающие окна

Можно ли при помощи php создать всплывающее окно?

Вот такая задача. При нажатии на сслыку должно появляться всплывающее окно с формой, а потом данные из формы летят в базу. Всплывающее окно закрывается, а окно-родитель должно обновиться.

Я сделал это на Javascript и php, но попап, созданный при помощи Javascript имеет кодировку Юникод, а в базе кодировка windows 1251. Поэтому в базу летит мусор.

Я делал так. Код функции, создающей попап:
PHP:
function test_failed(jid)
{
	var win = window.open('', 'comment', 'width=500, height=250, resizable=1, scrollbar=0, status=0, menubar=1');
	var content = 	'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\n\n' +
		'<html>\n<head>\n<title>Причина провала тестирования</title>\n' +
		'<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">\n' +
		'<link href="tag_a.css" rel="stylesheet" type="text/css">\n' +
		'</head>\n\n<body>\n' +
		'<center>\n' +
		'<form name="f1" method="post" enctype="multipart/form-data" action="comment_add.php" onsubmit="javascript: window.opener.location.reload(); return true;">\n' +
		'<table width="450" border="1" cellpadding="0" cellspacing="0">\n' +
		'<tr><td colspan="2" height="200">\n' +
		'<textarea name="comment" id="comment" style="width:450; height:200"></textarea>\n' +
		'</td></tr>\n' +
		'<tr align="right">\n' +
		'<td width="300">\n' +
		'<input type="Button" name="cancel" id="cancel" value="Отмена" style="width:100" onclick="javascript:self.close();">\n' +
		'</td><td>\n' +
		'<input type="Submit" name="ok" id="ok" value="Добавить" style="width:100">\n' +
		'</td>\n' +
		'</tr>\n' +
		'</table>\n' +
		'<input type="hidden" name="jid" id="jid" value="' + jid + '">\n' +
		'<input type="hidden" name="rt" id="rt" value="Просто русский текст">\n' +
		'</form>\n' +
		'</center>Просто русский текст\n' +
		'</body>\n</html>\n';
	win.document.write(content);
	
	win.document.close();
	win.focus();
	return true;
}
Вот кусок кода файла comment_add.php:
PHP:
<?
$JID = $_POST['jid'];
$comment = $_POST['comment'];
$rt = $_POST['rt'];
?>

...

<body onload="javascript: /*self.close();*/ return true;">
<?echo "<b>Комментарий:</b> ".$comment."<p><p><p><b>Просто русский текст:</b> ".$rt;?>
</body>
Кто-нибудь может подсказать как решить проблему с кодировкой всплывающего окна, или предложить альтернативный способ решения задачи? Спасибо.
 

Xambis

Новичок
сам не понимаю. В меню браузера выбираешь Вид->Кодировка, и указан Юникод. Изменить нельзя. :(
 

Xambis

Новичок
Подскажите, как установить кодировку во всплывающем окне?
 

Rammstein

PHPClub::News
Первая фраза
Можно ли при помощи php создать всплывающее окно?
Заставляет послать нах.

Но дальше всё понятно. Непонятно лишь какая БД используется. Может поможет 'SET NAMES utf-8' в мускуле. Всё что вставляется после этого - как раз utf и должно быть. Потом таким же образом переходишь на вынь.

Ещё один вариант - iconv, но с ним гемору побольше будет, посему читай сам.

-~{}~ 14.01.07 00:23:

Или да, кодировку в попап поменять :)

-~{}~ 14.01.07 00:24:

Чел, ты откуда упал? Я думал у тебя AJAX... А тут с какого хрена UTF?
 

phprus

Moderator
Команда форума
Rammstein
Заставляет послать нах.
Ты не прав. Есть прекрасная статья: PHP FAQ: Самые основы. Как работает РНР, где он выполняется? Вот именно туда таких и надо посылать.

Xambis
но попап, созданный при помощи Javascript имеет кодировку Юникод
Не верю. У тебя же четко прописано <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
 

Xambis

Новичок
Автор оригинала: phprus
Не верю. У тебя же четко прописано <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
Вот-вот. Сам не понимаю. В браузере выбран Юникод, и изменить кодировку не получается (он выделен как неактивный).
 

GemVit

Новичок
Xambis
А какая кодировка у окна, из которого открываем попап?
Попробуй поменять кодировку у родительского окна, из которого открываешь попап и может случиться чудо - кодировка всплывающего окна также изменится.
 
Сверху