欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 返回值获取问题

程序员文章站 2024-01-19 11:41:04
...




$yjj=key($_GET);
$Logi = file("./data/list.txt", FILE_IGNORE_NEW_LINES);
foreach( $Logi as $Key => $Val ){
list($num, $title) = explode ( "|" , $Val );
if($title==$yjj)
{
$Comment = $_POST['txt'] ;
$filename ="Item".($num).'.txt';
$file=fopen('./data/comments/'.$filename, 'a');
fwrite($file, $Comment);
fclose($file);
}
}
?>

$yjj=key($_GET)是上张页面返回的值,我想在这个页面设置一个文本框,获取输入的内容为$Comment = $_POST['txt'],但是多次尝试不成功,都获取不到值,求指教


回复讨论(解决方案)

把 if($title==$yjj)的判断先去掉看看。 估计是这里的判断有问题,根本就没进到if中去。 第二点, 注意文件夹的写入权限。

method="post" 双引号。

逐个地方打印一下试试

把 if($title==$yjj)的判断先去掉看看。 估计是这里的判断有问题,根本就没进到if中去。 第二点, 注意文件夹的写入权限。

method="post" 双引号。
能创建txt,txt的名字中的num也是对的,就是全是空的文本,不知道怎么回事

你先直接把$Comment打印出来看看 echo $Comment。 fclose之前加个fflush($file);

逐个地方打印一下试试
貌似这句话有问题
$Comment = $_POST['txt'] ;
因为如果我换成$Comment =“yyyyyyy”之类的就对了

你先直接把$Comment打印出来看看 echo $Comment。 fclose之前加个fflush($file);
如果放在if里面,打印出来是空的。。。要放在if外面,但是判断条件能用啊

print_r($_POST);

贴出的代码就是 comment01.php 的内容吧?
如果是,那么就产生了矛盾
1、$yjj=key($_GET); 是为了取得你另一帖子中的 get 方式提交的参数
而你这里的代码并没有产生 get 方式的参数
于是 $yjj=key($_GET); 只在第一次进入时才会有值。
而你的操作是在 if($title==$yjj) 成立时进行的,所以只要不是第一次进入都不可能进行
2、当第一次进入时,由于是get方式,所以$Comment = $_POST['txt'];为空,虽然执行了写文件,但写入的是空值
当填写了表单提交后,就进入了 1 的状态,并不会执行写文件

贴出的代码就是 comment01.php 的内容吧?
如果是,那么就产生了矛盾
1、$yjj=key($_GET); 是为了取得你另一帖子中的 get 方式提交的参数
而你这里的代码并没有产生 get 方式的参数
于是 $yjj=key($_GET); 只在第一次进入时才会有值。
而你的操作是在 if($title==$yjj) 成立时进行的,所以只要不是第一……
斑竹说得对,我其实一直想把$yjj=key($_GET)和$Comment = $_POST['txt']分开,但不知道怎么做,如果再做一张页面,怎么做到$yjj和$Comment2个值同时返回

把 $yjj 的值放到表单里一起提交

把 $yjj 的值放到表单里一起提交
$Logi = file("./data/list.txt", FILE_IGNORE_NEW_LINES);
foreach( $Logi as $Key => $Val ){
list($num, $title) = explode ( "|" , $Val );
if($num){
echo $title;
?>




}
}
?>
斑竹,这是我的前一张页面,到底怎么样才能同时获取按钮的返回值和表单的返回值,或者再加张页面也行,我想很久了,新手就是悲哀啊

上一篇: php 上传文件显示进度条

下一篇: