我有以下代码示例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调用自己?
答案 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";
}