我是PHP编程的新手,并试图掌握基础知识,在youtube视频之后,我能够获得一个PHP表单来上传基本数据。 太好了!所以现在我只想上传图片。 我已经在YouTube上观看了视频/补码,并以多种不同的方式进行了尝试..但是仍然无法获得它……实际上,上传效果很好,但文件名却没有。 / p>
我尝试重命名“ tableaux”的img_id之类的文件
但是我得到了
注意:未定义的变量:第92行的C:\ xampp \ htdocs \ SFlamme \ upload.php中的taleaux
我确定这是基本的东西,但是我真的找不到答案。
这是我在上传表单页面上运行的代码:
<?php
require_once 'Database.php';
require_once 'function.php';
if (!isset($_SESSION['admin']) || empty($_SESSION['admin'])) {
header('location:index.php');
}
if (isset($_POST) AND !empty($_POST)) {
if (!empty($_POST['name']) AND !empty($_POST['content']) AND !empty($_POST['size'])) {
$req = $db->prepare('INSERT INTO tableaux(name, content, size) VALUES(:name, :content, :size)');
$req->bindValue(':name', $_POST['name'], PDO::PARAM_STR);
$req->bindValue(':content', $_POST['content'], PDO::PARAM_STR);
$req->bindValue(':size', $_POST['size'], PDO::PARAM_STR);
$req->execute();
$_SESSION['flash']['success'] = 'Tableau a été ajouté !';
}else{
$_SESSION['flash']['error'] = 'Champs manquants';
}
}
if ( isset($_FILES['up_tab']) AND !empty(($_FILES['up_tab']['name'])) )
{
$tailleMax = 2097152; //2mo
$extensionValides = array ('jpg', 'jpeg', 'gif', 'tif', 'png');
if ($_FILES['up_tab']['size'] <= $tailleMax)
{
$extensionUpload = strtolower(substr(strrchr($_FILES['up_tab']['name'], '.'), 1));
if (in_array($extensionUpload, $extensionValides))
{
$chemin = "images/tableaux/"."img_ "."." .$extensionUpload;
$resultat = move_uploaded_file($_FILES['up_tab']['tmp_name'],$chemin);
if ($resultat){
$updatetab = $db->prepare('UPDATE tableaux SET img_tab = :img_tab WHERE id = :id');
$updatetab->execute([
'up_tab' => "img_". "." .$extensionUpload,
'id' => $tableaux['id'], //HERE IS MY PROBLEME
]);
}
else{
$msg = "erreur durant l'importation";
}
}
else{
$msg = "pas le bon format";
}
}
else {
$msg = "fichier supérieur à 2mo";
}
}
?>