Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2008, 20:47   #1
Snake_ua
Пользователь
 
Регистрация: 25.09.2007
Сообщений: 66
По умолчанию Адресная книга

Я не так давно стал изучать php, HTML и MуSQL, поэтому прошу у вас помощи. По примеру написал адресную книгу. Но при добавление записи мне выдает ошибку, что я в одной строке не поставил '}'. Я ставлю, но на результат это не влияет. Да вообще сколько не поставлю "все мало". Помогите разобратся.
Snake_ua вне форума Ответить с цитированием
Старый 25.02.2008, 21:48   #2
Hast
>__<
Пользователь
 
Аватар для Hast
 
Регистрация: 25.02.2008
Сообщений: 11
По умолчанию

В каком именно скрипте ошибка? В индексе?
Hast вне форума Ответить с цитированием
Старый 25.02.2008, 22:11   #3
Hast
>__<
Пользователь
 
Аватар для Hast
 
Регистрация: 25.02.2008
Сообщений: 11
По умолчанию

Первое что я нашёл - ошибка в строке с sql запросом:

Код:
$addStmt = "Insert into $tableName(Name, Email, City, Description);
Ковычи открываются, и... не закрываются
вот, что примерно должно у тебя быть:

Код:
$addStmt = "Insert into $tableName(Name, Email, City, Description");
--------------------------------------------------------------

И вообще, сам SQL запрос составлен неверно. да и кроме этой ошибок куча, и не в одном скрипте давай так: ты пишеш скрипт (место в скрипте) что он (скрипт) должен делать, и ошибку которая вылитает при запуске скрипта. А я уже попробую тебе помоч

имхо, так будет удобнее, чем "нате вам архив, с кучей файлов, ищити ошибки"

Последний раз редактировалось Hast; 25.02.2008 в 22:16. Причина: добавление
Hast вне форума Ответить с цитированием
Старый 26.02.2008, 01:13   #4
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Я думаю, что прежде чем программировать - нужно сначала сесть и набросать хотя бы схему того, что хочешь сделать.

Вот работающий код add.php. Изначальный стиль сохранён.

PHP код:
<?

require('globals.php');
require(
"common.php");

$addStmt "Insert into $tableName (Name, Email, City, Description, Telephone) VALUES ('%s', '%s', '%s', '%s', '%s')";
if (!
$_POST['cn'] || !$_POST['mail'])
{
DisplayErrMsg('Ошибка все поля обязательны');
exit();
}

$link mysql_pconnect($HostName$userName$passWord) or die('Could not connect');
  if( !
$link ) die( mysql_error() );

if (!
mysql_select_db($databaseName$link))
{
DisplayErrMsg(sprintf('Error in selecting %s database'$databaseName));
DisplayErrMsg(sprintf('error: %d %s'mysql_errno($link), mysql_error($link)));
exit();
}

If (!
mysql_query(sprintf($addStmt$_POST['cn'], $_POST['mail'], $_POST['locality'], $_POST['description'], $_POST['telephonenumber']), $link))
{
DisplayErrMsg(sprintf('Error in executing %s stmt'$stmt));
DisplayErrMsg(sprintf('error: %d %s'mysql_errno($link), mysql_error($link)));
exit();
}

ReturnToMain();
?>
Хотя чтобы он работал - нужно изменить и другие файлы тоже, так как там много ошибок.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 26.02.2008, 03:18   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Hast, вы тоже допустили ошибку. Кавычки надо закрывать после скобки.
Johnatan, ваш код уязвим на SQL-injection. Все POST-переменные надо проверять.
SkyM@n вне форума Ответить с цитированием
Старый 26.02.2008, 03:43   #6
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

А я не говорил, что код неуязвим. Я лично его писал бы совершенно по-другому. Там почти каждый файл уязвим в той или иной мере. Я лишь изменил код так, чтобы он работал.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 26.02.2008, 09:40   #7
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Ну так давайте будем советовать так, как бы это желали себе. Хотя опять же - это дело каждого.
Автору советуется больше почитать про уязвимости, взять для начала какой-то удобный редактор для поиска парных скобок и кавычек, раз сами пока не справляетесь.
SkyM@n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга по Асму AngelOfDeath Свободное общение 1 01.06.2008 23:22
Какая книга лучше? Kandela Свободное общение 3 29.05.2008 19:52
Защищенная книга Excel ElenaA Общие вопросы Delphi 0 18.01.2008 10:14
А это хорошая книга? Foll Свободное общение 9 12.12.2007 08:39