Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/32: Рейтинг темы: голосов - 32, средняя оценка - 4.94
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576

кнопка удаления

29.09.2011, 02:10. Показов 7173. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите сделать так чтоб рядом с каждой фоткой которая загрузилась была кнопка удаления
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
$imgDir = "img";
@mkdir($imgDir, 0777);
if (@$_REQUEST['doUpload']) {
$data = $_FILES['file'];
$tmp = $data['tmp_name'];       
 
if (@file_exists($tmp)) {
$info = @getimagesize($_FILES['file']['tmp_name']);
if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
$name = "$imgDir/".time().".".$p[1];
move_uploaded_file($tmp,$name);
$url = $name;
$result = mysql_query("INSERT INTO image (id,url) VALUES ('$id','$url')");
} else { 
 echo "<h2>Попытка добавить файл недопустимого формата</h2>";
}
} else {
 echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
 
 
$photos = array();
foreach (glob("$imgDir/*") as $path) {
$sz = getimagesize($path);
$tm = filemtime($path);
$photos[$tm] = array(
'time' => $tm,
'name' => basename($path),
'url' => str_replace($_SERVER['DOCUMENT_ROOT'],'',$path),
'w' => $sz[0],
'h' => $sz[1],
'wh' => $sz[3]
);
}
 
krsort($photos);
?>
 
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<?foreach($photos as $n=>$img) {?>
<p><img src="<?=$img['url']?>"
<?=$img['wh']?>
alt="Добавлена <?=date("d.m.Y H:i:s", $img['time'])?>">
<?}?>
заранее благодарю

Добавлено через 57 минут
как понимаю надо сделать так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
 /* Если была нажата ссылка удаления, удаляем запись */
 if (isset($_GET['del'])) {
   $del = intval($_GET['del']);
   $query = "delete from image where (id='$del')";
   /* Выполняем запрос. Если произойдет ошибка - вывести ее. */
   mysql_query($query) or die(mysql_error());
 }
 
$photos = array();
foreach (glob("$imgDir/*") as $path) {
$sz = getimagesize($path);
$tm = filemtime($path);
$photos[$tm] = array(
'time' => $tm,
'name' => basename($path),
'url' => str_replace($_SERVER['DOCUMENT_ROOT'],'',$path),
'w' => $sz[0],
'h' => $sz[1],
'wh' => $sz[3]
);
}
подскажите как кнопку сделать))))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.09.2011, 02:10
Ответы с готовыми решениями:

Кнопка для удаления выбранной строки из файла
У меня есть файл login.txt, в формате time|ip|browser Нужно чтобы вывелись все результаты в таблицу ...

Кнопка удаления в сообщениях. Передача в POST значения
Добрый день. Я имитирую ленту, или страницу форума, не суть важно. В БД хранятся сообщения и я вывожу их циклом. while ($row =...

Для каждой строки файла - отдельная кнопка удаления строки
Есть файл textfile.txt в нем скажем 10 строк. ( скрипт сам определяет сколько там строк ) Нужно вывести 10 кнопок с надписью удалить...

46
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
30.09.2011, 13:11  [ТС]
Студворк — интернет-сервис помощи студентам
Love_and_Peace,
выдал
Не удалось удалить запись!You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = '0'' at line 1
когда нажала удалить
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
30.09.2011, 13:23
вах, ф-я вроде нормальная. Сверь названия полей в твоей БД и внутри ф-ии, может они не совпадают.
и напиши это $dbTable = 'image'; после ф-ии, хотя уверен дело не в этом.
Псле запроса внутри ф-ии
вот здесь
PHP
1
$q = "SELECT url FROM $dbTable WHERE id = '%d'";
напиши
PHP
1
echo $q;
.
И покажи мне что выводится на экран
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
30.09.2011, 13:30  [ТС]
Love_and_Peace,
так сделала
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
 
include "../config.php";
 
 
$imgDir = "img";
@mkdir($imgDir, 0777);
if (@$_REQUEST['doUpload']) {
$data = $_FILES['file'];
$tmp = $data['tmp_name'];       
 
if (@file_exists($tmp)) {
$info = @getimagesize($_FILES['file']['tmp_name']);
if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
$name = "$imgDir/".time().".".$p[1];
move_uploaded_file($tmp,$name);
$url = $name;
$result = mysql_query("INSERT INTO image (id,url) VALUES ('$id','$url')");
   // возвращаем полседний ID или NULL:
   $ins_id = @mysql_insert_id();
   $insert_id  = ($ins_id != 0) ? $ins_id : null;} else { 
 echo "<h2>Попытка добавить файл недопустимого формата</h2>";
}
} else {
 echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
 
function delete($id, $dbTable)
{
    $q = "SELECT img FROM $dbTable WHERE id = '%d'";
    $query = sprintf($q, mysql_real_escape_string($id));
 
    if ($res = mysql_query($query))
    {
        $row = mysql_fetch_assoc($res);
        @unlink('../' . $row['img']);
    }
 
    $t = "DELETE FROM $dbTable WHERE id = '%d'";
    $query = sprintf($t, mysql_real_escape_string($id));
    $result = mysql_query($query);
 
    if(!$result)
       die ('Не удалось удалить запись!' . mysql_error());
    
    return true;
echo $q;
}
$dbTable = 'image';
 
// Определяем массив GET
$act = (isset($_GET['act'])) ? htmlspecialchars($_GET['act']) : "";
// можно как тип string установить еще
// то же самое и для id только с типом (int)
 
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     delete($id, $dbTable);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: index.php");
     exit();
}
 
 
 
$photos = array();
foreach (glob("$imgDir/*") as $path) {
$sz = getimagesize($path);
$tm = filemtime($path);
$photos[$tm] = array(
'time' => $tm,
'name' => basename($path),
'url' => str_replace($_SERVER['DOCUMENT_ROOT'],'',$path),
'w' => $sz[0],
'h' => $sz[1],
'wh' => $sz[3],
'id' => $insert_id 
);
}
 
krsort($photos);
?>
 <script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("index.php?act=del&id=" + id);
}
</script>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<table>
<?php foreach($photos as $n=>$img) : ?>
<tr>
  <td>
    <img src="<?=$img['url']?>" <?=$img['wh']?>
alt="Добавлена <?=date("d.m.Y H:i:s", $img['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $img['id']; ?>)'>Удалить</a></td>
</tr>
<?php endforeach; ?>
</table>
нажимаю удалить потом ок о не чего не происходит
поля в image id и url
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
30.09.2011, 13:49
вот это
Цитата Сообщение от little_dita Посмотреть сообщение
echo $q;
напиши сразу после этого
Цитата Сообщение от little_dita Посмотреть сообщение
$q = "SELECT img FROM $dbTable WHERE id = '%d'";
и покажи результат
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
30.09.2011, 14:05  [ТС]
Love_and_Peace,
ne чего не происходит
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
 
include "../config.php";
 
 
$imgDir = "img";
@mkdir($imgDir, 0777);
if (@$_REQUEST['doUpload']) {
$data = $_FILES['file'];
$tmp = $data['tmp_name'];       
 
if (@file_exists($tmp)) {
$info = @getimagesize($_FILES['file']['tmp_name']);
if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
$name = "$imgDir/".time().".".$p[1];
move_uploaded_file($tmp,$name);
$url = $name;
$result = mysql_query("INSERT INTO image (id,url) VALUES ('$id','$url')");
   // возвращаем полседний ID или NULL:
   $ins_id = @mysql_insert_id();
   $insert_id  = ($ins_id != 0) ? $ins_id : null;} else { 
 echo "<h2>Попытка добавить файл недопустимого формата</h2>";
}
} else {
 echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
 
function delete($id, $dbTable)
{
    $q = "SELECT img FROM $dbTable WHERE id = '%d'";
echo $q;
    $query = sprintf($q, mysql_real_escape_string($id));
 
    if ($res = mysql_query($query))
    {
        $row = mysql_fetch_assoc($res);
        @unlink('../' . $row['img']);
    }
 
    $t = "DELETE FROM $dbTable WHERE id = '%d'";
    $query = sprintf($t, mysql_real_escape_string($id));
    $result = mysql_query($query);
 
    if(!$result)
       die ('Не удалось удалить запись!' . mysql_error());
    
    return true;
}
$dbTable = 'image';
 
// Определяем массив GET
$act = (isset($_GET['act'])) ? htmlspecialchars($_GET['act']) : "";
// можно как тип string установить еще
// то же самое и для id только с типом (int)
 
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     delete($id, $dbTable);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: index.php");
     exit();
}
 
 
 
$photos = array();
foreach (glob("$imgDir/*") as $path) {
$sz = getimagesize($path);
$tm = filemtime($path);
$photos[$tm] = array(
'time' => $tm,
'name' => basename($path),
'url' => str_replace($_SERVER['DOCUMENT_ROOT'],'',$path),
'w' => $sz[0],
'h' => $sz[1],
'wh' => $sz[3],
'id' => $insert_id 
);
}
 
krsort($photos);
?>
 <script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("index.php?act=del&id=" + id);
}
</script>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<table>
<?php foreach($photos as $n=>$img) : ?>
<tr>
  <td>
    <img src="<?=$img['url']?>" <?=$img['wh']?>
alt="Добавлена <?=date("d.m.Y H:i:s", $img['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $img['id']; ?>)'>Удалить</a></td>
</tr>
<?php endforeach; ?>
</table>
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
30.09.2011, 14:11
Цитата Сообщение от little_dita Посмотреть сообщение
ne чего не происходит
на эран должен выводится запрос. может он по углам спрятался

Добавлено через 1 минуту
Цитата Сообщение от little_dita Посмотреть сообщение
document.location.replace("index.php?act =del&id=" + id);
у тя действительно действие происходят в index.php ?

Добавлено через 1 минуту
еще раз наведи на кнопку удаления, покажи какую ссылку показывает
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
30.09.2011, 14:12  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
на эран должен выводится запрос. может он по углам спрятался

Добавлено через 1 минуту

у тя действительно действие происходят в index.php ?

Добавлено через 1 минуту
еще раз наведи на кнопку удаления, покажи какую ссылку показывает
не вижу не чего
вуводит то же что и висала
javascript del() tak vrode
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
30.09.2011, 14:27
блин, чет запутано все.
тут не подставила свое значение вместо $id
Цитата Сообщение от little_dita Посмотреть сообщение
delete($id, $dbTable);
надо так
PHP
1
delete($insert_id, $dbTable);
Добавлено через 2 минуты
если не сработает, попробуй здесь
PHP
1
if (($act) && ($act == 'del'))
написать 3 знака равно, т.е.
PHP
1
if (($act) && ($act === 'del'))
и еще, сделай так (до ф-ии)
PHP
1
$insert_id = (int)$insert_id;
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
30.09.2011, 23:52  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
блин, чет запутано все.
тут не подставила свое значение вместо $id

надо так
PHP
1
delete($insert_id, $dbTable);
Добавлено через 2 минуты
если не сработает, попробуй здесь
PHP
1
if (($act) && ($act == 'del'))
написать 3 знака равно, т.е.
PHP
1
if (($act) && ($act === 'del'))
и еще, сделай так (до ф-ии)
PHP
1
$insert_id = (int)$insert_id;
все тоже самое тока ссылка на удаления такая выводится
javascript: del(0)

Добавлено через 8 часов 59 минут
Love_and_Peace,
а здесь же ссылка выглядит так
PHP
1
<a href='javascript: del(<?= $img['id']; ?>)'>Удалить</a>
вот он и выводит
мне ссылку
<a href='javascript: del(0)'>Удалить</a>
вам не кажется что это не так надо как то записать
подскажите пожайлуста

Добавлено через 17 минут
мне кажется или действительно эта и есть ошибка?
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
01.10.2011, 00:17
Цитата Сообщение от little_dita Посмотреть сообщение
вам не кажется что это не так надо как то записать
конечно должно быть не так. Вместо 0 там должно быть id утекущей записи.
здесь
Цитата Сообщение от little_dita Посмотреть сообщение
if (($act) && ($act === 'del'))
верни 2 знака равенства.
вот это вставь, ничего не меняя
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
 
include "../config.php";
 
// Определяем массив GET
$act = (isset($_GET['act'])) ? htmlspecialchars($_GET['act']) : "";
// можно как тип string установить еще
// то же самое и для id только с типом (int)
 
function delete($id, $dbTable)
{
    $q = "SELECT img FROM $dbTable WHERE id = '%d'";
echo $q;
    $query = sprintf($q, mysql_real_escape_string($id));
 
    if ($res = mysql_query($query))
    {
        $row = mysql_fetch_assoc($res);
        @unlink('../' . $row['img']);
    }
 
    $t = "DELETE FROM $dbTable WHERE id = '%d'";
    $query = sprintf($t, mysql_real_escape_string($id));
    $result = mysql_query($query);
 
    if(!$result)
       die ('Не удалось удалить запись!' . mysql_error());
    
    return true;
}
$dbTable = 'image';
 
 
$imgDir = "img";
@mkdir($imgDir, 0777);
if (@$_REQUEST['doUpload']) {
$data = $_FILES['file'];
$tmp = $data['tmp_name'];       
 
if (@file_exists($tmp)) {
$info = @getimagesize($_FILES['file']['tmp_name']);
if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
$name = "$imgDir/".time().".".$p[1];
move_uploaded_file($tmp,$name);
$url = $name;
$result = mysql_query("INSERT INTO image (id,url) VALUES ('$id','$url')");
   // возвращаем полседний ID или NULL:
   $insert_id = @mysql_insert_id();
   echo '<b style='red'>'$insert_id</b>;
 
} else { 
 echo "<h2>Попытка добавить файл недопустимого формата</h2>";
}
} else {
 echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
 
 
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     delete($id, $dbTable);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: index.php");
     exit();
}
 
 
$photos = array();
foreach (glob("$imgDir/*") as $path) {
$sz = getimagesize($path);
$tm = filemtime($path);
$photos[$tm] = array(
'time' => $tm,
'name' => basename($path),
'url' => str_replace($_SERVER['DOCUMENT_ROOT'],'',$path),
'w' => $sz[0],
'h' => $sz[1],
'wh' => $sz[3],
'id' => $insert_id 
);
}
 
krsort($photos);
?>
<script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("index.php?act=del&id=" + id);
}
</script>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<table>
<?php foreach($photos as $n=>$img) : ?>
<tr>
  <td>
    <img src="<?=$img['url']?>" <?=$img['wh']?>
alt="Добавлена <?=date("d.m.Y H:i:s", $img['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $img['id']; ?>)'>Удалить</a></td>
</tr>
<?php endforeach; ?>
</table>
Ожидается вывод на экран последнего id при обновлении
и запрос к БД после нажатия на кнопку удаления

Добавлено через 1 минуту
то что выведится в браузер напиши сюда
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
01.10.2011, 00:28  [ТС]
Love_and_Peace,
vse kak было без изменений
вот мой html страницы
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("index.php?act=del&id=" + id);
}
</script>
<body>
<form action="/adminka/doc/index.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<table>
<tr>
  <td>
    <img src="img/1317414368.jpeg" width="200" height="491"alt="Добавлена 01.10.2011 00:26:08">
  </td>
  <td><a href='javascript: del(0)'>Удалить</a></td>
</tr>
<tr>
  <td>
    <img src="img/1317368097.jpeg" width="500" height="375"alt="Добавлена 30.09.2011 11:34:57">
  </td>
  <td><a href='javascript: del(0)'>Удалить</a></td>
</tr>
</table>
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
01.10.2011, 00:46
Цитата Сообщение от little_dita Посмотреть сообщение
action="/adminka/doc/index.php"
и
Цитата Сообщение от little_dita Посмотреть сообщение
document.location.replace("index.php?act =del&id=" + id);
= не хорошо.
пути не совпадают, сделай что -нибудь с ними, чтобы они были идентичны.

Я в коде выводил последний id. он должен быть на экране. (не хтмл твоей страницы, а то что на экран выводится при обновлении). Обнови пару раз страницу.

Если ниче не будет происходить попробуй добавить новую картинку и посмотри уже на ссылку, там должен вывести последний id. Если вместо нуля будет другое значение попробуй удалить новую запись
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
01.10.2011, 00:55  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
конечно должно быть не так. Вместо 0 там должно быть id утекущей записи.
здесь

верни 2 знака равенства.
вот это вставь, ничего не меняя
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
 
include "../config.php";
 
// Определяем массив GET
$act = (isset($_GET['act'])) ? htmlspecialchars($_GET['act']) : "";
// можно как тип string установить еще
// то же самое и для id только с типом (int)
 
function delete($id, $dbTable)
{
    $q = "SELECT img FROM $dbTable WHERE id = '%d'";
echo $q;
    $query = sprintf($q, mysql_real_escape_string($id));
 
    if ($res = mysql_query($query))
    {
        $row = mysql_fetch_assoc($res);
        @unlink('../' . $row['img']);
    }
 
    $t = "DELETE FROM $dbTable WHERE id = '%d'";
    $query = sprintf($t, mysql_real_escape_string($id));
    $result = mysql_query($query);
 
    if(!$result)
       die ('Не удалось удалить запись!' . mysql_error());
    
    return true;
}
$dbTable = 'image';
 
 
$imgDir = "img";
@mkdir($imgDir, 0777);
if (@$_REQUEST['doUpload']) {
$data = $_FILES['file'];
$tmp = $data['tmp_name'];       
 
if (@file_exists($tmp)) {
$info = @getimagesize($_FILES['file']['tmp_name']);
if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
$name = "$imgDir/".time().".".$p[1];
move_uploaded_file($tmp,$name);
$url = $name;
$result = mysql_query("INSERT INTO image (id,url) VALUES ('$id','$url')");
   // возвращаем полседний ID или NULL:
   $insert_id = @mysql_insert_id();
   echo '<b style='red'>'$insert_id</b>;
 
} else { 
 echo "<h2>Попытка добавить файл недопустимого формата</h2>";
}
} else {
 echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
 
 
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     delete($id, $dbTable);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: index.php");
     exit();
}
 
 
$photos = array();
foreach (glob("$imgDir/*") as $path) {
$sz = getimagesize($path);
$tm = filemtime($path);
$photos[$tm] = array(
'time' => $tm,
'name' => basename($path),
'url' => str_replace($_SERVER['DOCUMENT_ROOT'],'',$path),
'w' => $sz[0],
'h' => $sz[1],
'wh' => $sz[3],
'id' => $insert_id 
);
}
 
krsort($photos);
?>
<script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("index.php?act=del&id=" + id);
}
</script>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<table>
<?php foreach($photos as $n=>$img) : ?>
<tr>
  <td>
    <img src="<?=$img['url']?>" <?=$img['wh']?>
alt="Добавлена <?=date("d.m.Y H:i:s", $img['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $img['id']; ?>)'>Удалить</a></td>
</tr>
<?php endforeach; ?>
</table>
Ожидается вывод на экран последнего id при обновлении
и запрос к БД после нажатия на кнопку удаления

Добавлено через 1 минуту
то что выведится в браузер напиши сюда
он мне почему то стал ошибку выдавать
syntax error, unexpected T_STRING, expecting ',' or ';' in 49
хотя раньше не выдовал
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
01.10.2011, 00:58
из-за этого
PHP
1
echo '<b style=\'red\'>' . $insert_id . '</b>';
я кавычки не правильно расставил
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
01.10.2011, 01:10  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Сообщение от little_dita
action="/adminka/doc/index.php"
и
Сообщение от little_dita
document.location.replace("index.php?act =del&id=" + id);
= не хорошо.
пути не совпадают, сделай что -нибудь с ними, чтобы они были идентичны.
а что с этим сделать можно?
так записать что ли
document.location.replace("/adminka/doc/index.php?act=del&id=" + id);
обновляя страницы не чего не происходило но как добавила наверху появилось число 346 и ссулак теперь выглядит ыак
<a href='javascript: del(346)'>Удалить</a>
радом с каждой фоткой
а 346 это id фотки которую я тока что загрузила

Добавлено через 2 минуты
нажала удалить не чего не произошло
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
01.10.2011, 01:38
ура, хоть что то.
а не удаляет из-за того что пути разные, как я понял.
смари, в js такой путь
JavaScript
1
document.location.replace("index.php?act=del&id=" + id);
а в форме добавления такой
HTML5
1
action="/adminka/doc/index.php"
Если у тя все действия происходят по пути /adminka/doc/index.php, тогда и ф-ии js надо прописать такой путь
JavaScript
1
document.location.replace("/adminka/doc/index.php?act=del&id=" + id);
Напиши так и попробуй удалить
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
01.10.2011, 17:05  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
ура, хоть что то.
а не удаляет из-за того что пути разные, как я понял.
смари, в js такой путь
JavaScript
1
document.location.replace("index.php?act=del&id=" + id);
а в форме добавления такой
HTML5
1
action="/adminka/doc/index.php"
Если у тя все действия происходят по пути /adminka/doc/index.php, тогда и ф-ии js надо прописать такой путь
JavaScript
1
document.location.replace("/adminka/doc/index.php?act=del&id=" + id);
Напиши так и попробуй удалить
написала так и теперь я загружаю фотку она показывает удаление так
'javascript: del(349)'
ка только я обнавляю страничу опять выдает
'javascript: del()'
а при нажатии все равно не удаляет

Добавлено через 15 часов 14 минут
помогите пожайлуста
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
01.10.2011, 18:38
Цитата Сообщение от little_dita Посмотреть сообщение
ка только я обнавляю страничу опять выдает
'javascript: del()'
ну да, так получается. при онбновлении на сервер посылается еще запрос и понятие последнего добавленной записи исчезает.
Чтобы оно сохранилось можно записать этот id в сессию, но как то тоже тупо, хотя и сработает.
.... так писать можно вечно
Лучше запросом выташить записи из БД и не придется мучаться.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("/adminka/doc/index.php?act=del&id=" + id);
}
</script>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<?php
 
include "../config.php";
$db = 'image';
 
// Определяем массив GET
$act = (isset($_GET['act'])) ? htmlspecialchars($_GET['act']) : "";
// можно как тип string установить еще
// то же самое и для id только с типом (int)
 
function delete($id, $dbTable)
{
    $q = "SELECT img FROM $dbTable WHERE id = '%d'";
// echo $q;
    $query = sprintf($q, mysql_real_escape_string($id));
 
    if ($res = mysql_query($query))
    {
        $row = mysql_fetch_assoc($res);
        @unlink('../' . $row['img']);
    }
 
    $t = "DELETE FROM $dbTable WHERE id = '%d'";
    $query = sprintf($t, mysql_real_escape_string($id));
    $result = mysql_query($query);
 
    if(!$result)
       die ('Не удалось удалить запись!' . mysql_error());
    
    return true;
}
 
 
// Здесь добавляем
$imgDir = "img";
@mkdir($imgDir, 0777);
if (@$_REQUEST['doUpload']) {
   $data = $_FILES['file'];
   $tmp = $data['tmp_name'];       
 
   if (@file_exists($tmp)) {
      $info = @getimagesize($_FILES['file']['tmp_name']);
      if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
         $name = "$imgDir/".time().".".$p[1];
         move_uploaded_file($tmp,$name);
         $url = $name;
         $result = mysql_query("INSERT INTO image (id,url) VALUES ('$id','$url')");
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
 
 
// Здесь выводим все записи из таблицы для построения списка
$query = 'SELECT `id`, `url` FROM `image`';
$res = mysql_query($query);
if(!$res)  die ('Не удалось получить список записей!  ' . mysql_error());
?>
<table>
<?php
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($query))
   {
?>
<tr>
  <td>
    <img src="<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $row['id']; ?>)'>Удалить</a></td>
</tr>
<?php
   }
 
}
?>
</table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     delete($id, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: /adminka/doc/index.php");
     exit();
}
?>
здесь переменная $row['time'] не определена. Чтобы она появилась сосздай в таблице поле с названием time (или как то иначе, сохраняй туда дату и извлекай когда надо).
Если какие то запросы не работают пиши сразу после них echo $название_запроса; - чтобы увидеть ход запроса на экране. Запомни как правило.
И синтаксические ошибки тоже можешь найти сама, они очевидны и показывают обычно ту строку на которой находится ошибка, либо предыдущую, либо след.
Если ошибка указывает на самую последнюю строку значит где то не закрыта фигурная скобка
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
01.10.2011, 19:00  [ТС]
Love_and_Peace, спасибо попробую
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
01.10.2011, 19:22
2 ошибки у меня
здесь
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
while ($row = mysql_fetch_array($query))
надо так
PHP
1
while ($row = mysql_fetch_array($res))
и при вызове ф-ии удаления
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
delete($id, $db);
изменить так
PHP
1
2
$id_img = (int)$_GET['id'];
delete($id_img, $db);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2011, 19:22

Как сделать что бы кнопка добавилась, а предыдущая кнопка не исчезла с страницы?
Как сделать что бы кнопка3 добавилась, а кнопка2 не исчезла с страницы? &lt;?php if (isset($_POST)) echo...

Как сделать что бы кнопка добавилась, а предыдущая кнопка не исчезла с страницы?
Добрый день. Есть кнопка1, которая добавляет кнопку2, следующая в свою очередь создает кнопку3. Вопрос. Как сделать что бы кнопка3...

кнопка удаления
Как сделать на форме &quot;список личных карточек&quot; кнопку удаления. чтобы при ее нажатии появлялся запрос на ввод табельного номера и при его...

кнопка удаления
как сделать кнопку удаления которая должна удалять записи из таблиц.

Кнопка удаления
Таблица &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;&gt; &lt;title&gt;БД Гостинницы&lt;/title&gt; &lt;/head&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru