2011-12-18 60 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