SQL DBFor Sql Like intval 1 2 3
SQL $DB->For. Sql. Like intval 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <? php class CMy. Service { function delete. By. Id($ID) { global $DB; return $DB->Query('DELETE from b_my_service WHERE ID = ''. $DB->For. Sql($ID). '''); } function delete. By. Name($NAME) { global $DB; return $DB->Query('DELETE from b_my_service WHERE NAME like ''. $DB->For. Sql. Like($NAME). '''); } }
SQL - рекомендуем 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $DB->Add $DB->Prepare. Update <? php class CMy. Service { function add($ar. Fields) { global $DB; return $DB->Add("b_my_service", $ar. Fields); } function update($ID, $ar. Fields) { global $DB; $ID = intval($ID); $str. Update = $DB->Prepare. Update("b_my_service", $ar. Fields); if ($str. Update != "") { if (!$DB->Query("UPDATE b_my_service SET ". $str. Update. " WHERE ID=". $ID)) return false; } return true; } }
Внимание! «~» ! $DB->Add $DB->Prepare. Update 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <? php if( $_SERVER["REQUEST_METHOD"] == "POST" && check_bitrix_sessid() //CSRF protection ) { /* WRONG */ //$DB->Add("b_my_service", $_POST); /* RIGHT */ $DB->Add("b_my_service", array( "NAME" => $_POST["NAME"], "SORT" => $_POST["SORT"], )); Local. Redirect($APPLICATION->Get. Cur. Page. Param()); }
HTML CUtil: : JSEscape CUtil: : Php. To. JSObject Get. Message. JS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 htmlspecialchars. Ex htmlspecialcharsbx urlencode CHTTP: : urn. Encode <!--Java. Script escape demo--> <script> var mess = '<? echo Get. Message. JS("MESSAGE_ID")? >'; var str = '<? echo CUtil: : JSEscape($str)? >'; var ar. Result = <? echo CUtil: : Php. To. JSObject($ar. Result)? >; </script> <!--HTML attributes values--> <label for="<? echo htmlspecialcharsbx($id)? >" onclick="<? echo htmlspecialcharsbx("alert("". CUtil: : JSEscape($message). "")"); ? >"> <!--HTML between tags--> <? echo htmlspecialchars. Ex($preview); ? > </label> <!--HTML inside textarea demo--> <textarea id="<? echo htmlspecialcharsbx($id)? >"><? echo htmlspecialcharsbx($text); ? ></textarea> <!--HTML "a" tag, href attribute--> <a href="<? echo htmlspecialcharsbx( CHTTP: : urn. Encode($page). "? ". urlencode($parameter). "=". urlencode($value) ); ? >"></a>
Файлы - CBXVirtual. Io $io->Combine. Path $io->Validate. Path. String 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <? php $io = CBXVirtual. Io: : Get. Instance(); if( $_SERVER["REQUEST_METHOD"] == "POST" && check_bitrix_sessid() //CSRF protection && $_REQUEST["action"] === "import" ) { $path. Within. Root = $_SERVER["DOCUMENT_ROOT"]. $io->Combine. Path("/", $_POST["path"]); if ($io->Validate. Path. String($path. Within. Root) && $io->File. Exists($path. Within. Root)) { $h = $io->Open. File($path. Within. Root, "rb"); if (is_resource($h)) { //TODO: import here } } Local. Redirect($APPLICATION->Get. Cur. Page. Param()); }
Файлы - CTemp. File: : Get. File. Name CTemp. File: : Get. Directory. Name автоматическое удаление можно задать время хранения 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <? php $io = CBXVirtual. Io: : Get. Instance(); if( $_SERVER["REQUEST_METHOD"] == "POST" && check_bitrix_sessid() //CSRF protection && $_REQUEST["action"] === "export" ) { $temp. File. Path = CTemp. File: : Get. File. Name("export. csv"); Check. Dir. Path($temp. File. Path); $h = $io->Open. File($temp. File. Path, "w"); if (is_resource($h)) { //TODO: export here CFile: : View. By. User(CFile: : Make. File. Array($temp. File. Path)); } Local. Redirect($APPLICATION->Get. Cur. Page. Param()); }
Спасибо за внимание! Вопросы? Twitter: @q. MBQx 8 GH Skype: mv. smirnov E-mail: max@bitrix. ru
- Slides: 12