LINUX.ORG.RU
ФорумTalks

[php]Ненависть

 


0

0

Перетаскиваю сайт конторы с денвера на правосланый debian. Вторую неделю. Я с самого начала понял бесперпективность этой идеи, предложил шефу заварить такойжедругойтолькомаленький^W на человеческой CMS (Drupal же), даже готов был потрахаться с перетаскиванием старого дизайна не темплейт CMS, c сохранением всего функционала.

Но контора государственная, а значит с бюрократической волокитой - мне мягко отказали - мол старый сайт утвержден главным инженером и т.д.

Что мне только не пришлось выуживать за эти дни из сего творения, написанного предыдущим программистом по книжке типа «как написать свою CMS за 3 дня на PHP». Вот сейчас столкнулся с тем, что не сохраняются результаты заполения одной формы, думаю что делать с этим:

	if (@$_POST['name'] != "" && @$_POST['demand'] != "" && @$_POST['condition'] != "") {
		if ($_POST['submit'] == "Удалить")
			$str_sql = "DELETE FROM vacans WHERE id = $_GET[id]";
		if ($_POST['submit'] == "Добавить") 
			$str_sql = "INSERT INTO vacans VALUES('','$_POST[name]', '$_POST[demand]', '$_POST[condition]', '$_POST[struct]')";
		if ($_POST['submit'] == "Изменить") 
			$str_sql = "UPDATE vacans SET `name` = '$_POST[name]', demand = '$_POST[demand]', condition = '$_POST[condition]', struct = '$_POST[struct]' WHERE id = $_GET[id]";
		@mysql_query($str_sql,$handle);
		echo "<meta http-equiv=\"refresh\" content=\"0; URL=index.php?mod=vacans\">";
	}

Файл естественно в cp1251... Даже не знаю, править или поставить костыль.

★★★★★

Последнее исправление: Turbid (всего исправлений: 2)

Ответ на: комментарий от wyldrodney

>Регэкспы ещё не попадались?

нет, автор того сайта еще не дорос до этого, но мне хватает мешанины кода и html - это похлеще всяких регэкспов.


Хрен с ним php - пишут же на нем стоящие вещи (тот же Drupal), хрен с ним тем программистом - что взять от вчерашнего студента. Но я ненавижу авторов этой книги, что лежит у меня на столе: http://www.softtime.ru/php5/?id_article=43

Ящитаю надо запретить подобные книги, оставить только официальную документацию php на английском языке. Уровень вхождения сразу подскочит и такого мы не увидим больше.

Turbid ★★★★★
() автор топика

php тут какбэ не при чем. Я, если напрягусь, и на перле такого говна сваяю. Причем код будет идентичен с точностью до названий функций.

r_asian ★☆☆
()
Ответ на: комментарий от tempuser002

>SQL injection? Tell me your IP :)

К счастью это раздел /admin, который отрыт только на внутренние IP. Это меня немного успокаивает.

Turbid ★★★★★
() автор топика
Ответ на: комментарий от xorik

Топикстартер не продемонстрировал весь код. А вдруг там строкой выше что-то вроде

foreach ($_POST as $key=>$value)
    $_POST[$key] = mysql_escape_string($value);

foreach ($_GET as $key=>$value)
    $_GET[$key] = mysql_escape_string($value);
r_asian ★☆☆
()
Ответ на: комментарий от r_asian

Как вариант, но я почему-то сомневаюсь :)

xorik ★★★★★
()
Ответ на: комментарий от r_asian

>А вдруг там строкой выше что-то вроде

Вынужден разочаровать, нет там такого :(

Turbid ★★★★★
() автор топика

s/удалить/1/
s/добавить/2/
s/изменить/3/

dimon555 ★★★★★
()
Ответ на: комментарий от r_asian

Может он не знает, что значение свойства value нажатой кнопки submit отправляется как и остальные поля формы?

legolegs ★★★★★
()

> Файл естественно в cp1251... Даже не знаю, править или поставить костыль.

1. оставить как есть, кодировку в контент-тайпе не трогать

2. перекодировать все файлы в ютф8, проблем возникнуть не должно

Код нормальный, если бы не инъекции (решается простой оберткой)

simple_best_world_web_master
()
Ответ на: комментарий от r_asian

> php тут какбэ не при чем. Я, если напрягусь, и на перле такого говна сваяю. Причем код будет идентичен с точностью до названий функций.

Скажи, что именно тебе не понравилось в коде?

simple_best_world_web_master
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.