看看这段代码
<?
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个条目并每次覆盖它)。
我使用的是PHP4.4.9和MySql 4
我试图从Phpmyadmin添加,它也是工作的安装后,但当我退出浏览器,并建立一个新的帐户来测试它,它不工作,但旧的工作!
发布于 2011-04-06 22:39:40
可能未设置$_POSTs1,或者您正在插入的数据库与您正在查看的数据库不同。
发布于 2011-04-06 22:40:11
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()函数可以做到这一点,它会执行一些额外的健全性检查,以确保在上传完成和脚本尝试移动文件之间没有任何篡改。
https://stackoverflow.com/questions/5568141
复制相似问题