За последние 24 часа нас посетили 17855 программистов и 1720 роботов. Сейчас ищут 926 программистов ...

Если долго мучАться,что-нибудь не получается...

Тема в разделе "PHP для новичков", создана пользователем Panich, 29 ноя 2011.

  1. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Понимаю,что код огромный,но посмотрите пожалуйста:
    Это начало обработчика введённых пользователем данных для изменения своих учётных:
    session_start();
    PHP:
    1. include ("bd.php");
    2. if (!empty($_SESSION['login']) and !empty($_SESSION['pass']))            
    3. {
    4. $login = mysql_real_escape_string($_SESSION['login']);
    5. $login = stripslashes($login);
    6. $login = htmlspecialchars($login);
    7. $login = trim($login);        
    8. $pass = mysql_real_escape_string($_SESSION['pass']);  
    9. $pass = stripslashes($pass);
    10. $pass = htmlspecialchars($pass);
    11. $pass = trim($pass);  
    12. $sql8 = "SELECT * FROM users WHERE login='$login' AND pass='$pass' LIMIT 1";
    13. $result8 = mysql_query($sql8, $db)or die("Ошибка в запросе: " . mysql_error());
    14.    if (!$result8)
    15.    {
    16.    echo "ошибка - ".mysql_error()."<br>";
    17.    echo $sql8;
    18.    exit();
    19.    }            
    20.    $myrow8 = mysql_fetch_array($result8);            
    21.    if (empty($myrow8['id']))            
    22.    {  
    23.    echo "<html>
    24.             <head>
    25.             <meta http-equiv='Refresh' content='3'; URL='../znakomstva/index.php'>
    26.             </head>
    27.               <body><p>Очевидно Вы не являетесь хозяином этой страницы!</p>
    28.               <a href='../znakomstva/index.php'>вернуться на стартовую страницу!</a>
    29.               </body>
    30.          </html>";
    31.    }
    32.    else
    33.    {
    34.    $id = $_SESSION['id'];
    35.       if (!preg_match("|^[\d]+$|", $id))    
    36.       {            
    37.       exit("<p>Неверный формат запроса! Проверьте URL</p>");        
    38.       }
    39.       else
    40.       {
    41.          if ($id != $myrow8['id'])
    42.          {
    43.          echo "<html>
    44.                  <head>
    45.                    <meta http-equiv='Refresh' content='3'; URL='../znakomstva/index.php'>
    46.                  </head>
    47.                  <body><p>Очевидно Вы не являетесь хозяином этой страницы!</p>
    48.                     <a href='../znakomstva/index.php'>вернуться на стартовую страницу!</a>
    49.                  </body>
    50.               </html>";  
    51.          }
    52.       }  
    53.    }      
    54. }            
    55. else
    56. {            
    57. echo "<html>
    58.          <head>
    59.          <meta http-equiv='Refresh' content='3'; URL='../znakomstva/index.php'>
    60.          </head>
    61.             <body><p>Очевидно Вы не являетесь хозяином этой страницы!</p>
    62.             <a href='../znakomstva/index.php'>вернуться на стартовую страницу!</a>
    63.             </body>
    64.       </html>";  
    65. }
    66. $old_name = $myrow8['name'];
    67. $old_login = $myrow8['login'];
    68. $old_pass = $myrow8['pass'];
    69. $old_sity = $myrow8['sity'];
    70. $old_text = $myrow8['text'];
    Вот касательно загрузки фотографий:
    PHP:
    1. if (isset($_FILES['fupload']['name']))                  
    2. {
    3.    if ($_FILES['fupload']['name'] == '')
    4.    {
    5.    unset($_FILES['fupload']['name']);
    6.    }
    7.    else
    8.    {
    9.    $max_files_allowed = "3";  
    10.    $sql14 = "SELECT avatar FROM users WHERE id = $id";
    11.    $result14 = mysql_query($sql14, $db)or die("Ошибка в запросе: " . mysql_error());
    12.       if (!$result14)
    13.       {
    14.       echo "ошибка - ".mysql_error()."<br>";
    15.       echo $sql14;
    16.       exit();
    17.       }
    18.       else
    19.       {
    20.           while ($row = mysql_fetch_assoc($result14))
    21.           {
    22.           $uploadedfiles = $row['avatar'];
    23.           echo $uploadedfiles .""; //Для отладки - отобразить какое значение в базе в данной ячейке для выбраного пользователя
    24.              if ($uploadedfiles >= $max_files_allowed) //Если пользователь загрузил больше, чем положено:
    25.              {
    26.              die("<p>Хотите больше загружать? Ставьте ящик админу</p>");
    27.              }
    28.           }
    29.       }
    30.    }
    31.    $path_to_180_directory = 'znakomstva/files/avatars/';
    32.    if (preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']));
    33.    {
    34.    $filename = $_FILES['fupload']['name'];                                        
    35.    $source = $_FILES['fupload']['tmp_name'];                
    36.    $target = $path_to_180_directory . $filename;
    37.        if(move_uploaded_file($source, $target))
    38.        {
    39.             if(preg_match('/[.](GIF)|(gif)$/', $filename))
    40.             {                            
    41.             $im = imagecreatefromgif($path_to_180_directory.$filename);
    42.             }                                
    43.             if(preg_match('/[.](PNG)|(png)$/', $filename))
    44.             {
    45.             $im = imagecreatefrompng($path_to_180_directory.$filename);
    46.             }                
    47.             if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename))
    48.             {                                          
    49.             $im = imagecreatefromjpeg($path_to_180_directory.$filename);                  
    50.             }
    51.             //Сохранять оригенал в той же папке, но под другим именем и в другом столбце
    52.             $w = 180;  
    53.             $w_src = imagesx($im);          
    54.             $h_src = imagesy($im);                  
    55.             $dest = imagecreatetruecolor ($w,$w);
    56.             if ($w_src > $h_src)
    57.             {              
    58.             imagecopyresampled ($dest, $im, 0, 0, round ((max($w_src,$h_src)-min($w_src,$h_src))/2), 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));              
    59.                 if ($w_src < $h_src)
    60.                 {                        
    61.                 imagecopyresampled ($dest, $im, 0, 0, 0, 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));        
    62.                     if ($w_src == $h_src)
    63.                     {                    
    64.                     imagecopyresampled ($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);  
    65.                     }
    66.                 }
    67.             }
    68.         $date = time();
    69.         imagejpeg($dest, $path_to_180_directory.$date.".jpg");
    70.         $avatar = $path_to_180_directory.$date.".jpg"; 
    71.         $uploadedfiles = $uploadedfiles + 1;
    72.         $sql15 = "UPDATE users SET avatar='$avatar', uploadedfiles = $uploadedfiles WHERE id = $id";
    73.         $result15 = mysql_query($sql15, $db)or die("Ошибка в запросе: " . mysql_error());
    74.            if (!$result15)
    75.            {
    76.            echo "ошибка - ".mysql_error()."<br>";
    77.            echo $sql15;
    78.            exit();
    79.            }
    80.            else
    81.            {
    82.            echo "<html>
    83.                     <head>
    84.                        <meta http-equiv='Refresh' content='3'; URL='../znakomstva/page_user.php?id=".$_SESSION['id']."'>          
    85.                     </head>
    86.                     <body>Ваша аватарка изменена! Вы будете перемещены через 3 сек. Если не хотите ждать, то <a href='../znakomstva/page_user.php?id=".$_SESSION['id']."'> нажмите сюда.</a>
    87.                     </body>
    88.                  </html>";
    89.             }
    90.         }
    91.         else
    92.         {
    93.         exit ("Ашипко. Пробуйте ещё раз или позже!");
    94.         }
    95.     else
    96.     {
    97.     exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>");
    98.     }
    99. }
    1. Усиленно просит вставить после
    PHP:
    1. exit ("Ашипко. Пробуйте ещё раз или позже!");
    фигурную скобку,а последнюю убрать вовсе-хотя у меня всё,вроде как,как должно построено в иерархии if,else.
    2. При загрузке фотографий выдаёт:
    PHP:
    1. exit ("Ашипко. Пробуйте ещё раз или позже!")
    ;
    3. Если грузишь маленького размера файл,что вообще начинает глючить и пишет,что
    PHP:
    1. if(move_uploaded_file($source, $target))
    не выполняет из-за ошибок!
    Прошу помощи...
     
  2. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Мне вот ещё интересно:
    Если я убираю else в последних двух случаях,а если оставляю,то выдаёт T_ELSE...это что же такое?
     
  3. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Со скобками разобрался...)))
    Прошу посмотреть вторую часть кода и рассказать почему не грузится файл?!
     
  4. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Теперь приготовьтесь-барабанная дробь...бах:
    Вся проблема была вовсе не в скобках расставленных с ошибками,а в точке с запятой вот тут:
    PHP:
    1. if (preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']));
    2. {
    Но теперь выдаёт ошибку:
    Код (Text):
    1. Ошибка в запросе: Unknown column 'РњРѕСЃРєРІР°' in 'where clause'
    Вот такие вот дела...как быть?
     
  5. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    Прикольный блог :)
     
  6. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    uploadedfiles = '$uploadedfiles'
     
  7. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Во всём разобрался-спасибо огромное!!!
    Всё время думал,что,когда пользователь загружает свои фотографии,то путь к ним каждый раз добавляется в поле ячейки и если загрузить 15 фоток,то будет в этом поле 15 путей к фотографиям...но вот только,в моём случае фотографии взаимозаменяются!
    Так вот вопрос:как так сделать,что бы пользователь мог загрузить,например,три фотографии!?
    Прошу помочь в идее реализации...