Загрузка аватарки для пользователя
Никак не могу добавить возможность загрузки пользователем аватарки. Раньше поле image постоянно обновлялось в базе данных при попытке загрузки новой картинки(сама картинка не появлялась). Теперь я пытаюсь загрузить фотку и появляется вот такое сообщение Can't add new data Incorrect integer value: ' . . ' for column 'id' at row 1. Не совсем понимаю, как это исправить. Сейчас имею вот такой код:
profile.php
<?php
ini_set('display_errors',1);
error_reporting(E_ALL ^E_NOTICE);
error_reporting(E_ALL);
session_start();
require_once "./functions/database_functions.php";
// print out header here
$title = "Profile";
require "./template/header.php";
// connect database
if(isset($_SESSION['email'])){
$customer = getCustomerIdbyEmail($_SESSION['email']);
}
$conn = db_connect();
if(isset($_POST['add'])){
/*EDIT*/ $id = trim($_POST['id']);
/*EDIT*/ $id = mysqli_real_escape_string($conn, $id);
$firstname = trim($_POST['firstname']);
$firstname = mysqli_real_escape_string($conn, $firstname);
$lastname = trim($_POST['lastname']);
$lastname = mysqli_real_escape_string($conn, $lastname);
$email = trim($_POST['email']);
$email = mysqli_real_escape_string($conn, $email);
$address = trim($_POST['address']);
$address = mysqli_real_escape_string($conn, $address);
$city = trim($_POST['city']);
$city = mysqli_real_escape_string($conn, $city);
$zipcode = trim($_POST['zipcode']);
$zipcode = mysqli_real_escape_string($conn, $zipcode);
// add image
if(isset($_FILES['image']) && $_FILES['image']['name'] != ""){
$image = $_FILES['image']['name'];
$directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);
$uploadDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . "bootstrap/img/";
$uploadDirectory .= $image;
move_uploaded_file($_FILES['image']['tmp_name'], $uploadDirectory);
}
$query = "INSERT INTO customers VALUES (' . $id . ', '" . $firstname . "', '" . $lastname . "', '" . $email . "', '', '" . $address . "', '" . $city . "', '" . $image . "', '" . $zipcode . "')";
$result = mysqli_query($conn, $query);
if(!$result){
echo "Can't add new data " . mysqli_error($conn);
exit;
} else {
header("Location: editProfile.php");
}
}
?>
<form method="post" action="profile.php" class="form-row">
<div class="form-group col-md-6">
<label for="exampleInputEmail1">Имя</label>
<input type="text" class="form-control" aria-describedby="emailHelp" value="<?php echo $customer['firstname']?>" name="firstname">
</div>
<div class="form-group col-md-6">
<label for="exampleInputEmail1">Фамилия</label>
<input type="text" class="form-control" aria-describedby="emailHelp" value="<?php echo $customer['lastname']?>" name="lastname">
</div>
<div class="form-group col-md-6">
<label for="exampleInputEmail1">Email</label>
<input type="email" class="form-control" aria-describedby="emailHelp" value="<?php echo $customer['email']?>" name="email">
</div>
<div class="form-group col-md-6">
<label for="inputAddress">Адрес</label>
<input type="text" class="form-control" id="inputAddress" value="<?php echo $customer['address']?>" name="address">
</div>
<div class="form-group col-md-6">
<label for="inputCity">Город</label>
<input type="text" class="form-control" id="inputCity" name="city" value="<?php echo $customer['city']?>">
</div>
<div class="form-group col-md-6">
<label for="inputZip">Номер телефона</label>
<input type="text" class="form-control" id="inputZip" name="zipcode" value="<?php echo $customer['zipcode']?>">
</div>
<tr>
<th>Image</th>
<td><input type="file" name="image"></td>
</tr>
<input type="submit" name="add" value="Add new book" class="btn btn-primary">
<input type="reset" value="cancel" class="btn btn-default">
</form>
<?php
if(isset($conn)) { mysqli_close($conn);}
require "./template/footer.php";
?>
editProfile.php
<?php
session_start();
require_once "./functions/database_functions.php";
// print out header here
$title = "Edit Profile";
require "./template/header.php";
// connect database
$conn = db_connect();
$firstname = trim($_POST['firstname']);
$firstname = mysqli_real_escape_string($conn, $firstname);
$lastname = trim($_POST['lastname']);
$lastname = mysqli_real_escape_string($conn, $lastname);
$email = trim($_POST['email']);
$email = mysqli_real_escape_string($conn, $email);
$address = trim(trim($_POST['address']));
$address = mysqli_real_escape_string($conn, $address);
$city = trim($_POST['city']);
$city = mysqli_real_escape_string($conn, $city);
$image = trim($_POST['image']);
$image = mysqli_real_escape_string($conn, $image);
$zipcode = trim($_POST['zipcode']);
$zipcode = mysqli_real_escape_string($conn, $zipcode);
$customer = getCustomerIdbyEmail($_SESSION['email']);
$id=$customer['id'];
$query="UPDATE customers set
firstname='$firstname', lastname='$lastname' , address='$address', city='$city', zipcode='$zipcode' ,email='$email', image='$image' where id='$id'
";
mysqli_query($conn, $query);
?>
<p class="lead text-success" id="p">Изменения сохранены</p>
<script>
window.setTimeout(function(){
//window.location.href = "http://localhost/onlineBookStore/index.php";
}, 3000);
</script>
<?php
if(isset($conn)){
mysqli_close($conn);
}
require_once "./template/footer.php";
?>