2012-06-22 106 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>