HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 07.09.2008, 01:37
ExZoD
Новичок
Регистрация: 04.06.2008
Сообщений: 24
Провел на форуме:
55730

Репутация: 16
По умолчанию

Цитата:
Сообщение от Gifts  
OnArs,
Чисто предположение, не знаю насчет скорости выполнения:
PHP код:
$a=file('file.txt');
if (
$a!==array_unique($a)) echo 'есть одинаковые строчки'
ну если файл большой, то он не откроется так (у мну 40 кб не открылось =( ). а так нормуль. тока большой файл лучше тогда построчно считать вручную.
 
Ответить с цитированием

  #2  
Старый 07.09.2008, 02:22
pento
Участник форума
Регистрация: 03.07.2006
Сообщений: 147
Провел на форуме:
438137

Репутация: 66
По умолчанию

Может просто прогнать через 'sort -u'?
 
Ответить с цитированием

  #3  
Старый 07.09.2008, 16:06
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме:
1510937

Репутация: 398
По умолчанию

как отфильтровать/экранировать поле data перед отправкой в БД?

Код:
$start_date = $_POST['start_date'];
$end_date = $_POST['end_date'];

$sql = "INSERT INTO 'zakazy' ('namber', 'name', 'start_date', 'end_date')
	VALUES ('$namber', '$firmname', '$start_date', '$end_date');";
Код:
CREATE TABLE `zakazy` (
  `id` int(5) NOT NULL auto_increment,
  `namber` int(5) NOT NULL,
  `name` varchar(255) NOT NULL,
  `start_date` date NOT NULL,
  `end_date` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0;

Последний раз редактировалось PandoraBox; 07.09.2008 в 16:09..
 
Ответить с цитированием

  #4  
Старый 07.09.2008, 16:10
cylaaaan
Участник форума
Регистрация: 31.08.2006
Сообщений: 149
Провел на форуме:
1763379

Репутация: 155
По умолчанию

PHP код:
<?
function chek($text)
{
$text htmlspecialchars($text);
$text addslashes($text);
return 
$text;
}

$start_date chek($_POST['start_date']);
$end_date chek($_POST['end_date']);

$sql "INSERT INTO 'zakazy' ('namber', 'name', 'start_date', 'end_date')
    VALUES ('
$namber', '$firmname', '$start_date', '$end_date');";

?>
 
Ответить с цитированием

  #5  
Старый 07.09.2008, 16:50
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме:
1510937

Репутация: 398
По умолчанию

Код:
	if ((!is_numeric($namber) && isset($namber)))
	{
		$error = true;
		$error_msg .= ($error_msg) ? "<br>" : "";
		$error_msg .= 'Неверно заполнено поле "Номер договора"';
	}
а если так
Код:
	if ($_POST['end_date']){
		$error = true;
		$error_msg .= ($error_msg) ? "<br>" : "";
		$error_msg .= 'Неверно заполнено поле "Дата окончания"';
	}
Есть альтернатива is_numeric() для date
 
Ответить с цитированием

  #6  
Старый 07.09.2008, 17:01
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


По умолчанию

PHP код:
function is_date($date) {
    if(
preg_match("#^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}$#",$date))
        return 
true;
    else
        return 
false;

формат даты:
11.01.2008
Если соблюден, то true, иначе false

Последний раз редактировалось ChaaK; 07.09.2008 в 17:23..
 
Ответить с цитированием

  #7  
Старый 07.09.2008, 17:01
cylaaaan
Участник форума
Регистрация: 31.08.2006
Сообщений: 149
Провел на форуме:
1763379

Репутация: 155
По умолчанию

какой формат у даты должен быть?
можно через регулярку проверить
 
Ответить с цитированием

  #8  
Старый 07.09.2008, 17:16
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

ChaaK слешей не многовато?) Тем более что по стандарту для мускуля формат должен быть YYYY-MM-DD
Так что регулярка будет:
PHP код:
if (preg_match('/^{4}-{2}-{2}$/',$dat)) 

Последний раз редактировалось Gifts; 07.09.2008 в 17:20..
 
Ответить с цитированием

  #9  
Старый 07.09.2008, 17:53
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме:
519496

Репутация: 78
По умолчанию

Не могу понять не работает функция shuffle() для перемешивания массива. есть файл text.txt с таким содержимым
Цитата:
1
2
3
4
5
делаю так
PHP код:
$tagsforsite=file('text.txt');
$tagsforsite=shuffle($tagsforsite);
echo 
$tagsforsite[0]; 
ниак не выводит значения массива, если через foreach делаю выкидывает ошибку

Цитата:
Warning: Invalid argument supplied for foreach() in Z:\home\localhost\www\cms\editor_tags.php on line 284

Последний раз редактировалось Zircool; 07.09.2008 в 17:57..
 
Ответить с цитированием

  #10  
Старый 07.09.2008, 17:59
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


По умолчанию

Цитата:
Сообщение от Zircool  
Не могу понять не работает функция shuffle() для перемешивания массива. есть файл text.txt с таким содержимым


делаю так
PHP код:
$tagsforsite=file('text.txt');
$tagsforsite=shuffle($tagsforsite);
echo 
$tagsforsite[0]; 
ниак не выводит значения массива, если через foreach делаю выкидывает ошибку
Я думал shuffle возвращает булевое значение(true||false).
Поэтому не
PHP код:
$array shuffle($array); 
а
PHP код:
shuffle($array); 
У тебя после перемешивания, в переменную кладется true, поэтому и форич ругается. В следующий раз отлаживай скрипты пошагово.

Последний раз редактировалось ChaaK; 07.09.2008 в 18:05..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.