Q1:我是编程新手,不知道我做错了什么。我收到以下错误:
注意:未定义的索引:[..]
中的pimage
这是代码:
<form method="post" enctype="multipart/form-data">
<label for="pimage">photo</label>
<input type="file" name="pimage" id="fileToUpload"/><br />
<input type="submit" name="psubmit" value="register" />
</form>
这是我的PHP:
if (isset($_POST['psubmit'])) {
$image = $_POST['pimage'];
Q2:在上面的代码之后,表单应放在数据库中,我没有收到任何错误,但我没有看到数据库中出现的任何内容。这是PHP代码:
if (isset($_POST['psubmit'])) {
include 'opendb.php';
$stmt = $dbh->prepare("INSERT INTO new_products(Title, Price, CID,
Categorie, Sub-categorie, Description, Shipping) VALUES(:value1, :value2,
:value3, :value4, :value5, :value6, :value7)");
$image = $_POST['pimage'];
$values = array(
'value1' => $_POST['ptitle'],
'value2' => $_POST['pprice'],
'value3' => $_POST['pcid'],
'value4' => $_POST['pcat'],
'value5' => $_POST['psubcat'],
'value6' => $_POST['pdescription'],
'value7' => $_POST['pshipping'], );
$stmt->execute($values);
$stmt->errorInfo();
}
很好,这个问题被标记为重复,但我没有看到给定链接中的awnser。我知道我必须设置$ _POST [&#39; pimage&#39;]并据我所知。我不想成为您提供信息所需的人,但请在给定链接中给我文本,以便完成这段代码。
答案 0 :(得分:1)
只需查看有关上传文件{$ 3}}的$ _FILES全局变量和小教程。
你的文件名在这里$ _FILES [&#34; pimage&#34;] [&#34; name&#34;]。但是你需要使用函数move_uploaded_file将文件从临时php路径复制到你的服务器文件夹($ _ FILES [&#34; pimage&#34;] [&#34; tmp_name&#34;],$ target_file)。
你在params biding中有错误,试试这个:
if (isset($_POST['psubmit'])) {
include 'opendb.php';
$stmt = $dbh->prepare("INSERT INTO new_products(Title, Price, CID,
Categorie, Sub-categorie, Description, Shipping) VALUES(:value1, :value2,
:value3, :value4, :value5, :value6, :value7)");
$values = array(
':value1' => $_POST['ptitle'],
':value2' => $_POST['pprice'],
':value3' => $_POST['pcid'],
':value4' => $_POST['pcat'],
':value5' => $_POST['psubcat'],
':value6' => $_POST['pdescription'],
':value7' => $_POST['pshipping']);
$stmt->execute($values);
$stmt->errorInfo();
}
并没有像$ _POST [&#39; pimage&#39;]这样的变量。只有$ _FILES [&#39; pimage&#39;]。