За последние 24 часа нас посетили 15077 программистов и 1654 робота. Сейчас ищут 911 программистов ...

Проблема со строками - "пропадает" значение

Тема в разделе "PHP для новичков", создана пользователем BeInspired, 15 авг 2009.

  1. BeInspired

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

    С нами с:
    11 сен 2007
    Сообщения:
    45
    Симпатии:
    0
    Есть форма:
    Код (Text):
    1.     <form enctype="multipart/form-data" action=" <?php echo $_SERVER['PHP_SELF'] ?>" method="post">
    2.     <input type="hidden" name="MovieID" value="1200">
    3.     Send this file: <input name="userfile" type="file">
    4.     <input type="submit" name="Action" value="Send File">
    5.     </form>
    Есть обработчик
    Код (Text):
    1.  
    2. $MovieID = $_POST[MovieID];
    3.  
    4. $basedir = '/data/srv/www/htdocs/files/';
    5. $basedirimage = 'image/';
    6.  
    7.  
    8. $outputPath = $uploaddir . $MovieID . ".flv";
    9.  
    10.  
    11. $previewPath = $uploaddirimage . $MovieID . ".jpg";
    12.  
    13. $previewMiniPath = $uploaddirimage . $MovieID . "_mini.jpg";
    Бьюсь уже два часа - не могу понять в чем ошибка - почему $previewMiniPath = /data/srv/www/htdocs/files/2009/image/.jpg??? Почему не присоединяется $MovieID??? Ведь должно быть /data/srv/www/htdocs/files/2009/image/1200.jpg... вывожу на экран массив $_POST - значение передано и оно там есть
     
  2. mawa

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

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    Попробуй задать имя файла, начинающегося с буквы.

    а1200.jpg
     
  3. BeInspired

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

    С нами с:
    11 сен 2007
    Сообщения:
    45
    Симпатии:
    0
    не помогло:
    Array ( [MovieID] => a1200 [Action] => Send File )


    /data/srv/www/htdocs/files/2009/image/.jpg
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Смысл этой строки?

    Мало того, что это делает код менее логичным, так еще в нем ошибка! Строковые ключи массива берутся в кавычки, иначе ключ может расцениваться как константа и будет что-то типа $_POST[null]. Если ошибки отключены - Вы так же долго и будете биться.

    У грамотных разработчиков на стадии разработки всегда error_reporting(E_ALL) - это экономит кучу времени на отладке. Лично я вообще его не отключаю, даже когда выставляю проекты в сеть - просто отключаю вывод и пишу в лог.
     
  5. BeInspired

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

    С нами с:
    11 сен 2007
    Сообщения:
    45
    Симпатии:
    0
    Kreker
    Спасибо! Убрал это присвоение и сделал просто $_POST["MovieID"] в соединении строк - заработало! =) насчет вывода ошибок - буду знать!