2011-12-18 13 views
4

誰かが私を助けてくれるかどうか疑問に思います。ボタンをクリックしてPHPファイルを実行する

私はこれをはじめ、多くの他のサイトやチュートリアルで、PHPファイルを開くフォームにボタンを追加する方法を調べました。この場合はポップアップフォームを使用して、ユーザーがファイルをmySQLデータベースにコピーします。

ファイルのオープンに加えて、メインフォームの「id」フィールドの値をポップアップ「ファイルアップロード」フォームに持ち越したいと思います。

私が行った研究から、これを行う方法はいくつかあるようですが、初心者の観点からは、これを行う最良の方法は何か分かりません。

おそらく誰かがこれについての最良の方法を教えてください。

多くのおかげさまで、ありがとうございます。

+0

なり

.../myuploadform.php?id=35は本当に初心者の領土ではありません。私は地元のWAMPサーバーをセットアップし、チュートリアルを経て最初にオフラインで学ぶことをお勧めします。 –

+0

「ポップアップ」と言うときは、新しいブラウザウィンドウ(タイトルバーなど)やライトボックスエフェクトを意味しますか? – FakeRainBrigand

+0

こんにちは、はい、ライトボックスのエフェクトではなく、新しいブラウザウィンドウです。よろしく。 – IRHM

答えて

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パラメータを使用すると、値を渡す最も簡単な方法です。もう一つの方法は、URLにあるであろうこのGET値で渡す:IDはその後、非同期アップロードの設定35

+0

これは大変感謝しています。敬具 – IRHM

-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

関連する問題