看看这段代码
<?
require_once("conn.php");
require_once("includes.php");
require_once("access.php");
if(isset($_POST[s1]))
{
//manage files
if(!empty($_FILES[images]))
{
while(list($key,$value) = each($_FILES[images][name]))
{
if(!empty($value))
{
$NewImageName = $t."_".$value;
copy($_FILES[images][tmp_name][$key], "images/".$NewImageName);
$MyImages[] = $NewImageName;
}
}
if(!empty($MyImages))
{
$ImageStr = implode("|", $MyImages);
}
}
$q1 = "insert into class_catalog set
MemberID = '$_SESSION[MemberID]',
CategoryID = '$_POST[CategoryID]',
Description = '$_POST[Description]',
images = '$ImageStr',
DatePosted = '$t',
DateExp = '$_SESSION[AccountExpDate]',
FeaturedStatus = '$_POST[sp]' ";
//echo $q1;
mysql_query($q1) or die(mysql_error());
}
//get the posted offers
$q1 = "select count(*) from class_catalog where MemberID = '$_SESSION[MemberID]' ";
$r1 = mysql_query($q1) or die(mysql_error());
$a1 = mysql_fetch_array($r1);
header("location:AddAsset.php");
exit();
?>
mySql插入函数没有添加任何东西,它也会向我返回成功,我尝试过使用INSERT ...值但它所做的是过重的现有值(即每次输入1个条目并将其覆盖)。
我使用的是PHP 4.4.9和MySql 4
我试图从Phpmyadmin添加,它也正在工作,它在安装后工作,但在我退出浏览器并创建一个新帐户进行测试后,它不起作用,但旧的工作正常!你可以在这里看到它http://bemidjiclassifieds.com/ 尝试使用usr登录:openbook pass:mohamed24你可以看到它会正常工作,但任何新帐户都无法使用!
答案 0 :(得分:0)
可能没有设置$ _POST [s1],或者您插入的数据库与您正在观看的数据库不同。
答案 1 :(得分:0)
if(isset($_POST[s1]))
应该是
if(isset($_POST['s1']))
(注意引号)。此外,最好不要依赖提交数据中存在的字段来检查您是否正在执行POSt。
是100%可靠的方法if ($_SERVER['REQUEST_METHOD'] == 'POST') { ... }
同样,您不会检查文件上传是否成功。应该像这样检查每个文件:
foreach($_FILES['images']['name'] as $key => $name) {
if ($_FILES['images']['error'][$key] !== UPLOAD_ERR_OK) {
echo "File #$key failed to upload, error code {$_FILES['images']['error'][$key]}";
}
...
}
请勿使用copy()
移动上传的文件。有一个move_uploaded_files()
函数,它会进行一些额外的健全性检查,以确保在上传完成和脚本试图移动它之间没有任何文件被篡改。