2й урок php
|
|
cougraAcc | Дата: Суббота, 01 Января 2011, 16:32 | Сообщение # 21 |
Яркая личность GD
Сейчас нет на сайте
| extension=php_gd2.dll он разкоментирован...
|
|
| |
Liv][ | Дата: Суббота, 01 Января 2011, 16:38 | Сообщение # 22 |
был не раз
Сейчас нет на сайте
| cougraAcc, Эм ну тогда получается дело не в нём потому что как не отображалось так и не отображается посмотрел сайт ещо раз смутило вот это \php-4.3.9-Win32.zip\php-4.3.9-Win32\extensions\ Ну хотя ладно капчу я когда-то давно ставил с исходника на сайт правда другую но если что потом разберусь не разберусь напишу главное аватар не загружается выдаёт ошибку Warning: copy() [function.copy]: Filename cannot be empty in C:\xampp\xampp\htdocs\reg2.php on line 42 Ошибка загрузки файлаВы успешно зарегистрированны, теперь вы можете войти на сайт войти Code if(copy($_FILES["filename"]["tmp_name"], "upload".$_FILES["filename"]["name"])) {
Сообщение отредактировал Liv][ - Суббота, 01 Января 2011, 16:43 |
|
| |
cougraAcc | Дата: Суббота, 01 Января 2011, 16:47 | Сообщение # 23 |
Яркая личность GD
Сейчас нет на сайте
| Liv][, тогда давай весь этот кусок перепишем:) Code <? if(isset($_POST['upload']))//если выбран флажок "Да" на загрузку файла { /*создаем переменные для загруженного файла из глобального массива FILES*/ $userfile = $_FILES['userfile']['name']; $file_size = $_FILES['userfile']['size']; $file_temp = $_FILES['userfile']['tmp_name']; $file_err = $_FILES['userfile']['error']; $path = 'img/avatars/'; // генерация нового имени файла $randomizer = rand(0000, 9999); $file_name = $randomizer.$userfile; //расчет длины файла $file_type = $userfile; $file_type_length = strlen($file_type) - 3; $file_type = substr($file_type, $file_type_length); $max_file_size="30720";//максимальный размер файла $fotoksize=round($file_size/10.24)/100; $fotomax=round($max_file_size/10.24)/100; if ($fotoksize>$fotomax) {exit("<p>Вы превысили допустимый размер аватара!<BR><B>Максимально допустимый</B> размер аватара: <B>$fotomax </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!</p>");} $size=getimagesize($_FILES['userfile']['tmp_name']); if ($size[0]>150 or $size[1]>150) {exit("<p>Не допустимые габариты аватара. Допустимо лишь 150 х 150 px!</p>");} $file_type = strtolower($file_type); // преобразуем символы к нижнему регистру /*перечисляем поддерживаемые типы файлов*/ $files = array(); $files[] = 'jpeg'; $files[] = 'jpg'; $files[] = 'gif'; $files[] = 'png'; $key = array_search($file_type, $files); if(!$key) { echo '<p>Данный тип файла не поддерживается!</p><br />'; exit(); } // Проверить на наличие ошибок $error_count = count($file_error); if($error_count > 0) { for($i = 0; $i <= $error_count; ++$i) { echo $_FILES['userfile']['error'][$i]; } } else //если ошибок нет { if(!empty($userfile))//если поле не пустое { if($file_size>"0" and $file_size<$max_file_size)//проверка размера { /*проверка существования одноименного файла*/ if (file_exists("$path/$userfile")) {exit("<p class='error'>Файл с таким именем уже существует на сервере! Измените имя на другое!<p>");} else { if(move_uploaded_file($file_temp, ''.$path.'' .$file_name.''))//загружаем файл { echo '<p>Загрузка аватарки успешно завершена!</p>'; echo '<p><b>Информация о загруженном аватаре:</b></p><ul><li>Имя загруженного файла: ' .$userfile. '</li><li>Новое имя файла: ' .$file_name. '</li><li>Тип файла: ' .$file_type.'</li><li>Размер файла: ' .$file_size. '</li><li>Путь к временному файлу: ' .$file_temp. '</li><li>Ошибок в файле: ' . $file_err. '</li></ul>'; } else{ echo '<h3>Ошибка загрузки!</h3>'; } } } } } } Надеюсь разберешься:)
|
|
| |
Liv][ | Дата: Суббота, 01 Января 2011, 16:56 | Сообщение # 24 |
был не раз
Сейчас нет на сайте
| Ну да вроде бы разобрался даже без ошибок вышло где были подправил Залогинился Привет, liverys1 ты авторизован Выход аватара нет пробил по поиску логин liverys1 - то что выдало и значок попорченного изображения щас внимательно всё перечитаю думаю что то упустил Большое спасибо за советы Надеюсь не отнял много времени ---------------------------------------------------------------- Перечитал В самом начале нашёл ошибку Папку Upload не создал Создал. Перерагался. Аватарки нет в папки не появилась Ну думаю ошибка в этом Quote Теперь в базе данных в таблице users создадим строку ava Попдробнее можно чем заполнить и может я ошибся в типе
Сообщение отредактировал Liv][ - Суббота, 01 Января 2011, 17:04 |
|
| |
Azver | Дата: Суббота, 01 Января 2011, 18:46 | Сообщение # 25 |
постоянный участник
Сейчас нет на сайте
| Чистый $_GET и тут возможна SQL атака.
|
|
| |
cougraAcc | Дата: Суббота, 01 Января 2011, 18:53 | Сообщение # 26 |
Яркая личность GD
Сейчас нет на сайте
| Azver, знаешь тут есть активная xss и возможность залить шелл, тут базовое представление... а защита слишком сложно для людей которые работают в такой среде впервые.... Добавлено (01.01.2011, 18:53) --------------------------------------------- Liv][, тип варчар
|
|
| |
Liv][ | Дата: Суббота, 01 Января 2011, 19:06 | Сообщение # 27 |
был не раз
Сейчас нет на сайте
| Ага спасибо большое а эм...длина/значения сколько ставить? всё равно фотки нет может нужно dll поставить? или значение какое?
Сообщение отредактировал Liv][ - Суббота, 01 Января 2011, 19:08 |
|
| |
Azver | Дата: Суббота, 01 Января 2011, 19:22 | Сообщение # 28 |
постоянный участник
Сейчас нет на сайте
| По моему для новичков нужно сразу донести базовые принципы безопасности. Например экранировать кавычки, удалять SQL команды из $_GET и $_POST.
|
|
| |
cougraAcc | Дата: Суббота, 01 Января 2011, 19:27 | Сообщение # 29 |
Яркая личность GD
Сейчас нет на сайте
| Azver, Базовые принципы я давал $login = stripslashes($login); $login = htmlspecialchars($login); $login = trim($login);
|
|
| |
Liv][ | Дата: Суббота, 01 Января 2011, 19:28 | Сообщение # 30 |
был не раз
Сейчас нет на сайте
| Quote $login = stripslashes($login); $login = htmlspecialchars($login); $login = trim($login); Это такое значение??? или это не мне...
Сообщение отредактировал Liv][ - Суббота, 01 Января 2011, 19:28 |
|
| |
BOOM | Дата: Суббота, 01 Января 2011, 19:30 | Сообщение # 31 |
I am the creator of ADE
Сейчас нет на сайте
| Прикольный урок. Побольше пояснений к коду надо, начинающий, просто не поймёт.
______________________________ Я вернулся, и это чудо. ______________________________
|
|
| |
cougraAcc | Дата: Суббота, 01 Января 2011, 19:40 | Сообщение # 32 |
Яркая личность GD
Сейчас нет на сайте
| BOOM, ну код и так прокомментирован, я постарался улучшить код на форуме новый урок:) Добавлено (01.01.2011, 19:40) --------------------------------------------- Liv][, echo '<p>Загрузка аватарки успешно завершена!</p>'; echo '<p><b>Информация о загруженном аватаре:</b></p><ul><li>Имя загруженного файла: ' .$userfile. '</li><li>Новое имя файла: ' .$file_name. '</li><li>Тип файла: ' .$file_type.'</li><li>Размер файла: ' .$file_size. '</li><li>Путь к временному файлу: ' .$file_temp. '</li><li>Ошибок в файле: ' . $file_err. '</li></ul>'; Когда нажимаешь зарегистрироваться этот код как работает?
|
|
| |
Liv][ | Дата: Суббота, 01 Января 2011, 19:46 | Сообщение # 33 |
был не раз
Сейчас нет на сайте
| if(copy($_FILES["filename"]["tmp_name"], "upload"$_FILES["filename"]["name"]); { эта часть старого кода выдаёт ошибку но выполняеться а нового нет... Какая сдесь ошибка то?
Сообщение отредактировал Liv][ - Воскресенье, 02 Января 2011, 19:18 |
|
| |
Kras-1 | Дата: Воскресенье, 24 Апреля 2011, 16:34 | Сообщение # 34 |
частый гость
Сейчас нет на сайте
| Все работает, но прописывает снизу вот это Code Warning: Cannot modify header information - headers already sent by (output started at /home/krasst/public_html/new/index.php:4) in /home/krasst/public_html/new/exit.php on line 4
|
|
| |