PHP не запускается при отправке формы при использовании свойства Action - PullRequest
0 голосов
/ 11 ноября 2011

Я забрал сайт у другого разработчика и вообще не понимаю, почему он работает, когда у нас есть страница https://site.com/form.php

  <form method="POST" name="myform" enctype="multipart/form-data">
    ...
    </form>

и как только я добавлю action="form.php" или action="https://site.com/form.php", он перестанет работать после отправки. Он не выдает ошибку, но он должен пройти через несколько функций, и это не так. Может быть, потому что он высасывает значение из адресной строки в своей функции, мне нужно посмотреть, но есть ли другой способ, почему это может произойти? Первоначально это был не HTTPS, а HTTP, это может иметь какой-либо эффект, теперь я использую mod_rewrite, чтобы изменить его на HTTPS ...

Это единственный код на странице, где отправляется форма, которая на самом деле что-то обрабатывает, можете ли вы объяснить, почему она перестает работать, если я укажу action = property в форме?!

    require_once "pdf.php";
       $obj=new common();

    if($_POST['Submit'])
    {
        switch($type)
        {
          case "docx":
           $obj->docx_pdf();
          break;
          case "doc":
           $obj->doc_pdf();
          break;
          case "jpg":
           $obj->image_pdf();
          break;    
        }
    }

   if(($_POST['PDF']) || ($_POST['PDFYES']))
   //$obj->generate_pdf();
        $obj->over_all();

   if($_POST['Delete'])
        $obj->delete_files($_POST);

   $obj->get_pdf_file();
   $obj->display_all();
   $objSmarty->display("form.tpl");

1 Ответ

0 голосов
/ 11 ноября 2011

Я подозреваю, что форма была отправлена ​​с использованием некоторого JavaScript. Таким образом, для некоторого элемента определено onclick, и при нажатии на него форма отправляется Это объясняет, почему атрибут action не был определен в первую очередь, а атрибут name был.

...