0

我对 PHP 很陌生,所以这个问题看起来很简单。我有一个带有以下属性的输入的 html 文件:

<td width="30%">
<input type="text" id="prog1" name="prog1" style="width:150px">
</td>

我必须在我的服务器上创建一个新文件夹,该文件夹位于另一个名为wars已存在的文件夹中。新文件夹的名称存储在该输入中。例如,如果输入的文本是“home”,我的 PHP 脚本将在此处创建一个文件夹:wars/home.

<?
$val = $_REQUEST['prog2'];
mkdir("/wars/".$val, 0777);
?>

这是我的代码,但它不起作用,因为在主文件夹wars中我找不到home. 你有什么建议吗?

4

2 回答 2

2

主要问题是一个错字:

$val = $_REQUEST['prog2'];

你的表格只有<input name="prog1" .... 但是,您还必须认真考虑清理变量:

$val = $_REQUEST['prog1'];
// only allow alphabetical characters
if (preg_match('/^[a-z]+$/', $val)) {
    mkdir("/wars/$val", 0777);
}

最后,考虑使用$_POST而不是,$_REQUEST除非您永远不知道变量将来自何处。

于 2013-07-01T23:32:46.390 回答
1

尝试:

<?php
$val = $_POST['prog1'];
mkdir("/wars/".$val, 0777);
?>

注意错误的输入prog1 !== prog2属性,也学习做一些简单的调试,比如:

<?php echo '<pre>'.print_r($_POST,true).'</pre>'; ?>

还可以在开发中启用错误报告。

<?php error_reporting(E_ALL); ?>
于 2013-07-01T23:24:47.060 回答