Интересно, может ли кто-нибудь помочь мне.
Я просматривал это и многие другие сайты и руководства, чтобы узнать, как добавить кнопку в форму, которая открывает файл PHP, в данном случае всплывающую форму, которая позволяет пользователю загружать файл в mySQL база данных.
В дополнение к открытию файла я хотел бы передать значение поля «id» из основной формы в форму «Загрузка файлов».
Из исследования, которое я провел, похоже, существует несколько способов сделать это, но с точки зрения новичков я не уверен, что это лучший способ сделать это.
Может ли кто-нибудь, возможно, проконсультироваться с тем, что лучше всего подходит для этого.
Большое спасибо и добрые пожелания
Чтобы передать значения между страницами:
Основная форма:
<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.
Вот пример с моего сайта. Все это позволяет загружать файлы на сервер. Он должен служить учебным пособием.
<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>
Это не идеально, но может использоваться как инструмент обучения.