powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / 500 Internal server error...
7 сообщений из 7, страница 1 из 1
500 Internal server error...
    #32908536
kanalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток знатокам!
Ситуевина такая:
PHP4 (4.2.3), Apache 2.0.43. Броузеры: IE6.0, Opera 6.0
Пишем некую страничку, содержащую такой вот JavaScript

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<SCRIPT LANGUAGE="JavaScript">
var windowW =  138  // wide
var windowH =  210  // high
s = "width="+windowW+",height="+windowH;
function openFrameless(par) {
      NFW = window.open(par,"popFrameless",","+s);
}
</script>
Скрипт вызывает всплывающее окно, в котором должен показать картинку, выдранную из базы
вызываем его так:
Код: plaintext
1.
<a href="javascript:openFrameless('photo2.php?par=<?php echo $str13?>&fio=<?php echo "$str7 $str8"?>')"><img src="pic/members_list.gif" border="0"></a>

Соответсвенно файл всплывающего окна (photo2.php) представляет собой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
<html>
<head>
<title><?php echo $fio?></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
</body>
<?php
require("bin/blopclas.php");
	$db = new db();
	$db->open();

if(isset($par) != 0 )
{
	$sql = "select Ww, Hh from photos where idsotr = $par";
	$query = new query($db,$sql); 
	$query->getrow();
	$a = $query -> counting();
	if ($a <>  0 )
		{
		$Ww = $query->field('Ww');
		$Hh = $query->field('Hh');
		}
	else
	{
	?>
		<SCRIPT LANGUAGE="JavaScript">
			window.focus();
			window.resizeTo( 138 , 210 );
		</script>
	<?php	
	}
?>

<SCRIPT LANGUAGE="JavaScript">
	window.focus();
	window.resizeTo(<?php echo $Ww ?>,<?php echo $Hh?>);
</script>
<?php
}
?>
<img src="photo.php?par=<?php echo $par?>">
</html>

файл, выдирающий картинку из базы (photo.php):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<?php
header("Content-type: image/gif");
require("bin/blopclas.php");
	$db = new db();
	$db->open();

if(isset($par) != 0 )
{
	$sql = "select photo, Ww, Hh from photos where idsotr = $par";
	$query = new query($db,$sql); 
	$query->getrow();
	$a = $query -> counting();
	if ($a <>  0 )
		{
		$out = $query->field('photo');
		$Ww = $query->field('Ww');
		$Hh = $query->field('Hh');
		//echo strlen($out);
		if (strlen($out) <  10 )
			{
			readfile("pic/empty.gif");
			}
		else
			{
			echo $out;
			}
		}
	else
		{
		readfile("pic/empty.gif");
		}
}
else
{
	readfile("pic/empty.gif");
}
?>

Каждый файл по отдельности работает.
Вся эта конструкция локально работает (локально стоит IIS+PHP)
Вся эта конструкция залитая на сервер (PHP4 (4.2.3), Apache 2.0.43.) в Опере работает, а в IE выдаает subj

Вопрос: где грабли порылись?
...
Рейтинг: 0 / 0
500 Internal server error...
    #32908547
kanalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да..., забыл привести лог апача:

[Wed Feb 09 15:55:23 2005] [error] [client 192.168.2.152] (22)Invalid argument: couldn't create child process: 22: php.exe
[Wed Feb 09 15:55:23 2005] [error] [client 192.168.2.152] (22)Invalid argument: couldn't spawn child process: D:/PHP/php.exe
...
Рейтинг: 0 / 0
500 Internal server error...
    #32908766
kanalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема локализовалась до следующей:

В результате работы строки:

Код: plaintext
1.
<a href="javascript:openFrameless('photo2.php?par=<?php echo $str13?>&fio=<?php echo "$str7 $str8"?>')"><img src="pic/members_list.gif" border="0"></a>

формируется строка вызова:
Код: plaintext
1.
http:// 192 . 168 . 3 . 32 /telsprav/photo2.php?par= 225 &fio="по-русски"

Вопрос: как ее перекодировать в понятный серверу и броузеру вид???:
Код: plaintext
1.
http:// 192 . 168 . 3 . 32 /telsprav/photo2.php?par= 225 &fio=% 22 %EF%EE-%F0%F3%F1%F1%EA%E8% 22  

Таким образом, проблема была в русских значениях параметров передаваемых по GET
...
Рейтинг: 0 / 0
500 Internal server error...
    #32908796
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
500 Internal server error...
    #32908900
kanalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl urlencode
Спасибо. Отчасти это решает проблему, т.е. сервер больше не выдает ошибку.

Но вот ссылка получается нечитаемая:(

Код: plaintext
1.
javascript:openFrameless('photo2.php?par=225&fio=Eiiaan Nayoineaa Aeaaeie?iae?')

как полуичть ее в виде:???

Код: plaintext
1.
javascript:openFrameless('photo2.php?par=225&fio=%CB%EE%EC%E1%E0%F1+%D1%E2%FF%F2%EE%F1%EB%E0%E2+%C2%EB%E0%E4%E8%EC%E8%F0%EE%E2%E8%F7')

С таким URL-ом все работает правильно...
...
Рейтинг: 0 / 0
500 Internal server error...
    #32908975
kanalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заметил еще одну интересную вещь...
Опера сама перекодирует URL к правильному виду внезависимости от использования urlencode(), а вот IE этого не делает.
Вот почему у меня все работало в Опере, и не работало в IE...

Ну это так... лирическое отступление:)
Последний заданный вопрос остается открытым.
...
Рейтинг: 0 / 0
500 Internal server error...
    #32909046
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
DocAl urlencode Следует заметить, что rawurlencode , наверно, будет более правильным. По крайней мере, лично для меня это решило проблему с файлами, содержащими пробел в своём имени.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / 500 Internal server error...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]