>백엔드 개발 >PHP 튜토리얼 >PHP 返回值获取问题

PHP 返回值获取问题

WBOY
WBOY원래의
2016-06-23 14:05:13973검색





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

 
  

" />


  

}
 }
?>
斑竹,这是我的前一张页面,到底怎么样才能同时获取按钮的返回值和表单的返回值,或者再加张页面也行,我想很久了,新手就是悲哀啊
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.