Делаю простую форму регистрации с возможностью загрузки аватара. Использую redbeanphp для удобства работы с базой данных. Проблема в том что при загрузке файла на странице регистрации в базе данных в столбце picture появляется значение NULL. При этот сам файл появляться в папке с проектом без проблем.
сам код:
<link rel="stylesheet" href="css/style.css" />
<?php
require "db.php";
$data = $_POST;
if(isset($data['do_signup'])) {
//Здесь регаем
$errors = array();
if(trim($data['name']) == '' ) {
$errors[] = 'Введите имя!';
}
if(trim($data['surename']) == '' ) {
$errors[] = 'Введите Фамилию!';
}
if(trim($data['email']) == '' ) {
$errors[] = 'Введите email!';
}
if(trim($data['phone']) == '' ) {
$errors[] = 'Введите номер телефона!';
}
if($data['password'] == '' ) {
$errors[] = 'Введите пароль';
}
if($data['confirm'] !== $data['password'] ) {
$errors[] = 'Пароли не совпадают';
}
if(R::count('users', "email = ?", array($data['email'])) > 0) {
$errors[] = 'Этот email уже существет';
}
if (empty($errors)) {
//all is good
$user = R::dispense('users');
$user->name = $data['name'];
$user->surename = $data['surename'];
$user->email = $data['email'];
$user->phone = $data['phone'];
$user->picture = $data['picture'];
$user->password = password_hash($data['password'], PASSWORD_DEFAULT);
R::store($user);
echo '<div style="color: green;">Регистрация прошла успешно!</div><br><a href="/">Главная<a>';
$myimg = 'uploads/'. basename($_FILES['picture']['name']);
if (move_uploaded_file($_FILES['picture']['tmp_name'], $myimg)) {
}
mail($data['email'], "Спасибо за регистрацию", 'Ваш Email '.$data['email'].' '.'Ваш пароль: '.$data['password'], 'From: qwertybackqwerty@yandex.ru');
} else {
echo '<div style="color: red;">'.array_shift($errors).'</div>';
}
}
?>
<form enctype="multipart/form-data" action="signup.php" method="POST">
<p>
<p><strong>Ваше имя</strong></p>
<input type="text" name="name" value="<?php echo @$data['name']; ?>">
</p>
<p>
<p><strong>Ваша фамилия</strong></p>
<input type="text" name="surename" value="<?php echo @$data['surename']; ?>">
</p>
<p>
<p><strong>Ваша почта</strong></p>
<input type="email" name="email" value="<?php echo @$data['email']; ?>">
</p>
<p>
<p><strong>Ваш номер телефона</strong></p>
<input type="text" name="phone" value="<?php echo @$data['phone']; ?>">
</p>
<p>
<label>Аватар</label>
<input type="file" name="picture">
</p>
<p>
<p><strong>Ваш пароль</strong></p>
<input type="password" name="password">
</p>
<p>
<p><strong>Подтвердите пароль</strong></p>
<input type="password" name="confirm">
</p>
<p>
<button type="submit" name="do_signup" class="btn">Зарегистрироваться</button>
</p>
<p>Уже есть аккаунт? <a class="authlink" href="login.php">Авторизация</a></p>
</form>
менять тип на VARCHAR пробовал, не помогло.