У меня есть источник php, он может отправить информацию о данных формы на другую страницу в версии mysql 4.x.
но после обновления до версии mysql 5.x этот источник php не может отправить информацию о данных формы на другую страницу.
У меня была обыскана много информации, но у меня нет идеи о том, что случилось с моим источником php.
Я просто могу предположить, что это связано с обновлением mysql, и мне нужно отредактировать свой php-источник,
но недостаток знаний для меня очень тяжелый.
если кто-нибудь поможет мне или даст какой-то намек, который он действительно ценит!
my php source состоит из 3 частей.
формировать страницу отправителя (http://pastebin.com/3Sg7SyWV)
- > Страница проверки данных данных формы (http://pastebin.com/WEx5tEn2)
- > вставить данные формы в DB (http://pastebin.com/918iZkgw)
в течение нескольких дней я был поиск и поиск, но отсутствие моих знаний о php и mysql
это очень сложно решить.
Заранее спасибо
Вы не проверяете, успешно ли ваш запрос на вставку. Я не могу сказать, какую библиотеку MySQL вы используете, но обычно они возвращают FALSE, если запрос терпит неудачу, поэтому вы можете изменить строку запроса на что-то вроде:
$DB->ExecSql($InsertQuery) or die($DB->whatever_returns_error_information());
Если что-то не так с запросом, это приведет к прерванию script и выдаст любую полученную информацию об ошибке.
Кроме того, это не похоже на то, что вы избегаете данных запроса в любом месте. Это дает вам широкое распространение для SQL-инъекций. А также любой из данных формы, содержащий даже одну цитату ('
), "сломает" запрос, введя синтаксические ошибки. Если бы у вас была правильная проверка ошибок, вы получили отчет о синтаксической ошибке.
В этом случае, где вы извлекаете предоставленные данные и строите все эти переменные, которые вы вставляете в запрос? Там только одно место в трех сценариях, на которые ссылается $_POST
, и похоже, что это функция вывода ошибок, которая просто выгружает каждый ключ/значение в виде скрытых полей формы (и там вы также не избегаете/цитируете данные, поэтому ваша форма уязвима для атак XSS).