2012-06-22 122 views
1

當我單擊該按鈕時,文本框中的文本應該寫入.txt文件,然後應該下載該文件。不知怎的,isset功能不起作用,我已經嘗試鏈接php文件與<form>,但我不能閱讀文本框文本。獲取文本框文本

這裏是我的代碼:

<?PHP 

if(isset($_POST['submit'])) 
{ 
    $text = $_POST['text']; 
    print ($text); 

    $filename = 'test.txt'; 
    $string = $text; 

    $fp = fopen($filename, "w"); 
    fwrite($fp, $string); 
    fclose($fp); 

    header('Content-disposition: attachment; filename=test.txt'); 
    header('Content-type: application/txt'); 
    readfile('test.txt'); 
} 

?> 

<html> 
    <head> 
     <title>Text Editor</title> 
    </head> 
    <body> 
     <textarea name="text" rows="20" cols="100"></textarea> 
     <p> 
     <button type="submit" value="submit">Download Text</button> 
    </body> 
</html> 

回答

3

首先,你需要有一個<form>標籤可以提交您的數據:

<body> 
<form action="add your php filename here" method="post"> 

... 

</form> 
</body> 

您可能還需要使你的<button type="submit"<input type="submit"

+0

+1就是這樣! :) – Havelock

+0

謝謝!我之前已經嘗試過

標記,但沒有方法發佈,它就起作用了! – xoxox

0

您還沒有加入HTML表單標籤。

0

在當前的HTML,你需要一個<form>標記。

試着閱讀關於這個here.

+2

爲什麼你不能在表單的同一個文件中使用PHP,如果它發回給自己? – andrewsi

+0

這是完全可能的,我錯了。你能提供一個鏈接嗎? – SomeKittens

+1

您可以指定任何文件作爲操作 - 事實上,將其保留爲默認使用相同的文件。如果你的表單是一個普通的HTML文件,我認爲唯一一次你會遇到問題。 – andrewsi

1

添加一個表單標籤,併發送回同一頁面如果PHP文件是同一個文件中。

<?php 

if(isset($_POST['submit'])) 
{ 
    $text = $_POST['text']; 
    print ($text); 

    $filename = 'test.txt'; 
    $string = $text; 

    $fp = fopen($filename, "w"); 
    fwrite($fp, $string); 
    fclose($fp); 

    header('Content-disposition: attachment; filename=test.txt'); 
    header('Content-type: application/txt'); 
    readfile('test.txt'); 
}?> 

<html> 
<head> 
    <title>Text Editor</title> 
</head> 
<body> 
    <form method="post"> 
    <textarea name="text" rows="20" cols="100"></textarea><p> 
    <input type="submit" value="submit">Download Text</button> 
</form> 
</body> 
</html>