时间:2010-07-26 18:14:55

标签: php

我有以下代码示例upload3.php:

<html>
<head>
<title>PHP Form Upload</title>
</head>
<body>

<form method='post' action='upload3.php' enctype='multipart/form-data'>
    Select a File:
    <input type='file' name='filename' size='10' />
    <input type='submit' value='Upload' />
</form>

<?php

if (isset($_POST['submit']))
{
    echo "isset submit";
}
else 
{
    echo "NOT isset submit";
}

?>

</body>
</html>

代码始终返回“NOT isset submit”。 为什么会这样?因为相同的脚本upload3.php调用自己?

5 个答案:

答案 0 :(得分:33)

答案 1 :(得分:4)

两件事:

使用数组时,您需要尝试使用array_key_exists而不是isset。在数组元素上使用isset时,PHP可能会有一些简单的行为。

http://www.php.net/manual/en/function.array-key-exists.php

if(array_key_exists('submit',$ _POST)){}

其次,您需要在按钮上使用name属性(“name ='submit'”)

答案 2 :(得分:3)

答案 3 :(得分:2)

答案 4 :(得分:0)

<input type='submit' value='Upload' />

应该是

<input type='submit' value='Upload' name='subname'/>

该子名称应位于$ _POST ['']

它看起来像

if (isset($_POST['subname']))
{
    echo "isset submit";
}
else 
{
    echo "NOT isset submit";
}