Оценить:
 Рейтинг: 0

PHP. Разработка модуля комментариев для сайта

Год написания книги
2021
Теги
<< 1 ... 46 47 48 49 50 51 52 53 54 ... 78 >>
На страницу:
50 из 78
Настройки чтения
Размер шрифта
Высота строк
Поля

unset($capcha);

}

}

/* заносим введенный пользователем e-mail, если он пустой, то уничтожаем переменную */

if (isset($_POST['email'])) {

$email = $_POST['email'];

if ($email == '') {

unset($email);

}

}

$capcha = stripslashes($capcha); //sequrity чистим капчу

$capcha = htmlspecialchars($capcha);

$capcha = trim($capcha); //удаляем лишние пробелы

if (($capcha == $_SESSION["rand_code"]) && ($capcha != "")) { //проверяем капчу

} else {

exit("Капча введена неправильно");

}

if (empty($login) or empty($password) or empty($email) or empty($capcha)) { //если пользователь не ввел данные, то выдаем ошибку и останавливаем скрипт

exit("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");

}

if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) { //проверка е-mail адреса регулярными выражениями на корректность

exit("Неверно введен е-mail!");

}

$login = stripslashes($login); //если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести

$login = htmlspecialchars($login);

$password = stripslashes($password);

$password = htmlspecialchars($password);

$login = trim($login); //удаляем лишние пробелы

$password = trim($password);

/*......................Шифруем пароль...........................*/

//можно добавить несколько своих символов по вкусу, например, вписав "she".

//Если этот пароль будут взламывать методом подбора у себя на сервере этой же md5,то явно ничего хорошего не выйдет.

//Но советую ставить другие символы, можно в начале строки или в середине.

//При этом необходимо увеличить длину поля password в базе. Зашифрованный пароль может получится гораздо большего размера.

$password = md5($_POST['password'] . 'swl'); //шифруем пароль

include $_SERVER['DOCUMENT_ROOT'] . '/chat/dsn.php'; // подключаемся к базе

$sth = $dsn->prepare("SELECT id FROM users WHERE login=:login"); // проверка на существование пользователя с таким же логином

$sth->execute(array(':login' => $login));

if (!empty($sth->fetch(PDO::FETCH_ASSOC))) {

exit("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");

}

/*....................avatar................................*/

if (empty($_FILES['fupload']['name'])) {

//если переменной не существует (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"

$avatar = "avatars/noavatar.png"; //можете нарисовать net-avatara.jpg или взять в исходниках

} else {

//иначе – загружаем изображение пользователя

$path_to_90_directory = 'avatars/'; //папка, куда будет загружаться начальная картинка и ее сжатая копия

/* проверка формата исходного изображения */

if (preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/', $_FILES['fupload']['name'])) {
<< 1 ... 46 47 48 49 50 51 52 53 54 ... 78 >>
На страницу:
50 из 78