Доброго времени суток. Частенько делал регистрации на RedBeanPHP, и в данной ситуации тоже, но большое НО. Сделал - всё работает. Запилил на клиентский хостинг и бац у него гребанный cloudabove который использует default_engine MyISAM, по запросу в саппорт - они отказались менять дэфолт энгин.
Ниже будет код регистрации и логина, но суть в том что RedBeanPHP создаёт таблицу таким образом сам, и ему для этого нужен дэфолт энгин MyISAM, чего в моей ситуации нет. Кастомно я могу создать таблицу с типом MyISAM но как мне изменить код или что мне здесь изменить, если возможно, чтоб оно не создавало отдельную таблицу, а добавляло в кастомно созданную мной с типом MyISAM, если дэфолтной так же останется MyISAM.
Ниже код регистрации:
$data = $_POST;
if(isset( $data['do_signup']) ){
//registration here
//errors validation
$errors = array();
if( trim($data['login']) == '' ){
$errors[] = 'Type your login';
}
if( trim($data['email']) == '' ){
$errors[] = 'Type your email';
}
if( $data['password'] == '' ){
$errors[] = 'Type your password';
}
if( $data['password_repeat'] != $data['password'] ){
$errors[] = 'Passwords does not match';
}
//end
// Check repeats of login and password
if( R::count('users', 'login = ?', array($data['login']) ) > 0){
$errors[] = 'User with such login is already exist';
}
if( R::count('users', 'email = ?', array($data['email']) ) > 0){
$errors[] = 'User with such email is already exist';
}
//end
//if no errors do
if( empty($errors) ){
//registration
$user = R::dispense('users');
$user->login = $data['login'];
$user->email = $data['email'];
$user->password = password_hash($data['password'], PASSWORD_DEFAULT);
R::store($user);
echo '<div style="color:green">Thanks for registration!</div>';
}
else{
echo '<div id="errors" style="color:red">'.array_shift($errors).'</div><hr>';
}
//end
}
Код логина:
$data = $_POST;
if( isset($data['do_signin']) ){
$errors = array();
$user = R::findOne('users', 'login = ?', array($data['login']));
if( $user ){
if(password_verify($data['password'], $user->password) ) {
//if all is good
$_SESSION['logged_user'] = $user;
echo '<div style="color:green">Success!</div>';
}
else{
$errors[] = 'Incorrect password';
}
}
else{
$errors[] = 'User with such login is not found';
}
if( ! empty($errors) ){
//login
echo '<div id="errors" style="color:red">'.array_shift($errors).'</div><hr>';
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Не могу понять, почему функция вывода различных записей работает на локальном сайте, но не работает на живом сайте? Вот например эта: