我不知道是否有人能幫助我請。運行PHP文件在按鈕單擊
我一直在瀏覽這個以及許多其他網站和教程,以瞭解如何將按鈕添加到打開PHP文件的窗體,在這種情況下,彈出窗體允許用戶上傳文件到一個mySQL數據庫。
除了打開文件,我想從主窗體彈出「文件上傳」的形式延續了「ID」字段的值。
從我那裏進行的研究似乎是許多方法可以做到這一點,但是從初學者的角度來看,我不知道什麼是做到這一點的最好辦法。
可能有人也許請對什麼是去了解這一點的最好辦法提出建議。
許多的感謝和親切的問候
我不知道是否有人能幫助我請。運行PHP文件在按鈕單擊
我一直在瀏覽這個以及許多其他網站和教程,以瞭解如何將按鈕添加到打開PHP文件的窗體,在這種情況下,彈出窗體允許用戶上傳文件到一個mySQL數據庫。
除了打開文件,我想從主窗體彈出「文件上傳」的形式延續了「ID」字段的值。
從我那裏進行的研究似乎是許多方法可以做到這一點,但是從初學者的角度來看,我不知道什麼是做到這一點的最好辦法。
可能有人也許請對什麼是去了解這一點的最好辦法提出建議。
許多的感謝和親切的問候
在網頁之間傳送的值:
主要形式:
<form action="myuploadform.php" method="get">
ID: <input type="text" name="id">
<input type="submit" value="Open Form">
</form>
ID文本框的值將是可訪問的,如myuploadform.php
$_GET['id']
。
使用GET
參數是值傳遞的最簡單的方法。另一種方式在這個GET
值傳遞將在URL:
.../myuploadform.php?id=35
其中ID就變成了35
非常感謝。親切的問候 – IRHM 2011-12-18 16:36:41
下面是從我的網站樣本。它所做的只是允許將文件上傳到服務器。它應該作爲教程。
<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>
它並不完美,但可以作爲一種學習工具。
弗蘭克,你真好。真誠的感謝。親切的問候。 – IRHM 2011-12-18 16:26:32
設置異步上傳是不是真的初學者領土。我建議設置一個本地WAMP服務器,並通過教程,並首先離線學習。 – 2011-12-18 16:08:55
當你說「彈出」你的意思是一個新的瀏覽器窗口(與它自己的標題欄等)或燈箱效果? – FakeRainBrigand 2011-12-18 16:10:05
嗨,是的,這是一個新的瀏覽器窗口,而不是燈箱效果。種類問候。 – IRHM 2011-12-18 16:13:29