• Как принять данные от JQuery.ajax на сервере php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    На сервере пытаюсь принять так:
    Нет, ищите в $_POST

    header: 'Content-Type: application/json', а это лишнее.

    А вообще нужно уметь открыть инструменты хорма и посмотреть в нетворке что и как отправляется.

    Ну или если хочется отправить в боди, то сделать
    $.ajax({
        contentType: 'application/json',
        dataType: 'json',
        data: JSON.stringify({ some valid JSON})
    ...
    Ответ написан
  • Как выбрать несколько строк в mysql?

    ifaustrue
    @ifaustrue
    Пишу интересное в теллеграмм канале @cooladmin
    SELECT * FROM table WHERE id IN (5,4,3,1,6)
    Ответ написан
    Комментировать
  • Почему запрос возвращает ошибку 500?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Как только люди не извращаются, лишь бы SQL не изучать. А ведь достаточно сделать уникальный ключ по `word` и использовать запрос INSERT IGNORE.
    Перед подключением к базе разрешить выброс исключений, вместо ручной проверки ошибок:
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    В начале скрипта включить отображение ошибок PHP:
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);

    Ну и использовать подготовленные выражения. Готовить один раз перед циклом, а в цикле только вызывать с разными значениями параметров.
    Ответ написан
    2 комментария
  • Почему не строится график?

    HemulGM
    @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    код
    uses Math, System.Types;
    
    procedure TForm4.FormCreate(Sender: TObject);
    begin
      Arr := [
        TPointF.Create(10, 150),
        TPointF.Create(5, 50),
        TPointF.Create(150, 50),
        TPointF.Create(140, 140),
        TPointF.Create(150, 50),
        TPointF.Create(150, 50),
        TPointF.Create(150, 50)
        ];
    end;
    
    function TForm4.Fuctorial(n: Integer): Integer; // Функция вычисления факториала
    begin
      var res := 1;
      for var i := 1 to n do
        res := res * i;
      Result := res;
    end;
    
    function TForm4.polinom(i, n: integer; t: Single): Single; // Функция вычисления полинома Бернштейна
    begin
      Result := (Fuctorial(n) / (Fuctorial(i) * Fuctorial(n - i))) * Math.Power(t, i) * Math.Power(1 - t, n - i);
    end;
    
    procedure TForm4.Draw();// Функция рисования кривой
    begin
      var j := 0;
      var step := 0.01; // Возьмем шаг 0.01 для большей точности
    
      var res: TArray<TPoint>;
      SetLength(res, 101); //Конечный массив точек кривой
    
      var t: Single := 0;
      while t < 1 do
      begin
        t := t + step;
        var ytmp := 0.0;
        var xtmp := 0.0;
        for var i := 0 to High(Arr) do
        begin // проходим по каждой точке
          var b := polinom(i, Length(Arr) - 1, t); // вычисляем наш полином Бернштейна
          xtmp := xtmp + Arr[i].X * b; // записываем и прибавляем результат
          ytmp := ytmp + Arr[i].Y * b;
        end;
        res[j] := TPoint.Create(Round(xtmp), Round(ytmp));
        Inc(j);
      end;
    
      for var i := 0 to High(res) - 1 do
      begin
        Canvas.MoveTo(res[i].X, res[i].Y);
        Canvas.LineTo(res[i + 1].X, res[i + 1].Y); // Рисуем полученную кривую Безье
      end;
    end;
    
    procedure TForm4.FormPaint(Sender: TObject);
    begin
      Draw;
    end;


    637f97cd8d0c7133132952.png

    стандартный проект vcl со сглаживанием (меняется только процедура Draw())

    uses Direct2D, Winapi.D2D1;
    
    procedure TForm4.Draw();// Функция рисования кривой
    begin
      var j := 0;
      var step := 0.01; // Возьмем шаг 0.01 для большей точности
    
      var res: TArray<TD2DPoint2f>;
      SetLength(res, 101); //Конечный массив точек кривой
    
      var t: Single := 0;
      while t < 1 do
      begin
        t := t + step;
        var ytmp := 0.0;
        var xtmp := 0.0;
        for var i := 0 to High(Arr) do
        begin // проходим по каждой точке
          var b := polinom(i, Length(Arr) - 1, t); // вычисляем наш полином Бернштейна
          xtmp := xtmp + Arr[i].X * b; // записываем и прибавляем результат
          ytmp := ytmp + Arr[i].Y * b;
        end;
        res[j].x := xtmp;
        res[j].y := ytmp;
        Inc(j);
      end;
      with TDirect2DCanvas.Create(Canvas, ClientRect) do
      try
        BeginDraw;
        for var i := 0 to High(res) - 1 do
          DrawLine(res[i], res[i+1]);
        EndDraw;
      finally
        Free;
      end;
    end;



    637f9ce29d069377716122.png

    вот на FMX со сглаживанием (меняется только немного процедура Draw()
    код

    procedure TForm4.Draw();// Функция рисования кривой
    begin
      var j := 0;
      var step := 0.01; // Возьмем шаг 0.01 для большей точности
    
      var res: TArray<TPointF>;
      SetLength(res, 101); //Конечный массив точек кривой
    
      var t: Single := 0;
      while t < 1 do
      begin
        t := t + step;
        var ytmp := 0.0;
        var xtmp := 0.0;
        for var i := 0 to High(Arr) do
        begin // проходим по каждой точке
          var b := polinom(i, Length(Arr) - 1, t); // вычисляем наш полином Бернштейна
          xtmp := xtmp + Arr[i].X * b; // записываем и прибавляем результат
          ytmp := ytmp + Arr[i].Y * b;
        end;
        res[j] := TPointF.Create(xtmp, ytmp);
        Inc(j);
      end;
      Canvas.BeginScene;
      Canvas.Stroke.Kind := TBrushKind.Solid;
      Canvas.Stroke.Color := TAlphaColorRec.Red;
      for var i := 0 to High(res) - 1 do
      begin
        Canvas.DrawLine(res[i], res[i+1], 1); // Рисуем полученную кривую Безье
      end;
      Canvas.EndScene;
    end;


    637f99ead5c4a101937108.png
    под андроид
    637f9b25c8d6a912753313.jpeg
    Ответ написан
    5 комментариев
  • Почему Delphi выдаёт эту ошибку?

    OCTAGRAM
    @OCTAGRAM
    Список, у которого можно выйти за границу, я в коде вижу только один, chart1.SeriesList. Если это так, надо в дизайнере форм настроить chart1, чтоб было не меньше двух семейств точек
    Ответ написан
    1 комментарий
  • Почему Delphi выдаёт эту ошибку?

    HemulGM
    @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    Ты добавь серию данных через дизайнер (судя по всему две серии), а потом уже добавляй в них точки
    Ответ написан
    2 комментария
  • Что за способ форматирования использует этот код?

    @cheeroque
    Двойное подчёркивание в вордпрессе - это функция перевода.
    Ответ написан
    Комментировать
  • Что за способ форматирования использует этот код?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В PHP подчёркивание - допустимый символ в имени функции.
    __(...) - вызов функции.
    По остальным вопросам - RTFM: sprintf
    Ответ написан
    Комментировать
  • Как передать выбранные значения Checkbox в строку Input через запятую?

    miraage
    @miraage
    Старый прогер
    DEMO

    <!DOCTYPE html>
    <html>
    
      <head>
        <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
        <script src="script.js"></script>
      </head>
    
      <body>
        <div>
          <input type="text" id="text-input" />
        </div>
        <div>
          <div>
            <label>
              <input type="checkbox" class="my-checkbox" value="1" />
              First
            </label>
          </div>
          <div>
            <label>
              <input type="checkbox" class="my-checkbox" value="2" />
              Second
            </label>
          </div>
          <div>
            <label>
              <input type="checkbox" class="my-checkbox" value="3" />
              Third
            </label>
          </div>
        </div>
      </body>
    
    </html>


    jQuery(function($) {
      var $text = $('#text-input'),
          $box = $('.my-checkbox');
      
      $box.on('click change', function() {
        var values = [];
        
        $box.filter(':checked').each(function() {
          values.push(this.value);
        });
        
        $text.val(values.join(','));
      });
    });
    Ответ написан
    Комментировать
  • Как убрать лишние клики из работы скрипта?

    v3shin
    @v3shin
    Веб-шаман
    $(document).on('click', '.more_info', function() {
        $(this).parent().find('.product-details').toggleClass('visible');
    });

    Предполагается такой вид верстки:
    <tag>
        <tag class="more_info"></tag>
        <tag class="product-details"></tag>
    </tag>
    Ответ написан
    1 комментарий
  • Что это такое в решении предела (lim)?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Это они просто вынесли за скобки максимальную степень x отдельно в числителе и знаменателе.
    Ответ написан
    Комментировать
  • Что это такое в решении предела (lim)?

    Griboks
    @Griboks
    Этот приём называется деление полиномов. Только вот они забыли в скобки всю дробь убрать.
    Ответ написан
    1 комментарий
  • Как найти ошибку в коде PHP?

    smilingcheater
    @smilingcheater
    <a href="<?= $arItem['PROPERTIES']['LINK']['VALUE'] ?>" id="<span id=" title=" Код PHP: &lt;? $this-&gt;GetEditAreaId($arItem['ID']); ; ?&gt;"


    Весь вот этот блок со ссылкой отредактируйте и поправьте. От id= и дальше. Внутрь попали куски разметки визуального редактора битрикса.

    Скорее всего должно быть что-то типа
    <a href="<?= $arItem['PROPERTIES']['LINK']['VALUE'] ?>" 
       id="<?= $this->GetEditAreaId($arItem['ID']); ?>" 
       class="main-slider__item swiper-slide" 
       style="background-image: url();" 
       data-bx-app-ex-style="background-image: url(<?= $arFile['SRC'] ?> );">
        <div class="main-slider__content">
            <h1><?= $arItem['PROPERTIES']['CAPTION']['VALUE']; ?></h1>
            <?= $arItem['PREVIEW_TEXT']; ?>
        </div>
    </a>


    Вообще с битриксом очень хорошее правило - никогда не редактировать что-то, и имеющее в себе PHP-код, через визуальный редактор.
    Ответ написан
    2 комментария
  • Как вернуть страницу в Google?

    ReactorHeart
    @ReactorHeart
    SEO аналитик
    Верните старую версию, через неделю, две отследите динамику.
    Если будет положительная, не трогайте ничего, может подрасти, но как вам ранее ответили не факт, что до прежней позиции ТОПа.

    Если не займет ТОП-5 по ранее продвигаемым запросам, то делайте изменения поэтапно и отслеживайте динамику.
    Проанализируйте изменения, которые внесли (после которых страница выпала из ТОПа), может быть допустили переоптимизацию.
    Ответ написан
    1 комментарий
  • Как использовать foreach для формирования шорткодов?

    $shortcodes = [
    	'autostart' => 'autostart_info',
    	'block' => 'block_info',
    	'mycode' => 'mycode_handler'
    ];
    
    foreach ($shortcodes as $code => $callback) {
    	add_shortcode($code, $callback);
    }
    Ответ написан
    Комментировать
  • Как использовать foreach для формирования шорткодов?

    profesor08
    @profesor08
    Все равно придется все ручками написать.
    $codes = [
      [
        "name" => "autostart",
        "func" => "autostart_info",
        "cb" => function() {
          return "blabla";
        },
      ],
      [
        "name" => "autostart",
        "func" => "autostart_info",
        "cb" => function() {
          return "blabla";
        },
      ],
    ];
    
    foreach($codes as $code) {
      add_shortcode($code["name"], $code["func"]);
      $$code["func"] = $code["cb"];
    }
    Ответ написан
    2 комментария
  • Возможно ли выполнить php-код по клику на элемент?

    etrid
    @etrid
    <script>
    function go(param)
    {
      $.ajax({
          type: "POST",
          url:  "assets/php/ajax.php",
          data: "go=1&param="+param,
          success: function(html)
          {
            $("body").append(html);
          }
      });
    }
    </script>
    <b onclick="go()">Пример</b>
    Ответ написан
    1 комментарий