use \Bitrix\Main\Loader;
// Это нужно где-нибудь складировать в init.php/других файлах, т.к. много где может понадобится
define('TARGET_IBLOCK_ID',1);
// Это то, что вернет скрипт
$arReturn = [
'result' => 'error',
'data' => 'Неправильный запрос',
];
$sCode = $_POST["code"];
if ( !empty($sCode) )
{
// Инициализируем php-кеширование (в хранилище кеша будет помещен json объект)
$cache = new CPHPCache();
// Устанавливаем время, на которое нужно кешировать
$cache_time = 86400*7;
// Уникальный ID
$cache_id = 'sectCache'.$code;
// Папка для хранения кеша
$cache_path = '/sectCache/'.$code;
// Проверяем существование кеша
if ( $cache->InitCache($cache_time, $cache_id, $cache_path) )
{
// Кеш есть, достаем данные
$arCacheData = $cache->GetVars();
// Достаем по ключу, с которым положили
$arReturn['data'] = $arCacheData['sectCache'.$sCode];
}
else
{
// Кеша нет, нужно получить данные
// Хороший тон - проверить, подключен ли модуль
if ( Loader::IncludeModule('iblock') )
{
$arSelect = [
"ID",
"NAME",
"PROPERTY_YEAR",
"PREVIEW_PICTURE",
"PROPERTY_MODEL",
"PROPERTY_WORKS",
"PROPERTY_COST_WORK",
"PROPERTY_COST_DETAILS",
"PROPERTY_DISCOUNT_WORK",
"PROPERTY_DISCOUNT_DETAILS"
];
/**
* Фильтр лучше использовать всегда, иначе
* при ошибке будет выбор всех элементов
*/
$arFilter = [
'IBLOCK_ID' => TARGET_IBLOCK_ID,
"ACTIVE" => "Y",
];
if ( $sCode == "all-brands" )
{
$arFilter['INCLUDE_SUBSECTIONS'] = 'Y';
}
else
{
$arFilter['SECTION_CODE'] = $sCode;
}
// Массив элементов
$arItems = [];
// Получаем данные
$res = \CIBlockElement::GetList(["ID"=>"DESC"], $arFilter, false, false, $arSelect);
while( $arElement = $res->Fetch() )
{
$arElement["PREVIEW_PICTURE"] = CFile::GetPath($arElement["PREVIEW_PICTURE"]);
$arItems[ $arElement['ID'] ] = $arElement;
}
// Сохраняем данные в кеше
$cache->StartDataCache($cache_time, $cache_id, $cache_path);
$cache->EndDataCache(['sectCache'.$sCode => $arItems]);
$arReturn['data'] = $arItems;
}
else
{
$arReturn['data'] = "Модуль инфоблоков не подключен";
}
}
}
echo json_encode($arReturn);
die();
php -i | grep memory_limit
$sql = "UPDATE users SET ":
if($newPassword){
$sql .= "`password` = :newPassword, ";
}
$sql .= "`name` = :name,
`sec_name` = :sec_name,
`surname` = :surname,
`adress` = :adress,
`tel` = :tel
WHERE `email` = :email AND `password` = :password limit 1";
$salt = getSalt($email);
if (!$salt) {
return false;
}
$curPasswordMD5 = passwordHash($curPassword, $salt);
$stmt = $pdo -> prepare($sql);
$stmt->execute(
array( ":name" => $name,
":sec_name" => $sec_name,
":surname" => $surname,
":adress" => $adress,
":tel" => $tel,
":newPassword" => $newPassword['hash'],
":email" => $email,
":password" => $curPasswordMD5['hash'],
)
);
return $stmt;
} catch (Exception $e) {
exit($e->getMessage());
}
if ( isset($_POST['name']) ) {
$name = trim($_POST['name']);
if ( !empty($name) ) {
$length = strlen($name);
if ( $length < 2 ) {
$errorValidation['nameShort'] = 'Имя не должно содержать меньше 2 символов';
} elseif ( $length >= 20 ) {
$errorValidation['nameLong'] = 'Имя не должно содержать больше 20 символов';
} else {
$name = strip_tags($name);
$name = mysql_real_escape_string($name);
}
} else {
$errorValidation['nameEmpty'] = 'Поле обязательное для заполнения';
}
} else if (empty($_POST['name'])) {
$errorValidation['nameEmpty'] = 'Поле обязательное для заполнения';
}
<?php
class Spisok
{
public function create()
{
if ($_POST) {
$Fam = $_POST['Fam'];
$Nam = $_POST['Nam'];
$Otch = $_POST['Otch'];
file_put_contents("abc.txt", $file.$Fam.$Nam.$Otch."\r\n", FILE_APPEND);
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script><![endif]-->
<title></title>
</head>
<body>
<?
$spisok = new Spisok;
$spisok->create();
?>
<form method="POST" >
Ваша Фамилия:<br />
<input type="text" name="Fam"><br />
Ваше Имя:<br />
<input type="text" name="Nam"><br />
Ваше Отчество:<br />
<input type="text" name="Otch"><br />
<input type="submit" value="Отправить" name="btn">
</form>
<input type="submit" value="Открыть файл" onclick="getdate">
</body>
</html>