我正在处理一个表单,该表单允许用户向网站提交文本并将其保存为服务器上的文件,以后我可以检索。我使用以下表格:
<p>
<label for="Name">First Name</label>
<input type="text" name="Name" id="Name" />
</p>
<p>
<label for="Last Name">Last Name</label>
<input type="text" name="LastName" id="LastName" />
</p>
<p>
<label for="GuideName">Guide Name</label>
<input type="text" name="GuideName" id="GuideName" />
</p>
<p>Copy and paste your study guide into this box.</p>
<p>
<textarea name="Guide" id="Guide" cols="100" rows="30"></textarea>
</p>
<p>Submit
<input type="submit" name="Submit" id="Submit" value="Submit" />
</p>
</form>
以及以下PHP代码:
<?php
if (isset($_POST['Submit']))
{
$firstName = $_POST['Name'];
$lastName = $_POST['LastName'];
$guideName = $_POST['GuideName'];
$guide = $_POST['Guide'];
$finalGuideName = $guideName."(".$firstName." ".$lastName.").txt";
$fh = fopen($finalGuideName, 'w') or die("can't open file");
fwrite($fh, $guide);
fclose($fh);
}
?>
我过去使用过这段代码(至少我认为是这段代码)来获取用户的信息并在服务器上创建一个文本文件。但是,当我检查表单是否有效时,服务器上没有任何内容。我究竟做错了什么?提前谢谢。
感谢大家的帮助,因为我试图修复它,它又开始工作了。我完全不知道为什么,我很确定我没有改变任何东西,但再次感谢你的帮助。
答案 0 :(得分:1)
您的提交按钮名称为Submit2,因此请使用此代码
if (isset($_POST['Submit2']))
答案 1 :(得分:0)
您需要确保您正在写入的目录允许写入权限(更改为0755或0644 *)。此外,我不建议写入网站的ROOT,创建一个文件夹并更改权限。让任何人写根,不是一个好主意,哈哈
*感谢劳伦斯指出我的错误
答案 2 :(得分:0)
您是否尝试使用$ _REQUEST而不是_POST或_GET?
发现更多信息我认为你还应该为你的
添加其他信息if(isset($_POST['Submit'])) {
只是为了确保达到该声明。 并且作为最后的手段,检查路径及其权限,例如从0777开始,如果它工作正确到755或644(它取决于目录的拥有用户与apache用户的配置,它们应该是所有人都在同一组,但这是另一个故事)