Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка Parse error: syntax error, unexpected T_ELSE in Z:\home\localhost\www\pStory\update_user.php on line 30

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Parse error: syntax error, unexpected T_ELSE in Z:\home\localhost\www\pStory\update_user.php on line 30
Mahay
Отправлено: 21 Мая, 2013 - 15:57:12
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Подскажите пожалуйста в чем проблема
Вот код обработчика:
CODE (SQL):
скопировать код в буфер обмена
  1. <?php
  2. session_start();
  3. include ("registr/bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
  4.  
  5. IF (!empty($_SESSION['login']) AND !empty($_SESSION['password']))
  6. {
  7. //если существует логин и пароль в сессиях, то проверяем, действительны ли они
  8. $login = $_SESSION['login'];
  9. $password = $_SESSION['password'];
  10. $result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'",$db);
  11. $myrow2 = mysql_fetch_array($result2);
  12. IF (empty($myrow2['id']))
  13.    {
  14.    //Если не действительны, то закрываем доступ
  15.     exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
  16.    }
  17. }
  18. else {
  19. //Проверяем, зарегистрирован ли вошедший
  20. exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }
  21.  
  22. $old_login = $_SESSION['login']; //Старый логин нам пригодиться
  23. $id = $_SESSION['id'];//идентификатор пользователя тоже нужен
  24. $ava = "avatars/net-avatara.jpg";//стандартное изображение будет кстати
  25.  
  26. ////////////////////////
  27. ////////ИЗМЕНЕНИЕ ИМЕНИ
  28. ////////////////////////
  29.  
  30. else IF (isset($_POST['name_'];))//Если существует пароль
  31.       {
  32. $name_ = $_POST['name_'];
  33. $name_ = stripslashes($name_);$name_ = htmlspecialchars($name_);$name_ = trim($name_);//удаляем все лишнее
  34. IF ($name_ == '') { exit("Вы не ввели пароль");} //если пароль не введен, то выдаем ошибку
  35.  
  36. IF (strlen($name_) < 3 OR strlen($name_) > 15) {//проверка на количество символов
  37. exit ("Пароль должен состоять не менее чем из 3 символов и не более чем из 15."); //останавливаем выполнение сценариев
  38. }
  39.  
  40. $result8 = mysql_query("UPDATE users SET name_='$name_' WHERE login='$old_login'",$db);//обновляем пароль
  41. IF ($result8=='TRUE') {//если верно, то обновляем его в сессии
  42. $_SESSION['name_'] = $name_;
  43. echo "<html><head><meta http-equiv='Refresh' content='5; URL=page.php?id=".$_SESSION['id']."'></head><body>Ваш пароль изменен! Вы будете перемещены через 5 сек. Если не хотите ждать, то <a href='page.php?id=".$_SESSION['id']."'>нажмите сюда.</a></body></html>";}//отправляем обратно на его страницу
  44.  
  45.       }
  46.  
  47. ////////////////////////
  48. ////////ИЗМЕНЕНИЕ ПАРОЛЯ
  49. ////////////////////////
  50.  
  51. else IF (isset($_POST['password']))//Если существует пароль
  52.       {
  53. $password = $_POST['password'];
  54. $password = stripslashes($password);$password = htmlspecialchars($password);$password = trim($password);//удаляем все лишнее
  55. IF ($password == '') { exit("Вы не ввели пароль");} //если пароль не введен, то выдаем ошибку
  56.  
  57. IF (strlen($password) < 3 OR strlen($password) > 15) {//проверка на количество символов
  58. exit ("Пароль должен состоять не менее чем из 3 символов и не более чем из 15."); //останавливаем выполнение сценариев
  59. }
  60.  
  61. $password = md5($password);//шифруем пароль
  62. $password = strrev($password);// для надежности добавим реверс
  63. $password = $password."b3p6f";
  64. //можно добавить несколько своих символов по вкусу, например, вписав "b3p6f". Если этот пароль будут взламывать методом подбора у себя на сервере этой же md5,то явно ничего хорошего не выйдет. Но советую ставить другие символы, можно в начале строки или в середине.
  65. //При этом необходимо увеличить длину поля password в базе. Зашифрованный пароль может получится гораздо большего размера.
  66.  
  67.  
  68. $result4 = mysql_query("UPDATE users SET password='$password' WHERE login='$old_login'",$db);//обновляем пароль
  69. IF ($result4=='TRUE') {//если верно, то обновляем его в сессии
  70. $_SESSION['password'] = $password;
  71. echo "<html><head><meta http-equiv='Refresh' content='5; URL=page.php?id=".$_SESSION['id']."'></head><body>Ваш пароль изменен! Вы будете перемещены через 5 сек. Если не хотите ждать, то <a href='page.php?id=".$_SESSION['id']."'>нажмите сюда.</a></body></html>";}//отправляем обратно на его страницу
  72.  
  73.       }
  74.  
  75.  
  76.  
  77. ////////////////////////
  78. ////////ИЗМЕНЕНИЕ АВАТАРЫ
  79. ////////////////////////
  80.  
  81. else IF (isset($_FILES['fupload']['name'])) //отправлялась ли переменная
  82.       {
  83.  
  84. IF (empty($_FILES['fupload']['name']))
  85. {
  86. //если переменная пустая (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"
  87. $avatar = "registr/avatars/net-avatara.jpg"; //можете нарисовать net-avatara.jpg или взять в исходниках
  88. $result7 = mysql_query("SELECT avatar FROM users WHERE login='$old_login'",$db);//извлекаем текущий аватар
  89. $myrow7 = mysql_fetch_array($result7);
  90. IF ($myrow7['avatar'] == $ava) {//если аватар был стандартный, то не удаляем его, ведь у на одна картинка на всех.
  91. $ava = 1;
  92. }
  93. else {unlink ($myrow7['avatar']);}//если аватар был свой, то удаляем его, затем поставим стандарт
  94. }
  95.  
  96. else
  97. {
  98. //иначе - загружаем изображение пользователя для обновления
  99. $path_to_90_directory = 'registr/avatars/';//папка, куда будет загружаться начальная картинка и ее сжатая копия
  100.  
  101.        
  102. IF(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))//проверка формата исходного изображения
  103.          {     
  104.                        
  105.                 $filename = $_FILES['fupload']['name'];
  106.                 $source = $_FILES['fupload']['tmp_name'];      
  107.                 $target = $path_to_90_directory . $filename;
  108.                 move_uploaded_file($source, $target);//загрузка оригинала в папку $path_to_90_directory
  109.  
  110.         IF(preg_match('/[.](GIF)|(gif)$/', $filename)) {
  111.         $im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  112.         }
  113.         IF(preg_match('/[.](PNG)|(png)$/', $filename)) {
  114.         $im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  115.         }
  116.        
  117.         IF(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
  118.                 $im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  119.         }
  120.        
  121. //СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru
  122.  
  123. // Создание квадрата 90x90
  124. // dest - результирующее изображение
  125. // w - ширина изображения
  126. // ratio - коэффициент пропорциональности
  127.  
  128. $w = 90;  // квадратная 90x90. Можно поставить и другой размер.
  129.  
  130. // создаём исходное изображение на основе
  131. // исходного файла и определяем его размеры
  132. $w_src = imagesx($im); //вычисляем ширину
  133. $h_src = imagesy($im); //вычисляем высоту изображения
  134.  
  135.          // создаём пустую квадратную картинку
  136.          // важно именно truecolor!, иначе будем иметь 8-битный результат
  137.          $dest = imagecreatetruecolor($w,$w);
  138.  
  139.          // вырезаем квадратную серединку по x, если фото горизонтальное
  140.          IF ($w_src>$h_src)
  141.          imagecopyresampled($dest, $im, 0, 0,
  142.                           round((max($w_src,$h_src)-min($w_src,$h_src))/2),
  143.                           0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
  144.  
  145.          // вырезаем квадратную верхушку по y,
  146.          // если фото вертикальное (хотя можно тоже серединку)
  147.          IF ($w_src<$h_src)
  148.          imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w,
  149.                           min($w_src,$h_src), min($w_src,$h_src));
  150.  
  151.          // квадратная картинка масштабируется без вырезок
  152.          IF ($w_src==$h_src)
  153.          imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
  154.                  
  155.  
  156. $date=time(); //вычисляем время в настоящий момент.
  157. imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен.
  158.  
  159. //почему именно jpg? Он занимает очень мало места + уничтожается анимирование gif изображения, которое отвлекает пользователя. Не очень приятно читать его комментарий, когда краем глаза замечаешь какое-то движение.
  160.  
  161. $avatar = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара.
  162.  
  163. $delfull = $path_to_90_directory.$filename;
  164. unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было - получить миниатюру.
  165.  
  166. $result7 = mysql_query("SELECT avatar FROM users WHERE login='$old_login'",$db);//извлекаем текущий аватар пользователя
  167. $myrow7 = mysql_fetch_array($result7);
  168.  
  169. IF ($myrow7['avatar'] == $ava) {//если он стандартный, то не удаляем его, ведь у нас одна картинка на всех.
  170. $ava = 1;
  171. }
  172. else {unlink ($myrow7['avatar']);}//если аватар был свой, то удаляем его
  173.  
  174.  
  175. }
  176. else
  177.         {
  178.                 //в случае несоответствия формата, выдаем соответствующее сообщение
  179.         exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>");
  180.                 }
  181.  
  182. }
  183.  
  184. $result4 = mysql_query("UPDATE users SET avatar='$avatar' WHERE login='$old_login'",$db);//обновляем аватар в базе
  185. IF ($result4=='TRUE') {//если верно, то отправляем на личную страничку
  186. echo "Ваша аватарка изменена! Вы будете перемещены через 5 сек. Если не хотите ждать, то <a href='page.php?id=".$_SESSION['id']."'>нажмите сюда.</a>";}
  187.  
  188.       }
  189. ?>
  190.  
  191.  
 
 Top
Crate
Отправлено: 21 Мая, 2013 - 16:21:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 312
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




Почитайте документацию про if / else if / else.
 
 Top
esterio
Отправлено: 21 Мая, 2013 - 20:40:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Вопрос в лоб: где здесь SQL?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB