Запуск PHP-файла при нажатии кнопки - PullRequest
5 голосов
/ 18 декабря 2011

Интересно, может ли кто-нибудь помочь мне, пожалуйста.

Я просматривал это и многие другие сайты и учебные пособия, чтобы узнать, как добавить кнопку в форму, которая открывает файл PHP, вв этом случае - всплывающая форма, которая позволяет пользователю загрузить файл в базу данных mySQL.

В дополнение к открытию файла я хотел бы перенести значение поля 'id' из поляОсновная форма для всплывающей формы «Загрузка файла».

Из проведенного мной исследования, кажется, есть несколько способов сделать это, но с точки зрения начинающих, я не уверен, что этолучший способ сделать это.

Может быть, кто-нибудь, возможно, посоветуете, как лучше всего это сделать.

Большое спасибо и наилучшие пожелания

Ответы [ 2 ]

3 голосов
/ 18 декабря 2011

Чтобы передать значения между страницами:

Основная форма:

<form action="myuploadform.php" method="get">
ID: <input type="text" name="id">
<input type="submit" value="Open Form">
</form>

Значение текстового поля ID будет доступно как $_GET['id'] в myuploadform.php.

Использование GET параметров - это самый простой способ передачи значений.Другой способ передать это значение GET будет в URL:

.../myuploadform.php?id=35, где идентификатор становится 35.

0 голосов
/ 18 декабря 2011

Вот пример с моего сайта.Все, что он делает, это позволяет загружать файлы на сервер.Он должен служить учебным пособием.

<html>
<head>
<script type="text/javascript">
var form_object = null;
var button_object = null;

function submit_form(obj)
         {
         form_object = obj.parentNode;
         form_object.submit();
         form_object.disabled = true;

         button_object = obj;
         button_object.disabled = true;
         }

function enable_form()
         {
         form_object.disabled = false;
         button_object.disabled = false;
         }

function Add_HTML(html)
         {
         if(navigator.appName == 'Microsoft Internet Explorer')
           {
           document.body.insertAdjacentHTML('beforeEnd', html);
           }

           //Firefox uses the Netscape engine (the Netscape version that really sucked)
           if(navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 5)
             {
             var freaky_object = document.createRange();
             freaky_object.setStartBefore(document.body);
             html = freaky_object.createContextualFragment(html);
             document.body.appendChild(html);
             }
         }
</script>
</head>

<body>

    <form action="upload.php" method="post" enctype="multipart/form-data" target="upload">
          <label>File:</label> <input type="file" name="file" />
          <br />
          <label>File:</label> <input type="file" name="swntic" />
          <br />
          <input type="button" value="SUBMIT"
                 onclick="submit_form(this);" />
    </form>

    <iframe src="about:blank" style="display:none;" id="upload" name="upload"></iframe>

</body>
</html>

код на стороне сервера:

<?
$confirmation = "";

while(list($name) = each($HTTP_POST_FILES)) {
?>

<? if(is_uploaded_file($HTTP_POST_FILES[$name]["tmp_name"])) { ?>
<?= $HTTP_POST_FILES[$name]["name"] ?>
<br />
<?= $HTTP_POST_FILES[$name]["type"] ?>
<br />
<?= $HTTP_POST_FILES[$name]["tmp_name"] ?>
<br />
<?= $HTTP_POST_FILES[$name]["error"] ?>
<br />
<?= $HTTP_POST_FILES[$name]["size"] ?>
<br /><br />
<? } ?>

<?
if(is_uploaded_file($HTTP_POST_FILES[$name]["tmp_name"]))
  {
  move_uploaded_file($HTTP_POST_FILES[$name]["tmp_name"], "./uploads/" . $HTTP_POST_FILES[$name]["name"]);
  chmod("./uploads/" . $HTTP_POST_FILES[$name]["name"], 0644);

  $confirmation .= "<a href=\"./uploads/" . $HTTP_POST_FILES[$name]["name"] . "\">" .
                   $HTTP_POST_FILES[$name]["tmp_name"] . "</a> " . $HTTP_POST_FILES[$name]["type"] . ", " . $HTTP_POST_FILES[$name]["size"] . " bytes<br />";
  }
}
?>

<html>

<script>
var confirmation = '<?= $confirmation ?>';
</script>

<body onload="parent.enable_form(); parent.Add_HTML(confirmation);">
</body>
</html>

Он не идеален, но может использоваться в качестве учебного пособия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...