<MyRusakov.ru />

Создание и раскрутка сайта от А до Я

Создание и раскрутка сайта от А до Я

Видеокурс "Создание и Раскрутка сайта от А до Я" - это 246 видеоуроков общей продолжительностью более 50-ти часов по теме создания, размещения в Интернете и раскрутке сайта.

В уроке рассмотрены следующие необходимые любому профессиональному Web-мастеру языки: HTML, CSS, JavaScript, PHP, SQL (с использованием MySQL) и XML.

Помимо этого в Видеокурсе рассматривается самая популярная система управления контентом - Joomla.

Также в Видеокурсе "Создание и Раскрутка сайта от А до Я" показывается весь процесс создания реального сайта - MyRusakov.ru. Затем демонстрируется его размещение в Интернете, а также последующая раскрутка. Всё это записывается, и Вам остаётся лишь просто повторить, чтобы стать владельцем своего собственного сайта!

И, наконец, почти к каждому уроку идут упражнения, которые позволяют закрепить полученные знания из урока уже на практике.

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

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

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

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

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

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

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

Правильный ли код
24.10.2011 23:40:20 Правильный ли код Сообщение #1
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, здравствуйте, вот хотел бы узнать, возможно ли сделать что нибудь в этом духе?

<?php
class Registration {
$log = $_POST['login'];
$pass = $_POST['password'];
function __construct ($log, $pass){
$this->log = $log;
$this->pass = $pass;
}
function verifyDataLogin() {
if (isset($this->log)){
if (empty($this->log))
exit ('');
}
}
}








?>



Профиль Ответить
24.10.2011 23:52:02 Правильный ли код Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Нет, здесь, во-первых, множество ошибок, во-вторых, так никто не делает. Каждый объект должен отвечать только сам за себя! Поэтому $_POST["log"] должен передаваться в конструктор извне. Да и какой смысл в присвоении свойствам $_POST["log"], если потом они в конструкторе переопределяются?
Профиль Ответить
25.10.2011 00:10:17 Правильный ли код Сообщение #3
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Просто дело в том, что я сделал класс для регистрации, но проблема в том, как задать один раз $_POST['login']?
Я так понимаю её надо задать уже при построении класса?

$reg = new Registration ($_POST['login']);


Примерно так её надо объявлять получается?
Профиль Ответить
25.10.2011 00:16:32 Правильный ли код Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Да, именно так правильно. Тоже самое и с паролем.
Профиль Ответить
25.10.2011 00:44:09 Правильный ли код Сообщение #5
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Спасибо, понял, работаю дальше)))
Профиль Ответить
25.10.2011 00:56:43 Правильный ли код Сообщение #6
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, здравствуйте, вот хотел бы узнать, возможно ли сделать что нибудь в этом духе?

<?php
class Registration {
$log = $_POST['login'];
$pass = $_POST['password'];
function __construct ($log, $pass){
$this->log = $log;
$this->pass = $pass;
}
function verifyDataLogin() {
if (isset($this->log)){
if (empty($this->log))
exit ('');
}
}
}








?>



Профиль Ответить
25.10.2011 01:04:45 Правильный ли код Сообщение #7
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Вот сделал, но теперь ошибка вылетает при регистрации
registration.php
<?php
class registration {
$log;
$pass;
$repeatpass;
function __construct() {
$this->log = $log;
$this->pass = $pass;
$this->repeatpass = $repeatpass;
}
function checkDataLoginRegAuth() {
if (isset($this->log)) {
if ($this->log == '') {
unset($this->log);
}
}
}
function checkDataPassLog() {
$log = $_POST['login'];
if (isset($_POST['password'])) { $pass=md5($_POST['password']); if ($pass =='') { unset($pass);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($log) or empty($pass)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
}
}

function checkDataPassReg() {
if (isset($this->pass)) {
if ($this->repeatpass == $this->pass) {
if (($this->pass == '') || ($this->repeatpass == '')) {
exit ("Введите данные заново";
}
}
else {
exit ("Пароли не совпадают!";
}
}
if ((empty($this->log)) || (empty($this->pass))) {
exit ("Обязательные поля должны быть заполнены!";
}

}

function insertDataReg() {
$name = $_POST['name'];
$insert = mysql_query ("INSERT INTO users (login, name, password) VALUES('$this->log', '$name', '$this->pass')";
if ($insert == 'TRUE')
{
echo "Вы успешно зарегистрированы!";
}
else {
echo "Ошибка при регистрации!";
}
}

function insertDataAuth() {
$result = mysql_query("SELECT * FROM users WHERE login='$this->log'"; //извлекаем из базы все данные о пользователе с введенным логином
$myrow = mysql_fetch_array($result);
if (empty($myrow['password']))
{
//если пользователя с введенным логином не существует
exit ("Извините, введённый вами login или пароль неверный.";
}
else {
//если существует, то сверяем пароли
if ($myrow['password']==$pass) {
//если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
$_SESSION['login']=$myrow['login'];
$_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
echo "Вы успешно вошли на сайт! <a href='/index.php'>Главная страница</a>";
}
else {
//если пароли не сошлись

exit ("Извините, введённый вами login или пароль неверный.";
}
}


}


}

?>

reg.php
<?php
require_once "classes/dbconnect.php";
require_once "classes/registration.php";
$registr = new registration($_POST['login'], $_POST['login']);
echo $registr->checkDataLoginRegAuth();
echo $registr->checkDataPassReg();
echo $registr->insertDataReg();
?>


Сама ошибка вот
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in L:\home\test33.ru\www\classes\registration.php on line 3
Профиль Ответить
25.10.2011 11:15:16 Правильный ли код Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Нужно перед свойством ставить модификатор доступа (public, private или protected).
Профиль Ответить
25.10.2011 21:22:57 Правильный ли код Сообщение #9
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Спасибо, сейчас исправлю)
Профиль Ответить
25.10.2011 23:05:46 Правильный ли код Сообщение #10
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Вот я поставил уровень доступа, только есть проблемма. Не проходит выполнение функция public function checkDataPassReg(), пишет, что не все данные введены, хотя введено всё, в чём может быть ошибка?
registration.php
<?php
class registration {
public $log;
public $pass;
public $repeatpass;
public function __construct() {
$this->log = $log;
$this->pass = $pass;
$this->repeatpass = $repeatpass;
}
public function checkDataLoginRegAuth() {
if (isset($this->log)) {
if ($this->log == '') {
unset($this->log);
}
}
}
public function checkDataPassLog() {
$log = $_POST['login'];
if (isset($_POST['password'])) { $pass=md5($_POST['password']); if ($pass =='') { unset($pass);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($log) or empty($pass)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
}
}

public function checkDataPassReg() {
if (isset($this->pass)) {
if ($this->repeatpass == $this->pass) {
if (($this->pass == '') || ($this->repeatpass == '')) {
exit ("Введите данные заново";
}
}
else {
exit ("Пароли не совпадают!";
}
}
if ((empty($this->log)) || (empty($this->pass))) {
exit ("Обязательные поля должны быть заполнены!";
}

}

public function insertDataReg() {
$name = $_POST['name'];
$insert = mysql_query ("INSERT INTO users (login, name, password) VALUES('$this->log', '$name', '$this->pass')";
if ($insert == 'TRUE')
{
echo "Вы успешно зарегистрированы!";
}
else {
echo "Ошибка при регистрации!";
}
}

public function insertDataAuth() {
$result = mysql_query("SELECT * FROM users WHERE login='$this->log'"; //извлекаем из базы все данные о пользователе с введенным логином
$myrow = mysql_fetch_array($result);
if (empty($myrow['password']))
{
//если пользователя с введенным логином не существует
exit ("Извините, введённый вами login или пароль неверный.";
}
else {
//если существует, то сверяем пароли
if ($myrow['password']==$pass) {
//если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
$_SESSION['login']=$myrow['login'];
$_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
echo "Вы успешно вошли на сайт! <a href='/index.php'>Главная страница</a>";
}
else {
//если пароли не сошлись

exit ("Извините, введённый вами login или пароль неверный.";
}
}


}


}

?>

reg.php
<?php
require_once "classes/dbconnect.php";
require_once "classes/registration.php";
$registr = new registration($_POST['login'], $_POST['password'], $_POST['repeatpass']);
echo $registr->checkDataLoginRegAuth();
echo $registr->checkDataPassReg();
echo $registr->insertDataReg();
?>
Профиль Ответить