Змінюй хід війни! Допомагай ЗСУ!

нужна помощь PHP+MySQL

  • Автор теми Автор теми MaxVMP
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 12.12.2009
Повідом.: 23
нужна помощь PHP+MySQL

Код:

$cold1 = $_POST['cold1'];
$cold2 = $_POST['cold2'];
$cold3 = $_POST['cold3'];
$cold4 = $_POST['cold4'];

if($cold1)
{
$query = "insert into content (callID, subtypeID) values ('".$idcall."','".$cold1."')";
}

if($cold2){
$query = "insert into content (callID, subtypeID) values ('".$idcall."','".$cold2."')";
}

if($cold3){
$query = "insert into content (callID, subtypeID) values ('".$idcall."','".$cold3."')";
}

if($cold4){
$query = "insert into content (callID, subtypeID) values ('".$idcall."','".$cold4."')";
}

Ожидаемый результат:
4-е переменные cold существуют,
добавление 4-х значений cold в БД (если они есть).

Фактический результат:
4-е переменные cold существуют,
добавляется только cold4.
Спасибо.
 
какойто поток сознания
 
а самому подумать? лепить все cold'ы в $query... что там последним окажется?
 
удивительно, что вообще что-то добавлется.
не заметил ни одной функции обращения к базе данных.

к слову, вот это:
$cold1 = $_POST['cold1'];
вызовет проблему если в POST вдруг не будет элемента 'cold1', например из-за подделки запроса или недогрузки страницы, мало ли..

вот это:
if($cold1)
пропустит также и строку '0', что не всегда есть хорошо.
 
удивительно, что вообще что-то добавлется.
не заметил ни одной функции обращения к базе данных.

скорее всего она после потокa ифов и вызывается с последним $query. хотя как знать...

где-то так
$сold = !empty($_POST['cold']) ? $_POST['cold'] : null;
 
удивительно, что вообще что-то добавлется.
не заметил ни одной функции обращения к базе данных.

к слову, вот это:
$cold1 = $_POST['cold1'];
вызовет проблему если в POST вдруг не будет элемента 'cold1', например из-за подделки запроса или недогрузки страницы, мало ли..

вот это:
if($cold1)
пропустит также и строку '0', что не всегда есть хорошо.

1.функции обращения к бд есть, но здесь их приводить смысла не вижу.
2. проверка наличия POST, тоже есть.
3. приложение используется локально (учет входящих звонков) и такие вещи как подделка запроса и недогрузка страницы - нонсенс.
4 и самое главное проблема решилась путем:
$result = mysql_query($query);
после каждой строки добавления в фигурных скобках
Спасибо всем кто откликнулся, если что не так в коде пишите, обяз учту
 
Останнє редагування:
зачем 100500 раз писать одно и то же?
 
mysql_escape mysql_real_escape mysql_really_absolutely_escape mysql_escape_it_ffs ...

1.функции обращения к бд есть, но здесь их приводить смысла не вижу.
...
4 и самое главное проблема решилась путем:
$result = mysql_query($query);
после каждой строки добавления в фигурных скобках

:рл:
 
а SQL Injection Вы сколько знакомы?
пишу приложение (мое первое) для использования в локальной сети, поэтому вопросы безопасности стоят не так остро, но о их обязательно учту перед запуском.
 
пишу приложение (мое первое) для использования в локальной сети, поэтому вопросы безопасности стоят не так остро, но о их обязательно учту перед запуском.

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

в конце концов, кому-то просто захочется вставить кавычку, а оно бац и обломалось. это не "вопрос безопасности". это корявость.
 
перед запуском будет позно.
безопасность должна быть обеспечена с самого начала.
думать, что в локальной сети никто не будет ломать - большая ошибка.

в конце концов, кому-то просто захочется вставить кавычку, а оно бац и обломалось. это не "вопрос безопасности". это корявость.

magic_quotes_gpc в очередной раз спасут шкуру ПХПшника ;)
 
magic_quotes_gpc в очередной раз спасут шкуру ПХПшника ;)

их уже сто лет в обед как отменили.
у Вас какие-то очень устаревшие и поверхностные знания.
врочем, обычное дело для преподавателей.
 
Для текстовых данных так:

$other = $_POST['other'];
$other = trim($other);
$other = preg_replace("/[^\x20-\xFF]/","",@strval($other));
$other = htmlspecialchars($other, ENT_QUOTES);
$other = mysql_real_escape_string($other);

Для чисел так:

$id = $_POST['id'];
$valid_int = filter_var($id, FILTER_VALIDATE_INT);

Что не учел? Достаточно ли этого?
Что (где) посоветуете почитать по поводу безопасности?
Спасибо!
 
их уже сто лет в обед как отменили.
у Вас какие-то очень устаревшие и поверхностные знания.
врочем, обычное дело для преподавателей.

В 5.3, которую массы еще не юзают, и юзать не спешат, это "сто лет в обед"? :іржач:

А вообще да, за этим я давно не слежу, вырос уже. Чего и вам желаю.

И да, устаревшесть и поверхностность это немного разные вещи ;) Но выдумывать и нести чушь это обычное дело для форумных тролей)
 
В 5.3, которую массы еще не юзают, и юзать не спешат, это "сто лет в обед"? :іржач:

выключены по умолчанию начиная с 5.0.
так что сто лет в обед.

Но выдумывать и нести чушь это обычное дело для форумных тролей)

ну, а кто же ты еще?
 
Назад
Зверху Знизу