当前位置:Gxlcms > PHP教程 > PHP返回值获取问题

PHP返回值获取问题

时间:2021-07-01 10:21:17 帮助过:22人阅读


$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;
?>

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

人气教程排行