为了账号安全,请及时绑定邮箱和手机立即绑定

通过 php 将帖子数据保存到文件中

通过 php 将帖子数据保存到文件中

PHP
摇曳的蔷薇 2023-06-24 17:19:32
我正在使用一个简单的 HTML 表单以这种格式发送 http post 请求:key1=value1&key2=value2&key3=value3&key4=value4&key5=value5并且我正在尝试使用PHP将 http post 数据保存到文本文件中这是我想出的PHP代码:$data1 = $_POST['key1'] ;$data2 =$_POST['key2'] ;$data3 =$_POST['key3'] ;$data4 =$_POST['key4'];$data5 =$_POST['key5'];$fp = fopen('data.txt', 'a');fwrite($fp, $_POST['data1'], $_POST['data2'], $_POST['data3'], $_POST['data4'], $_POST['data5']);fclose($fp);但它只创建文件“data.txt”,而不将任何值添加到文本文件中我究竟做错了什么?
查看完整描述

2 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

$_GET即使请求方法是 POST,也应使用 来访问查询字符串参数。


此外,请求中不存在索引data1、data2、data3、data4、 和。data5


fwrite最多接受 3 个参数。


最终代码应该是这样的:


<?php


$data1 = $_REQUEST['key1'];

$data2 = $_REQUEST['key2'];

$data3 = $_REQUEST['key3'];

$data4 = $_REQUEST['key4'];

$data5 = $_REQUEST['key5'];

$fp = fopen('data.txt', 'a');

fwrite($fp, implode("\n", [$data1, $data2, $data3, $data4, $data5]));

fclose($fp);


查看完整回答
反对 回复 2023-06-24
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

改变


fwrite($fp, $_POST['data1'], $_POST['data2'], $_POST['data3'], $_POST['data4'], $_POST['data5']);


fwrite($fp, "$data1,$data2,$data3,$data4,$data5");

您定义的所有这些“数据”变量都是个体,它们不是 $_POST 数组的一部分。


fwrite 需要单个数据字符串而不是一组单独的数据,因此您需要将它们连接在一起。我在它们之间放置了逗号,这样您就有机会区分它们,但显然您可以更改它以满足您的要求。文档: https: //www.php.net/manual/en/function.fwrite.php


PS 如果您的变量是在 URL 查询字符串(而不是请求正文)中发送的,那么您需要使用 $_GET 来检索它们,如下所示:


$data1 = $_GET['key1'];

$data2 = $_GET['key2'];

$data3 = $_GET['key3'];

$data4 = $_GET['key4'];

$data5 = $_GET['key5'];


查看完整回答
反对 回复 2023-06-24
  • 2 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信