从PHP文件读取和写入有问题
我要做的是首先生成一个动态下拉框,其中显示页面名称 然后我想做的是,根据下拉列表中选择的文件,将该文件加载到文本框中,然后在提交更改时,新文件将包含文本框中的新文本 这就是我尝试过的:从PHP文件读取和写入有问题,php,html,mysql,Php,Html,Mysql,我要做的是首先生成一个动态下拉框,其中显示页面名称 然后我想做的是,根据下拉列表中选择的文件,将该文件加载到文本框中,然后在提交更改时,新文件将包含文本框中的新文本 这就是我尝试过的: <select name="page_name"> <?php include_once('lib/sql.php'); $sq
<select name="page_name">
<?php
include_once('lib/sql.php');
$sql = new sql();
$mysqli = new mysqli(blah);
/*$arr = array(
'cust_id' => "{$_SESSION['cust_id']}"
);
$query = $sql->select_query("code",$arr);
*/
$query = "SELECT * FROM code";
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
//var_dump($row['pagename']);
?>
<option name="<?php echo $row['pagename']; ?>" > <?php echo $row['pagename']; ?> </option>
<?php
}
?>
</select>
</td>
<tr/>
<tr>
<td>
<input type="submit" name="edit_page" Value="Select Page">
</td>
</tr>
<tr>
<td>PHP/HTML CODE:</td>
<td>
<?php
if(isset($_POST['page_name']) && $_POST['page_name'] != '' && isset($_POST['edit_page'])){
$_POST['page_name'] = $_SESSION['pgname'];
var_dump($_POST['page_name']);
//die();
if(isset($_POST['editcode']) && isset($_POST['commit_changes']))
{
file_put_contents("{$_SESSION['pgname']}","{$_POST['editcode']}");
header("Location: ".$_SERVER['PHP_SELF']);
//exit;
}
$text = file_get_contents("{$_SESSION['pgname']}");
echo " <textarea id='textarea_2' name='editcode' cols='90' rows='20'>";echo trim($text);echo "</textarea>";
?>
</td>
PHP/HTML代码:
编辑:
检查服务器上目标文件夹的权限
您必须具有用户在服务器上的写入权限才能写入文件。我们应该如何运行您的代码?发布您得到的错误。当i var_dump($_Post['page_name'])时,仍然以NULL响应;,是的,我熟悉$mysqli=newmysqli(废话);我正忙着编辑我的帖子,等等。这仍然不起作用,我收到了一些错误,比如未定义的索引:pgname和PHP警告:file\u get\u contents():Filename不能为空感谢您的帮助,因为您在“name”中输入了一个页面名。这就是它不起作用的原因。
<form method="post" action="subForm.php">
<table>
<tr>
<select name="page_name">
<?php
include_once('lib/sql.php');
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT * FROM code";
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) { ?>
<option
name="page_name"
value="<?php echo $row['pagename']; ?>"
>
<?php echo $row['pagename']; ?>
</option>
<?php } ?>
</select>
</td>
<tr/>
<tr>
<td>
<input type="submit" name="edit_page" Value="Select Page">
</td>
</tr>
</table>
</form>
<?php //here your other PHP code or to external file ?>
<table>
<tr>
<td>PHP CODE:</td>
</tr>
<tr>
<td>
<?php
if(isset($_POST['page_name']) && $_POST['page_name'] != '' && isset($_POST['edit_page'])) {
$_POST['page_name'] = $_SESSION['pgname'];
var_dump($_POST['page_name']);
if(isset($_POST['editcode']) && isset($_POST['commit_changes'])) {
file_put_contents("{$_SESSION['pgname']}","{$_POST['editcode']}"); // I dont know if this right, but ok.
header("Location: ".$_SERVER['PHP_SELF']);
//exit;
}
$text = file_get_contents("{$_SESSION['pgname']}");
echo " <textarea id='textarea_2' name='editcode' cols='90' rows='20'>";
echo trim($text);
echo "</textarea>"; ?>
</td>
</tr>
</table>