Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 96

Неполучается с загрузкой аваторки

11.01.2010, 22:36. Показов 811. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
зделал вот так (при регистрации)
ни выдаёт ни каких ошибок и в БД не заносит!
Не могу понять в чём проблема ...

Скрипт:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
function output_err($num) 
{
    $err[0] = '<font color=800000><center>Неверно введен E-mail, поле E-mail<br>
должно соответствовать формату XXXX@XXXX.ru</center></font>';
    $err[1] = '<font color=800000><center>Не введена фамилия!</center></font>'; 
    $err[2] = '<font color=800000><center>Не введено имя!</center></font>';
    $err[3] = '<font color=800000><center>Не указан возрост!</center></font>';
    $err[4] = '<font color=800000><center>Не указан город!</center></font>';
    $err[5] = '<font color=800000><center>Не указан телефон!</center></font>';
    $GLOBALS['error']=true;
  echo  $err[$num].'<br>'; 
}
$error=false;
if (isset($_POST['submit'])) {
if ( $_POST['submit'] )
$data = date("d.m.Y - H:i");
$ip = ($_SERVER['REMOTE_ADDR']);
$mail = $_POST['mail'];
$fam = $_POST['fam'];
$imia = $_POST['imia'];
$let = $_POST['let'];
$gor = $_POST['gor'];
$tel = $_POST['tel'];
    if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['mail'])) 
             output_err(0);
    if ($par == '' || $par2 == '') {
      echo "<font color=800000><center>Поле Пароль не заполнено!</center></font><br>";
   }elseif($par !== $par2) {
      echo "<font color=800000><center>Поля Пароль и Повтор пароля не совпадают!</center></font><br>"; }
   if(empty($_POST['fam'])) 
             output_err(1);
   if(empty($_POST['imia'])) 
             output_err(2);
   if(empty($_POST['let'])) 
             output_err(3);
   if(empty($_POST['gor'])) 
             output_err(4);
   if(empty($_POST['tel'])) 
             output_err(5);
}else
 {
  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="400000";//максимальный размер файла
  $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]>800 or $size[1]>800) {exit("<p>Не допустимые габариты аватара. Допустимо лишь 800 х 800 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>'; } 
     }
   }
 }
$db = mysql_connect("localhost", "wmggfg_666","666");
mysql_select_db('wmggfg_666');
$query = "SELECT `id`
FROM `users`
WHERE `mail`='{$mail}' ";
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) > 0)
{
echo '<center>Вы уже зарегистрированны!</center>';
}else {
$sql = "INSERT INTO users (data, ip, mail, par, fam, imia, let, gor, tel, avatar)  
VALUES ('$data', '$ip', '$mail', '$par', '$fam', '$imia', '$let', '$gor', '$tel','$file_name')";
    if (!$error){
mysql_query($sql);
  die ("<center><font color=006400><b>".$_POST['fam']." ".$_POST['imia']." регистрация успешно выполнена!</b></font></center>");
                 }
            }
        }
    }
}
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2010, 22:36
Ответы с готовыми решениями:

Неполучается установить
защёл на www.oracle.com скачал jdk-7u45-windows-i586 - пытаюсь запустить комп ругается что данный пакет не является валидным для винды....

при установки неполучается
проблема хотел поставить на нетбук XP с флешки, при установки удалил все разделы, зделал новый 1 с раздел, приступая к установке не...

Построить график неполучается
Программа строит график функции. Писал для другой функции, но с этой(3+2/x+3/(x*x)) почему то не хочет работать. Компилируется но потом...

4
Программист
 Аватар для motakuji
107 / 111 / 9
Регистрация: 27.09.2009
Сообщений: 331
11.01.2010, 23:06
Цитата Сообщение от Lari1991 Посмотреть сообщение
$fotoksize=round($file_size/10.24)/100;
$fotomax=round($max_file_size/10.24)/100;
может на 1024 делить всё-таки?
Цитата Сообщение от Lari1991 Посмотреть сообщение
$file_type_length = strlen($file_type) - 3;
а если jpeg? У меня ща голова не работает. Могу предложить
PHP
1
2
$file_type_arr=explode(".",$userfile);
$file_type=$file_type_arr[count($file_type_arr)-1];
получишь расширение.

хотя,если не ошибаюсь,то есть $_FILES['userfile']['type']
вот только не помню что он возвращает.
0
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 96
11.01.2010, 23:24  [ТС]
Цитата Сообщение от motakuji Посмотреть сообщение
может на 1024 делить всё-таки?

а если jpeg? У меня ща голова не работает. Могу предложить
PHP
1
2
$file_type_arr=explode(".",$userfile);
$file_type=$file_type_arr[count($file_type_arr)-1];
получишь расширение.

хотя,если не ошибаюсь,то есть $_FILES['userfile']['type']
вот только не помню что он возвращает.
А куда мне это вставить надо или вместо чего?
PHP
1
2
$file_type_arr=explode(".",$userfile);
$file_type=$file_type_arr[count($file_type_arr)-1];
0
Программист
 Аватар для motakuji
107 / 111 / 9
Регистрация: 27.09.2009
Сообщений: 331
11.01.2010, 23:35
Цитата Сообщение от Lari1991 Посмотреть сообщение
if(move_uploaded_file($file_temp, ''.$path.'' .$file_name.''))//загружаем файл
Зачем тут эти кавычки?

Добавлено через 5 минут
Цитата Сообщение от Lari1991 Посмотреть сообщение
$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();
}
вот сравнивай свой массив с тем,что я написал. Протести сначала. Правильно ли выведет.Просто
PHP
1
echo $file_type;
0
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 96
11.01.2010, 23:59  [ТС]
Блин нифига не понимать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.01.2010, 23:59
Помогаю со студенческими работами здесь

Неполучается записать аудио сд
У меня стоит Win7 потаюсь записать музыку на балванку , записываю но сюдюк в машине всеравно нечитает то что я записал. Nero 6/7 пишет...

Неполучается передать переменную..
Помогите пожалуйста, нашел готовый кусок кода:&lt;input type='button'...

Неполучается использовать функцию(
Дана последовательность чисел, оканчивающаяся нулём. Требовалось написать программу, которая находит сумму чисел, цифры которых образуют...

Неполучается решить пример.
немогу написать циклическую задачу на ассемблере.Кому не в лом помогите. задача выглядит так F=2*a+3*x где а изменяется от 28 до 18 с...

Неполучается создать процесс
Привет! Такая проблема возникла. В Visual C++ 2010 неполучается создать процесс. CreateProcess(argv,0,0,0,0,0,0,0,&amp;sui,&amp;pi); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru