2013-02-23 27 views
0

我尝试了下面的代码,我无法弄清楚我做错了什么。我知道我通过将表格分散到两个不同的div中来打破规则,但我不知道其他任何方式。尝试将表单中单选按钮的值发送到php变量。

<?php 
echo '<form name="form" method="POST">'; 
$directory = '/var/www/admin/html/content'; 
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)); 
echo 'Files<br>'; 
while($it->valid()) { 
    if(!$it->isDot()) { 
     echo '<input type="radio" name="file_picked" value="content/' . $it->getSubPathName() . ' " id="file_picked" />' . $it->getSubPathName() . '</br>'; 
    } 
    $it->next(); 
} 

echo '<input type="submit" name="pickedName" value="Edit File" /></div> 
<div class="editor"> 
<h1>SS Code Editor</h1>'; 

$file_picked = $_POST['file_picked']; 
$edit_field = $_POST['edit_field']; 

if(isset($_POST['pickedName'])) { 
    //get file contents and display in textarea box 
    $theData = file_get_contents($file_picked); 
    echo "<textarea name=\"edit_field\" id=\"edit_field\" cols=\"100\" rows=\"60\">"; 
    echo $theData; 
    echo "</textarea><br />"; 
} 

if(isset($_POST['submitChanges'])) { 
    //grab new textarea contents and put into file. 
    $theData = file_put_contents($file_picked, $edit_field); 

    //redraw textarea with new contents 
    $theData = file_get_contents($file_picked); 
    echo "<textarea name=\"edit_field\" id=\"edit_field\" cols=\"100\" rows=\"60\">"; 
    echo $theData; 
    echo "</textarea><br />"; 
} 
?> 
<input type="submit" name="submitChanges" value="Save"> 
</form> 

回答

0

你的价值应该被存放在$ _ POST [ 'file_picked']

1

你必须在该复选框输入值的末尾一个额外的空间:

替换:

value="content/' . $it->getSubPathName() . ' " id="...

附:

value="content/' . $it->getSubPathName() . '" id="...

因此,file_get_contents($ file_picked = $ _POST ['file_picked']))没有找到任何文件(最后有空格)并返回false,在textarea中显示为“”。

相关问题