Увидев твой код, я заметил ошибку:
<div id="dir_del">
<form name="album_del_form" id="album_del_form" method="post" action="1a.php">
<input type="image" src="images/delete.gif" name="al_dell" id="al_dell" value="<? echo $file; ?>"/><? echo $file; ?>
<input type="hidden" id="al_del" value="<? echo $file; ?>" /></form>
</div>
Если вы напишите этот код в цикле while
, будет повторяться более одного элемента. Будет более одной формы с id='album_del_form'
и div
с id="dir_del"
. Пожалуйста, измените способ отображения формы.
Если я могу предложить, создайте его так:
<form name="album_del_form" id="album_del_form" method="post" action="1a.php">
<?php
//...
while (($file = readdir($cur_dir)) !== false)
{
?>
<?php
if ( $file != "." && $file != ".." && is_dir($file) )
{
$i_count = $i_count + 1;
?>
<div id="dir_del_<?php echo $i_count; ?>">
<input type="image"
src="images/delete.gif"
name="al_del[]"
id="al_dell_<?php echo $i_count; ?>"
value="delete <?php echo $file; ?>"/>
<?php echo $file; ?>
</div>
<?php
}
}
?>
</form>
<div id="dir_del"></div>
А внутри 1a.php
, получить доступ к al_dell с помощью массива:
if ( isset($_POST['al_del']) && is_array($_POST['al_del']) )
{
foreach ( $_POST['al_del'] as $dir )
{
rmdir($dir_path.'/'.$dir);
echo 'album deleted';
}
}
Напишите код с постоянным отступом, который поможет вам обнаружить ошибку и быстро ее исправить. Преврати это в привычку;)
Кроме того, используйте firebug, чтобы увидеть ошибку на вашей странице. Убедитесь, что форма jQuery и jQuery загружена, и форма отправляется через плагины формы jQuery, не используя обычную форму отправки. Форма, отправленная через форму jQuery, не приведет к перезагрузке или загрузке страницы 1a.php
, а запрос и ответ появятся в консоли Firebug и на вкладке сети (если вы ее активируете).