За последние 24 часа нас посетили 54393 программиста и 6470 роботов. Сейчас ищут 2065 программистов ...

Ошибка при отправка запроса

Тема в разделе "PHP для новичков", создана пользователем JonyFront, 10 июл 2017.

  1. JonyFront

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

    С нами с:
    5 июн 2016
    Сообщения:
    143
    Симпатии:
    1
    Здравствуйте! Нуждаюсь в вашей помощи, есть код загрузки файла на ajax, но начал выбивать ошибку Parse error: syntax error, unexpected '$name' (T_VARIABLE) in 20, если удалить переменную name, то пишет такую же ошибку на $size, вот код
    PHP:
    1. $path = "/uploads/";
    2.  
    3.    $valid_formats = array("jpg", "png", "gif", "bmp");
    4.    if($_POST['uploon'] == 'on')
    5.      {
    6.        $idrental = $_POST['id'];
    7.        $valueolds = $_POST['oldimg']
    8.        $name = $_FILES['rentpic']['name'];
    9.        $size = $_FILES['rentpic']['size'];
    10.      
    11.        if(strlen($name))
    12.          {
    13.            list($txt, $ext) = explode(".", $name);
    14.            if(in_array($ext,$valid_formats))
    15.            {
    16.            if($size<(3024*3024))
    17.              {
    18.                $actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
    19.                $tmp = $_FILES['rentpic']['tmp_name'];
    20.                if(move_uploaded_file($tmp, $path.$actual_image_name))
    21.                  {
    22.                    echo "<img src='/uploads/".$actual_image_name."'>";
    23.                  }
    24.                else
    25.                  echo "failed";
    26.              }
    27.              else
    28.              echo "Image file size max 3 MB";          
    29.              }
    30.              else
    31.              echo "Invalid file format..";  
    32.          }
    33.        
    34.        else
    35.          echo "Please select image..!";
    36.        
    37.        exit;
    38.      }
    Код ajax:
    Код (Javascript):
    1. <script>
    2. $('#fileinput').change(function(){
    3.     var send_url = $(this).attr('data-url');
    4.     var idr = $(this).attr('data-idimg');
    5.     var uplimag = 'on';
    6.     var oldimgs = $(this).attr('data-oldimg');
    7.     var fd = new FormData();
    8.  
    9.     console.log(this.files);
    10.     fd.append("pic", this.files[0]);
    11.     fd.append("id", idr);
    12.     fd.append("uploon", uplimag);
    13.     fd.append("oldimg", oldimgs);
    14.     $.ajax({
    15.         url: send_url,
    16.         type: "POST",
    17.         data: fd,
    18.         processData: false,
    19.         contentType: false,
    20.          success: function(data){
    21.                      $(".ajax-respond").html(data);
    22.    
    23.                  }
    24.     });
    25. });
    26. </script>
    Подскажите пожалуйста, что не так в коде? Заранее спасибо!
     
  2. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Точки с запятой не хватает
     
    JonyFront нравится это.
  3. JonyFront

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

    С нами с:
    5 июн 2016
    Сообщения:
    143
    Симпатии:
    1
    Спасибо)
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Maputo
    Просмотрел код и не увидел где не хватает точки с запятой)
    $valueolds=$_POST['oldimg'] увидел где не хватает :D
    нужно было 2-ди посмотреть код.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.840
    Симпатии:
    1.338
    Адрес:
    Лень
    Признаки говнокодинга:
    $переменная = $_POST...
     
  6. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @MouseZver
    а так:
    PHP:
    1. $idrental = $_POST['id'];
    2. $idrental = htmlspecialchars($idrental );
    или так:
    PHP:
    1. $idrental = htmlspecialchars($_POST['id']);
    ну и дальше пошел весь код, признак говнокода ушел вроде)
     
  7. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.897
    Симпатии:
    718
    PHP:
    1. $idrental = htmlspecialchars($_POST['id']);
    всё равно говнокод.
     
  8. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @romach
    а первый привел, пример, не говнокод?
     
  9. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.897
    Симпатии:
    718
    Зачем к id применять htmlspecialchars?
     
  10. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @romach
    я в принципе показал как делаю я и многие другие) знаю id это не к чему.