2010-07-28 6 views
1

не уверен, как я должен назвать название сообщения.php: разница между методами isset?

У меня есть submitbutton на моей странице, которая создает для меня папку. как только я нажму. сайт АВТОМАТИЧЕСКИ освежает. В моем документе нет сценария, в котором говорится, что страница должна обновляться. это просто происходит, когда я что-то подаю, правда?

if (isset($_POST['createDir'])) { 
    $dir = $_POST['dirname']; 
    $targetfilename = PATH . '/' . $dir; 
    if (!is_dir($targetfilename)) { 
     mkdir($targetfilename); 
     chmod($targetfilename, 0777); 
    } else { 
     echo "Folder exists!"; 
    } 
} 

немного ниже в моем сценарии, у меня есть то же самое, что и для удаления файлов и папок.

if (isset($_POST['deleteBtn'])) { 
    chmod(PATH, 0777); 
    foreach ($_POST['deletefiles'] as $value) { 
      unlink(PATH . '/' . $value); 
    } 
    echo "<META HTTP-EQUIV=Refresh CONTENT='0'>"; //doesn't work without it! 
} 

если я нажму кнопку submitbutton, чтобы удалить папку, страницы НЕ обновляются. Несмотря на то, что скрипт работает и файлы удаляются. Где разница между скриптом, создающим папку, а другая - удалением файлов. Я действительно не понимаю.

рассматривает матовый

+0

Дикая догадка: _ «немного дальше вниз» _ => после того, как вы уже показали список? – Wrikken

+0

, чтобы кнопки «создать папку» и «удалить папку» были помещены в форму, не так ли? И если вы нажмете одну кнопку, страница будет перезагружена формой, но если вы нажмете другую, ничего не произойдет, и страница не будет перезагружена? Или вы имеете в виду, что страницы _are_ перезагружены, но не всегда показывают обновленные conten ?? – catchmeifyoutry

+0

точно. и я не уверен, что только контент не отображается правильно или страница не обновляется. Однако, если я не обновляю страницу вручную с помощью мета-обновления, содержимое, в котором я перечисляю файлы, не обновляется. Файл get удален, но LIST (это список со всеми моими файлами) не обновляется. – matt

ответ

1

Ok, после нашего длительного разговора в комментариях, я думаю, что теперь я могу с уверенностью сказать, что это то, что происходит не так. Учитывая, что это заказ вашего код выполняет:

  1. если кнопка создания папки была нажата, создайте папку
  2. запустить через каталог и хранить все Пути к файлам в переменных
  3. если удаление папки кнопка/файл прессовали, удалите папку/файл
  4. отображения содержимого каталога извлекаться в шаге 2.

в этом случае, ошибка в том, что вышеописанный шаг 2 и 3 должны переключаться! Если вы сначала перечислите все файлы, а затем удалите их, они не будут отображаться на выходе с этого списка, как получено до удаления.

В общем, вы хотите сначала обработать любую пользовательскую команду для создания/удаления/изменения файлов и каталогов, и только в последний момент перечислите необходимое состояние файловой системы.

Смежные вопросы