<MyRusakov.ru />

WordPress 4. Пример создания блога

WordPress 4. Пример создания блога

Видеокурс "WordPress 4. Пример создания блога" научит Вас создавать любые сайты на самой популярной CMS - WordPress.

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

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

Курс очень простой и проходится за один вечер, а знания останутся с Вами навсегда.

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

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

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

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

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

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

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

Загрузка аватарки
13.12.2013 22:29:17 Загрузка аватарки Сообщение #1
LLIMATKO

LLIMATKO

Эксперт

Эксперт

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

Сообщений: 129

Одна из причин, которая была у меня, это максимальный размер файла, который денвер может пропустить. Попробуйте маленький файл или изменить параметры
Профиль Ответить
13.12.2013 22:48:23 Загрузка аватарки Сообщение #2
tanysha86

tanysha86

Новичок

Новичок

Дата регистрации:
15.10.2013 23:32:05

Сообщений: 4

Спасибо большое за ответ, но я загружаю маленькие аватарки размером не более 1 мб и у меня есть проверка на на мах размер файла и в папку они загружаются, но, к сожелению, функция возврата имени не работает
Профиль Ответить
14.12.2013 01:03:46 Загрузка аватарки Сообщение #3
alexandrdante

alexandrdante

Модератор

Модератор

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

Сообщений: 207

можно полный код увидеть?
пробовали на другом веб-сервере локальном,т.е. не на денвере?
Профиль Ответить
14.12.2013 23:14:41 Загрузка аватарки Сообщение #4
tanysha86

tanysha86

Новичок

Новичок

Дата регистрации:
15.10.2013 23:32:05

Сообщений: 4

На локальном сервере не пробывола, только на денвере.
Код файла index:

<?php
session_start();
require_once "lib/user_class.php";

$user=User::dobuser();
$user_auth=$user->checkUser($_SESSION["login"], $_SESSION["password"]);

if ($user_auth){
require_once "lib/forma_user.html";
} else{
echo $_SESSION["password"];
require_once "formaauth.html";
}

if ($_POST["reg"]){
require_once "lib/upload_avatar.php";
$upload_avatar=new Upload_avatar();
$avatar_user=$upload_avatar->uploadFile($_FILES["avatar"]);
echo "</br></br>";
print_r(($_FILES));
echo $name_avatar;
if ($avatar_user) {
$setavatar=$user->setAvatar($login, $name_avatar);
if ($avatar_user) { echo "</br>Аватар успешно загружен</br>".$name_avatar."</br>ура";
}
else echo "</br>ОШИБКА при загрузке аватара1</br>";
}
else echo "</br>ОШИБКА при загрузке аватара2</br>";
$login = $_POST["login"];
$password = $_POST["password"];



$e_mail = $_POST["e_mail"];
$date_bisday = $_POST["date_bisday"];
$month_bisday = $_POST["month_bisday"];
$year_bisday = $_POST["year_bisday"];
$Pol = $_POST["Pol"];

$zapis =$user->reg_user($login, $password, $e_mail, $date_bisday, $month_bisday, $year_bisday, $Pol);
}
elseif ($_POST["Auth"]){
$login = $_POST["login"];
$password = $_POST["password"];
$auth_sucsses =$user->loginzapis($login, $password);
if ($auth_sucsses){
require_once "lib/forma_user.html";
} else {
echo "в сессию данные не записались";
}
}
?>

код файла upload_avatar.php

<?php
require_once "upload_class.php";
class Upload_avatar extends Upload {
protected $dir="avatar";
protected $mime_types=array("image/png", "image/gif", "image/jpeg", "image/tif";

}
?>


код файла upload_class.php

<?php

abstract class Upload {

protected $dir;
protected $mime_types;

public function uploadFile($file) {
if (!$this->isSecurity($file)) return false;
$name_avatar=md5(microtime()).".".substr($file["type"], strlen("image/");
$uploadfile=$this->dir."/".$name_avatar;
if (move_uploaded_file($file["tmp_name"], $uploadfile)) {
return $name_avatar;
}
else return false;
}

protected function isSecurity($file){
$blacklist=array(".php", ".phtml", ".php3", ".php4", ".html", ".htm";
foreach ($blacklist as $item){
if (preg_match("/$item\S/i",$file["name"])) return false;
}
$type=$file["type"];
for ($i=0; $i< count($this->mime_types); $i++) {
if ($type==$this->mime_types[$i]) break;
if ($i+1==count($this->mime_types)) return false;
}
$size=$file["size"];
if ($size>2048000) echo "</br>Размер аватара превышает 2мб</br>";;
return true;
}
}
?>

код файла ррегистрации formareg.php


<html>
<head>
<title>Регистрация пользователя</title>
</head>
<body>
<h1>Регистрация пользователя</h1>

<form name="reg" method="post" action="index.php"enctype="multipart/form-data">
<table border="2">
<tr>
<td>Введите логин</td>
<td> <input type="text" name="login" /> </td>
</tr>
<tr>
<td>Введите пароль</td>
<td> <input type="password" name="password" /> </td>
</tr>
<tr>
<td>Введите e-mail</td>
<td> <input type="text" name="e_mail" /> </td>
</tr>
<tr>
<td>Введите дату рождения</td>
<td> Выберите день, месяц, год<br>
<select name="date_bisday">

<?php
$date=date("d";
for ($d=1; $d<=31; $d++){
$new_date=$date;
$new_date=$d;

echo "<option value='$new_date'>$new_date</option>";
}
?>

</select>

<select name="month_bisday">

<?php

$month=date("m";
$arr=array("01"=>"Январь",
"02"=>"Феврвль",
"03"=>"Март",
"04"=>"Апрель",
"05"=>"Май",
"06"=>"Июнь",
"07"=>"Июль",
"08"=>"Август",
"09"=>"Сентябрь",
"10"=>"Октябрь",
"11"=>"Ноябрь",
"12"=>"Декабрь";
foreach ($arr as $dm=>$mm){

//$new_month=$month;
$new_month=$arr[$month];
$new_month1=$dm;//почему декабрь выскакивает?
$new_month=$mm;


// echo $dm."<br>";
// echo $arr[$dm]."<br>";
echo "<option value='$new_month1'>$new_month</option>";
}

?>
</select>

<select name="year_bisday">

<?php

$year=date("Y";
for ($dy=1900; $dy<=$year; $dy++){

$new_year=$year;
$new_year=$dy;



echo "<option value='$new_year'>$new_year</option>";
}

?>
</select> </td>
</tr>
<tr>
<td>Введите пол</td>
<td> <input type="radio" checked name="Pol" value="no">Не выбрано
<input type="radio" name="Pol" value="men">Мужской
<input type="radio" name="Pol" value="women">Женский
</td>
</tr>
<tr>
<td>Загрузите аватар</td>
<td> <input type="file" name="avatar" /> </td>
</tr>
<tr>
<tr border="0">
<td colspan="2" align="right"><input type="submit" name="reg" value="Зарегистрироваться" /> </td>
</tr>
</table>
</form>

<p><a href='formaauth.html' title='Авторитизатия'>Авторитизатия</a></p>

</body>
</html>

фаил класса user_class.php
<?php


class User {

private $db;

private static $user;

private function __construct() {
$this->db=new mysqli('localhost', 'root', '', 'myorganisation');
$this->db->query("SET NAME 'utf8'";

}

public function dobuser() {
if ($user === null) self::$user=new User();
return self::$user;

}


public function reg_user($login, $password, $e_mail, $date_bisday, $month_bisday, $year_bisday, $Pol) {
if ($login == "" return false;
if ($password == "" return false;
if ($e_mail == "" return false;
$password=md5($password);
return $this->db->query("INSERT INTO `avtoricacyatb` (`login`, `password`, `e_mail`, `date_bisday`, `month_bisday`, `year_bisday`, `Pol`, `reg_date`) VALUES
('$login', '$password', '$e_mail', '$date_bisday', '$month_bisday', '$year_bisday', '$Pol', '".time()."')";
}




public function checkUser($login, $password) {
$result_set=$this->db->query("SELECT `password` FROM `avtoricacyatb` WHERE `login`='$login' ";
//получаем из базы данные пользователя и получаем массив одномерный
$user=$result_set->fetch_assoc();
$result_set->close();

if (!$user) {
//echo "юзер не получен".$login;
return false;}
else {
//return $user["password"]===md5($password);
if ($user["password"]===$password){//echo "<b>пароль совпадает</b>";
return true;}
else {echo "пароль не совпадает<br>".$password."<br>".$user["password"];
return false;}
}
}



public function checkAtribut($login, $password) {
$result_set=$this->db->query("SELECT `password` FROM `avtoricacyatb` WHERE `login`='$login' ";
//получаем из базы данные пользователя и получаем массив одномерный
$user=$result_set->fetch_assoc();
$result_set->close();

if (!$user) {
return false;}
else {
//return $user["password"]===md5($password);
if ($user["password"]===$password){//echo "<b>пароль совпадает</b>";
return true;}
else {echo "пароль не совпадает<br>".$password."<br>".$user["password"];
return false;}
}
}




public function getAvatar($login) {
$result_set=$this->db->query("SELECT `avatar_user` FROM `avtoricacyatb` WHERE `login`='$login' ";
$row_avatar=$result_set->fetch_assoc();
$result_set->close();
return $row_avatar[avatar_user];
}


public function setAvatar($login, $name_avatar) {
//$result_set=$this->db->query("UPDATE `avtoricacyatb` SET `avatar_user`='$name_avatar' WHERE `login`='$login' ";
//$result_set->close();
return $this->db->query("INSERT INTO `avtoricacyatb` (`avatar_user`) VALUES
('$name_avatar') WHERE `login`='$login'";
}


public function isAuth() {
session_start();
$login = $_SESSION["login"];
$password = $_SESSION["password"];
return $this->checkUser($login, $password);

}


public function loginzapis($login, $password) {
$password=md5($password);
if ($this->checkUser($login, $password)) {
session_start();
$_SESSION["login"]=$login;
$_SESSION["password"]=$password;
return true;
} else {
return false;
}
}


public function __destruct() {
if ($this->db) $this->db->close();
}


}
?>
Помогите пожалуста почему ф-ция uploadFile($file) не возвращает файлу index знажение $name_avatar, хотя в папку аватарку загружает???
Профиль Ответить
14.12.2013 23:25:16 Загрузка аватарки Сообщение #5
LLIMATKO

LLIMATKO

Эксперт

Эксперт

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

Сообщений: 129

млин без бутылки не разобраться - пошел за бутылкой)
Профиль Ответить
14.12.2013 23:35:34 Загрузка аватарки Сообщение #6
LLIMATKO

LLIMATKO

Эксперт

Эксперт

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

Сообщений: 129

через echo пробовал найти ошибку? че он тебе выдает?
Профиль Ответить
14.12.2013 23:49:20 Загрузка аватарки Сообщение #7
alexandrdante

alexandrdante

Модератор

Модератор

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

Сообщений: 207

Посмотрю Ваш код ночью или после начала рабочего дня.Правда,кода много. Будем шаманить)
Профиль Ответить
16.12.2013 00:58:03 Загрузка аватарки Сообщение #8
tanysha86

tanysha86

Новичок

Новичок

Дата регистрации:
15.10.2013 23:32:05

Сообщений: 4

Всем ОГРОМНОЕ спасибо за участие, но я вроди бы догадалась в чем дело, надо ыло просто назначить переменную $name_avatar глобальной.
Профиль Ответить