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

  • Автор темы Автор темы Xambis
  • Дата начала Дата начала

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>

Кто-нибудь может подсказать как решить проблему с кодировкой всплывающего окна, или предложить альтернативный способ решения задачи? Спасибо.
 
сам не понимаю. В меню браузера выбираешь Вид->Кодировка, и указан Юникод. Изменить нельзя. :(
 
Подскажите, как установить кодировку во всплывающем окне?
 
Первая фраза
Можно ли при помощи php создать всплывающее окно?
Заставляет послать нах.

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

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

-~{}~ 14.01.07 00:23:

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

-~{}~ 14.01.07 00:24:

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

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