我使用 PHP、Appache 和 PHPMyAdmin 构建了一个相当基本的本地数据库驱动网站。该站点允许用户上传两种格式的 cad 详细文件。除了文件路径,他们还可以上传文件名、相关服务组以及详细 ID。
基本上,除了从上传页面上传文件时出现一个小问题外,一切都很顺利。一切都很好地提交到数据库,但文件的链接缺少必要的反斜杠。
但是,我可以进入数据库本身并将反斜杠输入到文件路径中。
形式:
<form method="post" action="add.php">
<table border="0">
<tr><td>Detail ID: </td><td><input type="number" name="id" /></td></tr>
<tr><td>Detail Name: </td><td><input type="text" name="name" /></td></tr>
<tr><td>Service Group: </td><td><input type="text" name="service" /></td></tr>
<tr><td>PDF: </td><td><input type="file" name="pdf" enctype="multipart/form-data"/></td></tr>
<tr><td>DWG: </td><td><input type="file" name="dwg"/></td></tr>
<tr><td></td><td><input type="submit" value="Submit" />
<input type="reset" value="Reset" /></td></tr>
</table>
</form>
PHP:
$con=mysql_connect("localhost","root","");
/* Select the database */
mysql_select_db("hrg_test");
/* Store the values submitted by form in variable */
$id=$_POST['id'];
$name=$_POST['name'];
$service=$_POST['service'];
$pdf=$_POST['pdf'];
$dwg=$_POST['dwg'];
/* Write a query to insert details into database */
$insert_detail=mysql_query("INSERT INTO hrg_test (id, name, service, pdf, dwg) VALUES ('$id', '$name', '$service', '$pdf', '$dwg')");
if($insert_detail)
{ echo "Detail Succesfully Added! <br /><br /><a href='add.html'>Add Another Detail</a>"; }
else
{ echo "Error".mysql_error(); }
/* closing the if else statements */
mysql_close($con);
?>
我已经阅读了魔术引号和stripslashes,尽管如果这是问题,我不确定如何将它们联系起来。也许我只是以错误的方式去做。
任何帮助将不胜感激。