日期:2014-05-17  浏览次数:20609 次

PHP 返回值获取问题
<form action="comment01.php" method='post'>
<p align="center"><textarea name="txt" rows="10" cols="40"></textarea></p>
<p align="center"><input type="submit" value="Submit" /></p>
</form>
<?php
$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'],但是多次尝试不成功,都获取不到值,求指教
PHP

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