2011-12-18 59 views
4

我不知道是否有人能幫助我請。運行PHP文件在按鈕單擊

我一直在瀏覽這個以及許多其他網站和教程,以瞭解如何將按鈕添加到打開PHP文件的窗體,在這種情況下,彈出窗體允許用戶上傳文件到一個mySQL數據庫。

除了打開文件,我想從主窗體彈出「文件上傳」的形式延續了「ID」字段的值。

從我那裏進行的研究似乎是許多方法可以做到這一點,但是從初學者的角度來看,我不知道什麼是做到這一點的最好辦法。

可能有人也許請對什麼是去了解這一點的最好辦法提出建議。

許多的感謝和親切的問候

+0

設置異步上傳是不是真的初學者領土。我建議設置一個本地WAMP服務器,並通過教程,並首先離線學習。 – 2011-12-18 16:08:55

+0

當你說「彈出」你的意思是一個新的瀏覽器窗口(與它自己的標題欄等)或燈箱效果? – FakeRainBrigand 2011-12-18 16:10:05

+0

嗨,是的,這是一個新的瀏覽器窗口,而不是燈箱效果。種類問候。 – IRHM 2011-12-18 16:13:29

回答

3

在網頁之間傳送的值:

主要形式:

<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

+0

非常感謝。親切的問候 – IRHM 2011-12-18 16:36:41

-1

下面是從我的網站樣本。它所做的只是允許將文件上傳到服務器。它應該作爲教程。

<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> 

它並不完美,但可以作爲一種學習工具。

+1

弗蘭克,你真好。真誠的感謝。親切的問候。 – IRHM 2011-12-18 16:26:32