2014-02-26 112 views
0

感谢您的帮助。 程序的对象。
file.php有一个窗体和下面的代码。 names.txt是将填充文本字段中输入的名称以及用户单击提交时的文件。php fopen()不会创建文件

一个人将他们的名字输入到表单域并点击提交。 将名称输入到名为names.txt的文件中

问题。该file.php程序的作品。
窗体显示在浏览器中,并在浏览器中显示测试“回声”。 但是,即使我在文本框中输入 的名称并单击提交,names.txt字段中也没有任何数据。

file.php 
if (isset($_POST['name'])) { 

    $name = $_POST['name']; 
    if (!empty($name)) { 
     //echo 'okay'; 

     $handle = fopen('names.txt', 'w'); 
     fwrite($handle, $'alex'); 
     fwrite($handle, $'kyle'); 
     fclose($handle); 

    }else{ 
     echo 'please type a name'; 

?> 

<form input type ="text" name ="file.php" method ="POST" > 
    Name: <br><input type ="text" name ="name"><br><br> 
    <input type="submit" name ="submit" value ="Submit"> 
</form> 

回答

1

$'alex' 

并不意味着 “在它的名字亚历克斯变量”。如果你想写字符串'alex',你需要。

fwrite($handle, 'alex'); 
+0

对不起 - 我一直在这一整天。错字。你们三人立即回应并表示感谢。你能否在我的文件结构中用问号图标阅读这个问题。我认为这与它有关。谢谢 – iHaveAQuestion

1

变量$'alex'$'kyle'不存在。试试这个:

$handle = fopen('names.txt', 'w'); 
fwrite($handle, $name . "\n"); 
fclose($handle); 
+0

谢谢山姆。我通过代码修改了上述内容。当我输入localhost/phpWithAlex/names.txt时仍然没有输出。你有没有看到我对我的文件结构发生的奇怪事情的评论。许多小时试图找出什么可能是一个简单的修复,但我是新来的PHP,虽然不编程等 – iHaveAQuestion

1

您是有几个问题在这里,你打开以模式w使用FOPEN文件,这基本上将打开写入模式文件,在文件的开头,然后截断放置一个指针ifile。

你应该使用使用a+,这将打开文件,如果需要创建它,并将指针放在文件的末尾。

下一个大问题是使用以下行

fwrite($handle, $'alex'); 
fwrite($handle, $'kyle'); 

通过你的描述你的,你应该使用

fwrite($handle, $name); 

另一个小问题是同时使用isset和空你的,你可以只使用空因为那样做内部isset检查以及

请尝试以下内容:

if (!empty($_POST['name'])) 
{ 
    $handle = fopen('names.txt', 'a+'); 
    fwrite($handle, $_POST['name']); 
    fclose($handle); 
} 
else 
{ 
    echo 'please type a name'; 
    ?> 
    <form input type ="text" name ="file.php" method ="POST" > 
     Name: <br><input type ="text" name ="name"><br><br> 
     <input type="submit" name ="submit" value ="Submit"> 
    </form> 
+0

谢谢罗伯特。我现在要修改代码。你有道理。有没有办法添加屏幕截图?不知何故,当我在编写这段代码时,我认为是一个相当严重的问题。在URL:localhost /我现在有一个4个文件夹的目录树。其中一个名为phpWithAlex的地方,我保存了我所有的练习程序代码。当我点击phpWithAlex(其中file.php和names.txt所在的位置)时,所有文件夹的左边都有一个问号标记。 :( – iHaveAQuestion

+0

你在运行Linux? – RobertPitt

+0

我希望我是。在Macbookpro上使用终端(unix命令)。安装了apache phpMyAdmin和mySQL。看在http.conf文件等我是一名程序员,但我只是现在学习PHP。我重新启动了Apache,但没有解决问题。 – iHaveAQuestion