<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

вопрос насчет урока регистрации сайта
23.03.2014 15:34:37 вопрос насчет урока регистрации сайта Сообщение #1
azat1500

azat1500

Новичок

Новичок

Дата регистрации:
30.01.2014 12:50:19

Сообщений: 9

Всем привет! возникла такая проблема, в курсе php и mysql с нуля до гуру, в разделе создание движка с нуля, при регистрации на сайте ввожу, логин, пароль, и капчу, но выводиться ошибка "Попробуйте выполнить операцию позже, иначе обратитесь к администрации." подскажите как ее исправить? я посмотрел весь код, так-то ошибок не нашел, но почему-то не добавляются записи в phpmyadmin заранее большое спасибо!
Профиль Ответить
23.03.2014 15:54:47 вопрос насчет урока регистрации сайта Сообщение #2
alexandrdante

alexandrdante

Модератор

Модератор

Дата регистрации:
15.11.2013 15:33:40

Сообщений: 207

Нам то код покажите,а то что мы сказать то сможем?
классы файла конфигурации,
код файла регистрации,и классы файла db
думаю,достаточно
Профиль Ответить
23.03.2014 16:21:47 вопрос насчет урока регистрации сайта Сообщение #3
azat1500

azat1500

Новичок

Новичок

Дата регистрации:
30.01.2014 12:50:19

Сообщений: 9

напишите пожалуйста свой е-mail? просто здесь не получается прикрепить файлы, их слишком много, они все в разных папках
Профиль Ответить
23.03.2014 16:24:27 вопрос насчет урока регистрации сайта Сообщение #4
alexandrdante

alexandrdante

Модератор

Модератор

Дата регистрации:
15.11.2013 15:33:40

Сообщений: 207

указываете название и в тег code помещаете код из файла

я сказал,какие файлы нужны

Почту,к сожалению,не предоставляю по требованию

И да,вопросы по урокам лучше пишите в Службу поддержки
Там быстрее отвечу
Также можете запаковать в архив и загрузить на rghost,а потом выслать ссылку мне
Бекап базы данных также нужен
Профиль Ответить
23.03.2014 16:41:38 вопрос насчет урока регистрации сайта Сообщение #5
azat1500

azat1500

Новичок

Новичок

Дата регистрации:
30.01.2014 12:50:19

Сообщений: 9

Вот файлы которые вы просили:

config_class.php

<?php

class Config {

var $sitename = "Mysite.Local";
var $address = "http://mysite.local/";
var $secret = "dog9999";
var $host = "localhost";
var $db = "mybase";
var $db_prefix = "lesson_";
var $user = "root";
var $password = "";
var $admname = "Азат Нигматуллин";
var $admemail = "azatravilovich@mail.ru";
var $dir_text = "lib/text/";
var $dir_tmpl = "tmpl/";
var $count_blog = 2;

var $min_login = 3;
var $max_login = 255;
}

?>


regcontent_class.php
<?php
require_once "modules_class.php";

class RegContent extends Modules {

public function __construct($db) {
parent::__construct($db);
}

protected function getTitle() {
return "Регистрация на сайте";
}

protected function getDescription() {
return "Регистрация пользователя на сайте.";
}

protected function getKeyWords() {
return "регистрация сайт, регистрация пользователь сайт";
}

protected function getMiddle() {
$sr["message"] = $this->getMessage();
$sr["login"] = $_SESSION["login"];
return $this->getReplaceTemplate($sr, "form_reg";
}
}
?>


database_class.php

<?php
require_once "config_class.php";
require_once "checkvalid_class.php";

class DataBase {

private $config;
private $mysqli;
private $valid;

public function __construct() {
$this->config = new Config();
$this->valid = new CheckValid();
$this->mysqli = new mysqli($this->config->host, $this->config->user, $this->config->password, $this->config->db);
$this->mysqli->query("SET NAMES 'windows-1251'";
}

private function query($query) {
return $this->mysqli->query($query);
}

private function select($table_name, $fields, $where = "", $order = "", $up = true, $limit = "" {
for ($i = 0; $i < count($fields); $i++)
{
if ((strpos($fields[$i], "(" === false) && ($fields[$i] != "*") $fields[$i] = "`".$fields[$i]."`";
}
$fields = implode(",", $fields);
$table_name = $this->config->db_prefix.$table_name;
if (!$order) $order = "ORDER BY `id`";
else {
if ($order != "RAND()" {
$order = "ORDER BY `$order`";
if (!$up) $order .= " DESC";
}
else $order = "ORDER BY `$order`";
}
if ($limit) $limit = "LIMIT $limit";
if ($where) $query = "SELECT $fields FROM $table_name WHERE $where $order $limit";
else $query = "SELECT $fields FROM $table_name $order $limit";
$result_set = $this->query($query);
if (!$result_set) return false;
$i = 0;
while ($row = $result_set->fetch_assoc()) {
$data[$i] = $row;
$i++;
}
$result_set->close();
return $data;
}

public function insert($table_name, $new_values) {
$table_name = $this->config->db_prefix.$table_name;
$query = "INSERT INTO $table_name (";
foreach ($new_values as $field => $value) $query .= "`".$field."`,";
$query = substr($query, 0, -1);
$query .= " VALUES (";
foreach ($new_values as $value) $query .= "'".addslashes($value)."',";
$query = substr($query, 0, -1);
$query .= "";
return $this->query($query);
}

private function update($table_name, $upd_fields, $where) {
$table_name = $this->config->db_prefix.$table_name;
$query = "UPDATE $table_name SET ";
foreach ($upd_fields as $field => $value) $query .= "`$field` = '".addslashes($value)."',";
$query = substr($query, 0, -1);
if ($where) {
$query .= " WHERE $where";
return $this->query($query);
}
else return false;
}

public function delete($table_name, $where = "" {
$table_name = $this->config->db_prefix.$table_name;
if ($where) {
$query = "DELETE FROM $table_name WHERE $where";
return $this->query($query);
}
else return false;
}

public function deleteAll($table_name) {
$table_name = $this->config->db_prefix.$table_name;
$query = "TRUNCATE TABLE `$table_name`";
return $this->query($query);
}

public function getField($table_name, $field_out, $field_in, $value_in) {
$data = $this->select($table_name, array($field_out), "`$field_in`='".addslashes($value_in)."'";
if (count($data) != 1) return false;
return $data[0][$field_out];
}

public function getFieldOnID($table_name, $id, $field_out) {
if (!$this->existsID($table_name, $id)) return false;
return $this->getField($table_name, $field_out, "id", $id);
}

public function getAll($table_name, $order, $up) {
return $this->select($table_name, array("*", "", $order, $up);
}

public function getAllOnField($table_name, $field, $value, $order, $up) {
return $this->select($table_name, array("*", "`$field`='".addslashes($value)."'", $order, $up);
}

public function getLastID($table_name) {
$data = $this->select($table_name, array("MAX(`id`)");
return $data[0]["MAX(`id`)"];
}

public function deleteOnID($table_name, $id) {
if (!$this->existsID($table_name, $id)) return false;
return $this->delete($table_name, "`id` = '$id'";
}

public function setField($table_name, $field, $value, $field_in, $value_in) {
if (!$this->existsID($table_name, $id)) return false;
return $this->update($table_name, array($field => $value), "`$field_in` = '".addslashes($value_in)."'";
}

public function setFieldOnID($table_name, $id, $field, $value) {
if (!$this->existsID($table_name, $id)) return false;
return $this->setField($table_name, $field, $value, "id", $id);
}

public function getElementOnID($table_name, $id) {
if (!$this->existsID($table_name, $id)) return false;
$arr = $this->select($table_name, array("*", "`id` = '$id'";
return $arr[0];
}

public function getRandomElements($table_name, $count) {
return $this->select($table_name, array("*", "", "RAND()", true, $count);
}

public function getCount($table_name) {
$data = $this->select($table_name, array("COUNT(`id`)");
return $data[0]["COUNT(`id`)"];
}

public function isExists($table_name, $field, $value) {
$data = $this->select($table_name, array("id", "`$field` = '".addslashes($value)."'";
if (count($data) === 0) return false;
return true;
}

private function existsID($table_name, $id) {
if (!$this->valid->validID($id)) return false;
$data = $this->select($table_name, array("id", "`id`='".addslashes($id)."'";
if (count($data) === 0) return false;
return true;
}

public function __destruct() {
if ($this->mysqli) $this->mysqli->close();
}
}
?>
Профиль Ответить
23.03.2014 16:44:50 вопрос насчет урока регистрации сайта Сообщение #6
azat1500

azat1500

Новичок

Новичок

Дата регистрации:
30.01.2014 12:50:19

Сообщений: 9

вот еще, если что распаковал в архив, скрипты урока:

http://rghost.ru/private/53284260/0f537e27e7d795a067f70dd81edfaa35
Профиль Ответить
24.03.2014 14:23:46 вопрос насчет урока регистрации сайта Сообщение #7
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Если мне память не изменяет, то у русакова файл отвечающий за регистрацию назывался manager_class.php его как раз и надо.
Профиль Ответить
24.03.2014 17:41:31 вопрос насчет урока регистрации сайта Сообщение #8
azat1500

azat1500

Новичок

Новичок

Дата регистрации:
30.01.2014 12:50:19

Сообщений: 9

вот этот файл у меня manage_class.php

<?php
require_once "config_class.php";
require_once "user_class.php";

class Manage {

private $config;
private $user;
private $data;

public function __construct($db) {
session_start();
$this->config = new Config();
$this->user = new User($db);
$this->data = $this->secureData(array_merge($_POST, $_GET));
}

private function secureData($data) {
foreach ($data as $key => $value) {
if (is_array($value)) $this->secureData($value);
else $data[$key] = htmlspecialchars($value);
}
return $data;
}

public function redirect($link) {
header("Location: $link";
exit;
}

public function regUser() {
$link_reg = $this->config->address."?view=reg";
$captcha = $this->data["captcha"];
if (($_SESSION["rand"] != $captcha) && ($_SESSION["rand"] != "") {
return $this->returnMessage("ERROR_CAPTCHA", $link_reg);
}
$login = $this->data["login"];
if ($this->user->isExistsUser($login)) return $this->returnMessage("EXISTS_LOGIN", $link_reg);
$password = $this->data["password"];
if ($password == "" return $this->unknownError($link_reg);
$password = $this->hashPassword($password);
$result = $this->user->addUser($login, $password, time());
if ($result) return $this->returnPageMessage("SUCCESS_REG", $this->config->address."?view=message";
else return $this->unknownError($link_reg);
}

private function hashPassword($password) {
return md5($password.$this->config->secret);
}

private function unknownError($r) {
return $this->returnMessage("UNKNOWN_ERROR", $r);
}

private function returnMessage($message, $r) {
$_SESSION["message"] = $message;
return $r;
}

private function returnPageMessage($message, $r) {
$_SESSION["page_message"] = $message;
return $r;
}
}
?>
Профиль Ответить
24.03.2014 18:55:32 вопрос насчет урока регистрации сайта Сообщение #9
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

$result = $this->user->addUser($login, $password, time());

У вас это строка поидее возвращает false - поглядите как идет запрос в базу данных и что он хочет туда внести с помощью echo и print_r.
Профиль Ответить
24.03.2014 21:02:05 вопрос насчет урока регистрации сайта Сообщение #10
azat1500

azat1500

Новичок

Новичок

Дата регистрации:
30.01.2014 12:50:19

Сообщений: 9

хорошо, попробую, спасибо большое.
Профиль Ответить