Я пытаюсь создать CMS для моего сайта портфолио. Я создал все формы в конце. Все работает, за исключением того, что я не могу добавить столбец в мою базу данных портфолио в Mysqli. Я попытался повторить данные формы на другой странице PHP. Все работает нормально. Даже загруженное изображение перемещается в каталог сайта. Единственная проблема - вставка данных в таблицу базы данных. Вот мой кодЯ не могу добавить строку в свою базу данных
<?php
session_start();
?>
<?php
if(isset($_POST['submit']))
{
$title=$_POST['title'];
$description=$_POST['description'];
$duration=$_POST['duration'];
$category=$_POST['category'];
$nImage=$_FILES['nImage']['name'];
$file_tmp=$_FILES['nImage']['tmp_name'];
$filesize=$_FILES['nImage']['size'];
$file_ext=strtolower(pathinfo($nImage,PATHINFO_EXTENSION));
$supported=array('jpg','jpeg','png');
//Rename File
$rand=sha1(time());
$newname=$rand.".".$file_ext;
$portfolio_img_dir="images/portfolio/".$newname;
//Check If FileSize is more than 2 MB
if($filesize<2097152)
{
//Check if Extension Matches
if(in_array($file_ext,$supported))
{
//Move Uploaded Image
if(move_uploaded_file($file_tmp,$portfolio_img_dir))
{
$qry=mysqli_query($link,"INSERT INTO `p_o_r_t_f_o_l_i_o`(`title`,`description`,`duration`,`category`,`image`) values('$title','$description','$duration','$category','$portfolio_img_dir')");
if($qry)
{
$_SESSION['add_port_msg_success']="Portfolio Item Successfully Added";
header('location:add_portfolio.php');
}
else
{
$_SESSION['add_portfolio_msg']="Portfolio Item Failed to Add";
header('location:add_portfolio.php');
}
}
else
{
$_SESSION['add_port_msg']="File Failed to Move";
header('location:add_portfolio.php');
}
}
else
{
$_SESSION['add_port_msg']="File Extension not Supported";
header('location:add_portfolio.php');
}
}
else
{
$_SESSION['add_port_msg']="Filesize too Large";
header('location:add_portfolio.php');
}
}
else
{
$_SESSION['add_port_msg']="Invalid Attempt to Access Page";
header('location:add_portfolio.php');
}
?>
и это мой HTML FORM
<!--Add New Portfolio Item Form-->
<div class='col-md-8 col-offset-4'>
<form class="form-horizontal" method="post" enctype="multipart/form-data" action="act_newp.php">
<fieldset>
<!-- Form Name -->
<legend>Add New Portfolio Item</legend>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="title">Item Title</label>
<div class="col-md-5">
<input name="title" type="text" placeholder="Enter Title For the Item" class="form-control input-md" required="">
</div>
</div>
<!-- Textarea -->
<div class="form-group">
<label class="col-md-4 control-label" for="description">Description</label>
<div class="col-md-4">
<textarea class="form-control" name="description">Enter Description of Portfolio Item</textarea>
</div>
</div>
<!-- Multiple Radios -->
<div class="form-group">
<label class="col-md-4 control-label" for="category">Select Category</label>
<div class="col-md-4">
<?php
$sel="SELECT cat_id,cat_name from categories order by cat_name asc";
$query=mysqli_query($link,$sel);
while($row=mysqli_fetch_array($query))
{
echo "<div class='radio'>";
echo "<label for='category-".$row['cat_id']."'>";
echo "<input type='radio' name='category' value='".$row['cat_id']."'>";
echo $row['cat_name'];
echo "</label>";
echo "</div>";
}
?>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="duration">Duration of Project</label>
<div class="col-md-4">
<input name="duration" type="text" placeholder="Enter Duration in Hrs" class="form-control input-md" required="">
</div>
</div>
<!-- File Button -->
<div class="form-group">
<label class="col-md-4 control-label" for="nImage">File Button</label>
<div class="col-md-4">
<input name="nImage" class="input-file" type="file">
</div>
</div>
<!-- Button -->
<div class="form-group">
<label class="col-md-4 control-label" for="submit"></label>
<div class="col-md-4">
<button id="submit" name="submit" class="btn btn-success">Add New Portfolio Item</button>
</div>
</div>
</fieldset>
</form>
</div>
<!--/Add New Portfolio Item Form Ends-->
вот моя таблица базы данных изображений:
Любая помощь будет высоко оценен. Заранее спасибо :-)
Вы не только широко открыты для SQL-инъекций, но и очень просто ввести вам плохие файлы, тоже – baao
На ваш вопрос, есть ли у вас сообщения об ошибках? – baao
эхо вставить запрос и попробовать выполнить непосредственно из mysql (или phpMyAdmin) ... – Riad