Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает регистрация php

Артем Ефименко Ученик (160), закрыт 3 недели назад
почему не работает я нажимаю зарегистрироваться ничего не происходит но ошибки работают например указанный емайл уже зарегстрирован

Отблагодарю денюжкой если кто то поможет!

Сам код: https://pastebin.com/c0znVdHY
Лучший ответ
Редис Александрович Оракул (77467) 1 месяц назад
Эта мрачная лапша в теории может и будет работать, но в целом не очень понятно почему ты начал с php, это не самое лучшее. Смысл писать код который ты не можешь понять, что делает? Ну а конкретно что касается вопроса, то если лень ставить XDebug, то хотя бы используй var_dump. Без отладки, дебаганинга кода ты просто не сможешь работать. Для начала надо убедится, что POST ом приходят параметры, например

 var_dump($firstname = $this->request->post['firstname']); 

потом было бы неплохо заглянуть до валидации, приходит что то туда

 var_dump($validateLib->firstname($firstname)); 

ну и потом смотреть уже через var_dump в самой валидации, так ты быстро найдешь свою проблему, причем без посторонний помощи, у тебя ведь как то получилось такой код запилить
Остальные ответы
Татьяна Просветленный (23245) 1 месяц назад
 class registerController extends Controller { 
public function index() {
$this->load->checkLicense();
$this->document->setActiveSection('account');
$this->document->setActiveItem('register');

if ($this->user->isLogged()) {
$this->session->data['error'] = "Вы уже авторизированы!";
$this->response->redirect($this->config->url);
}

$this->getChild(array('common/loginheader', 'common/loginfooter'));
return $this->load->view('account/register', $this->data);
}

public function ajax() {
$this->load->checkLicense();
if ($this->user->isLogged()) {
$data['status'] = "error";
$data['error'] = "Вы уже авторизированы!";
return json_encode($data);
}

$errorPOST = $this->validatePOST();
if (!$errorPOST) {
// Регистрация пользователя
// Отправка письма
// Возвращение успешного статуса
} else {
$data['status'] = "error";
$data['error'] = $errorPOST;
}

return json_encode($data);
}

private function validatePOST() {
$this->load->library('validate');
$validateLib = new validateLibrary();

$firstname = $this->request->post['firstname'];
$email = $this->request->post['email'];
$password = $this->request->post['password'];
$captcha = $this->request->post['captcha'];

$captchahash = $this->session->data['captcha'];
unset($this->session->data['captcha']);

if (!$validateLib->firstname($firstname)) {
return "Укажите свое реальное имя!";
} elseif (!$validateLib->email($email)) {
return "Укажите свой реальный E-Mail!";
} elseif (!$validateLib->password($password)) {
return "Пароль должен содержать от 6 до 32 латинских букв, цифр и знаков ,.!?_-!";
} elseif ($captcha != $captchahash) {
return "Укажите правильный код с картинки!";
} elseif ($this->usersModel->getTotalUsers(array('user_email' => $email))) {
return "Указанный E-Mail уже зарегистрирован!";
}
return null;
}
}
?>
функция с отключенной проверкой реального имени проверь
 private function validatePOST() { 
$this->load->library('validate');
$validateLib = new validateLibrary();

$email = $this->request->post['email'];
$password = $this->request->post['password'];
$captcha = $this->request->post['captcha'];

$captchahash = $this->session->data['captcha'];
unset($this->session->data['captcha']);

if (!$validateLib->email($email)) {
return "Укажите свой реальный E-Mail!";
} elseif (!$validateLib->password($password)) {
return "Пароль должен содержать от 6 до 32 латинских букв, цифр и знаков ,.!?_-!";
} elseif ($captcha != $captchahash) {
return "Укажите правильный код с картинки!";
} elseif ($this->usersModel->getTotalUsers(array('user_email' => $email))) {
return "Указанный E-Mail уже зарегистрирован!";
}
return null;
}
Артем ЕфименкоУченик (160) 1 месяц назад
секунду проверю
Татьяна Просветленный (23245) Артем Ефименко, еще добавила функцию в код
ТатьянаПросветленный (23245) 1 месяц назад
function validatePOST
Артем ЕфименкоУченик (160) 1 месяц назад
все также:(
Артем Ефименко Ученик (160) Артем Ефименко, проверьте сами https://eruhost.ru
ТатьянаПросветленный (23245) 1 месяц назад
добавила код в ответе там с отключенной проверкой реального имени
ТатьянаПросветленный (23245) 1 месяц назад
проверь
Артем Ефименко Ученик (160) Татьяна, секунду
ТатьянаПросветленный (23245) 1 месяц назад
и большие и маленькие буквы
Артем Ефименко Ученик (160) Татьяна, и что делать?
ТатьянаПросветленный (23245) 1 месяц назад
ты пробывал чтобы пароль содержал спец символы большие и маленькие бцквы и
цифры
ТатьянаПросветленный (23245) 1 месяц назад
Пароль должен содержать от 6 до 32 латинских букв, цифр и знаков <i>,.!?_-</i>!
Высокий Оракул (70463) 1 месяц назад
Ни где не работает...
Ааабаев АаабМыслитель (6820) 1 месяц назад
грамоту выучи, даун!
Лайт Ягами Искусственный Интеллект (283455) 1 месяц назад
Обычно ещё сохранять созданный экземпляр пользователя надо, смотри документацию по своей модели, как это делать.
Похожие вопросы