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

вывод определенного id

10.10.2011, 16:59. Показов 9951. Ответов 61
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
извени те меня но опять тупой вопрос
добавляю к новости фографии по ссылки передаю id новости
вот ссылка такая
<a href=ссылка на форму?news_id=".$news['id_news'].">фото</a>
а вот сама форма
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
<script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("ссылка на формы?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="Закачать новую фотографию">
<input type="hidden" name="news_id" value="<?php echo $_REQUEST['news_id']; ?>">
<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 url 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['url']);
    }
 
    $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,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
      } 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><tr>
<?php
$cnt=1;
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($res))
   {
 if($cnt%4==1) echo '</tr><tr>';
?>
  <td>
    <img src="preview.php?src=<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $row['id']; ?>)'>Удалить</a></td>
<?php
$cnt++;
   }
}
?>
</tr></table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     $id_img = (int)$_GET['id'];
delete($id_img, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: ссылка на форму");
     exit();
}
?>
вот тут то и проблема при открытии показываются все фотки а надо чтоб показывались именно той новости которую выбрали
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.10.2011, 16:59
Ответы с готовыми решениями:

Вывод определённого сообщения
Есть код: &lt;form action=&quot;tag.php&quot; method=&quot;get&quot; accept-charset=&quot;windows-1251&quot;&gt; &lt;nobr&gt; &lt;input type=&quot;text&quot; name=&quot;q&quot;...

Вывод определенного атрибута
Здравствуйте, новичок в php и xml, не получается вывести конкретный атрибут( под id=&quot;100498817&quot;), пытался вывести с помощью if...

Вывод определенного предложения
Нужно вывести определенноe предложение. У меня проблема с этой частью: for (j=0; j &lt; kp ; j++) if (gh==max) for...

61
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
12.10.2011, 12:51  [ТС]
Студворк — интернет-сервис помощи студентам
пробовала ссылка тогда выглядит
adminka/doc/index.php?news_id=
а например что тут можно упростить если не можите скажите
0
93 / 93 / 9
Регистрация: 20.02.2011
Сообщений: 210
12.10.2011, 12:56
я же уже говорил что надо попробовать использовать $_REQUEST для всех переменных
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
12.10.2011, 12:59  [ТС]
да и так тоже не получается
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
<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="GET" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<input type="hidden" name="news_id" value="<?php echo  $_REQUEST['news_id'] ?>">
<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 url 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['url']);
    }
 
    $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,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
// Здесь выводим все записи из таблицы для построения списка
$news_id=mysql_real_escape_string($_GET['news_id']);
$query = 'SELECT `id`, `url` FROM `image` WHERE news_id="'.$news_id.'"';
 
$res = mysql_query($query);
 
if(!$res)  die ('Не удалось получить список записей!    ' . mysql_error());
?>
<table><tr>
<?php
$cnt=0;
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($res))
   {
 if($cnt%4==0 && $cnt!=0) echo '</tr><tr>';
?>
  <td>
    <img src="preview.php?src=<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='/adminka/doc/index.php?act=del&id=<?=$row['url']?>&news_id=<?$news_id?>'>Удалить</a></td>
<?php
$cnt++;
   }
}
?>
</tr></table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     $id_img = (int)$_GET['id'];
delete($id_img, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id']."");
     exit();
}
?>
Добавлено через 50 секунд
передаю место пост гетом
0
93 / 93 / 9
Регистрация: 20.02.2011
Сообщений: 210
12.10.2011, 14:59
Цитата Сообщение от little_dita Посмотреть сообщение
передаю место пост гетом
и работает?
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
12.10.2011, 15:27  [ТС]
djdish,
работает как и работала при загрузки или удалении идет переход на пустую страницу
/adminka/doc/index.php

Добавлено через 15 минут
из за чего даже ума не приложу а вы как думаете
дайте какуенибудь форму рабочию типа жтого чтоб была
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
12.10.2011, 15:34
Цитата Сообщение от little_dita Посмотреть сообщение
з за чего даже ума не приложу а вы как думаете
посмотри перехеод в js:
Цитата Сообщение от little_dita Посмотреть сообщение
/adminka/doc/index.php
Т.е., при удалении (и при добавлении по-моему) страница переходит значит по этому адресу.
Вот в ф-ии js напиши адрес который те нужен

Добавлено через 1 минуту
... после добавления скрипт никуда не переходит
Цитата Сообщение от little_dita Посмотреть сообщение
$result = mysql_query("INSERT INTO image (id,url,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
Напиши после добавления
PHP
1
2
header('Location: куда надо');
exit();
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
12.10.2011, 17:14  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
посмотри перехеод в js:
вы имеете ввиду это
PHP
1
2
3
4
5
6
7
<script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("/adminka/doc/index.php?act=del&id=" + id);
}
</script>
Добавлено через 24 минуты
Цитата Сообщение от 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
// Здесь добавляем
$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,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>"; 
header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id']."");
     exit();
}
}
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
12.10.2011, 21:43
каша.
1. Вот это
Цитата Сообщение от little_dita Посмотреть сообщение
header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id'].""); exit();
вставить Сразу после этого
Цитата Сообщение от little_dita Посмотреть сообщение
$result = mysql_query("INSERT INTO image (id,url,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
2. Сколько ввсего файлов участвуют в действии. названия их, и что за что отвечает.
3. Удаление новости происходит на странице списка новостей (url этой страницы) или на странице редактирования (также url в студию)

Добавлено через 2 минуты
т.е., какое действие происходит по какому адресу
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
13.10.2011, 13:36  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
1. Вот это
вставила
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
<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="GET" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<input type="hidden" name="news_id" value="<?php echo  $_REQUEST['news_id'] ?>">
<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 url 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['url']);
    }
 
    $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,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id'].""); exit();
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>";
}
// Здесь выводим все записи из таблицы для построения списка
$news_id=mysql_real_escape_string($_GET['news_id']);
$query = 'SELECT `id`, `url` FROM `image` WHERE news_id="'.$news_id.'"';
 
$res = mysql_query($query);
 
if(!$res)  die ('Не удалось получить список записей!    ' . mysql_error());
?>
<table><tr>
<?php
$cnt=0;
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($res))
   {
 if($cnt%4==0 && $cnt!=0) echo '</tr><tr>';
?>
  <td>
    <img src="preview.php?src=<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='/adminka/doc/index.php?act=del&id=<?=$row['url']?>&news_id=<?$news_id?>'>Удалить</a></td>
<?php
$cnt++;
   }
}
?>
</tr></table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     $id_img = (int)$_GET['id'];
delete($id_img, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id']."");
     exit();
}
?>
syntax error, unexpected $end in в 107



Цитата Сообщение от Love_and_Peace Посмотреть сообщение
2. Сколько ввсего файлов участвуют в действии. названия их, и что за что отвечает.
есть файлы создания и редактирования новостей в админке есть краткич вывод новостей радом с ним ссылка на форму выше
<a href=../doc/index.php?news_id=".$news['id_news'].">добавить фото к новости</a>
при переходе по этой ссылки показывается эта форма где можно посмотреть уже загруженые фотографии, можно удалить фотографии и конечно же загрузить

Цитата Сообщение от Love_and_Peace Посмотреть сообщение
3. Удаление новости происходит на странице списка новостей (url этой страницы) или на странице редактирования (также url в студию)
удалении происходит на странице которая отвечает за показ редактирование и добавления фоток т.е которая выше и в которой я ваз запутала.
прошу извенения за все но помогите пожайлуста

Добавлено через 12 часов 55 минут
Love_and_Peace, подскажите что теперь не так? пожайлуста
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
13.10.2011, 14:45
Цитата Сообщение от little_dita Посмотреть сообщение
syntax error, unexpected $end in в 107
где то пропустила закрывающую скобку.

Раз у тя на странице со списком новостей ничего не происходит (покажи пожалста url этой страницы), тогда сдеаем так:
1. Назовем страницу со списком - /doc/index.php
2. Страница добавления - /doc/index.php?act=add
3. Страница редактирования (обновление, удаление) - /doc/index.php?act=edit&news_id=номер новости

Теперь, что куда будет переходить при действии.
Начну с удаления,
- т.к. при удалении новости больше нет, тогда логичней вернуть скрипт к списку новостей.
- При обновлении переход на самого себя ($_SERVER['QUERY_STRING'])
- а при добавлении можно пойти двумя путями:
1) вернуться к списку новостей;
2) Получить, сразу после добавления новости, id этой новости через ф-ю mysql_insert_id(); и подставить его в url

Вид перехода, уже был представлен
PHP
1
2
header("Location: /adminka/doc/index.php ... дальше в зависимости от действий (в случае удаления - пусто)"); 
exit();
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
13.10.2011, 23:38  [ТС]
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
<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="GET" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<input type="hidden" name="news_id" value="<?php echo  $_REQUEST['news_id'] ?>">
<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 url 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['url']);
    }
 
    $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,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id'].""); exit();
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
// Здесь выводим все записи из таблицы для построения списка
$news_id=mysql_real_escape_string($_GET['news_id']);
$query = 'SELECT `id`, `url` FROM `image` WHERE news_id="'.$news_id.'"';
 
$res = mysql_query($query);
 
if(!$res)  die ('Не удалось получить список записей!    ' . mysql_error());
?>
<table><tr>
<?php
$cnt=0;
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($res))
   {
 if($cnt%4==0 && $cnt!=0) echo '</tr><tr>';
?>
  <td>
    <img src="preview.php?src=<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='/adminka/doc/index.php?act=del&id=<?=$row['url']?>&news_id=<?$news_id?>'>Удалить</a></td>
<?php
$cnt++;
   }
}
?>
</tr></table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     $id_img = (int)$_GET['id'];
delete($id_img, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id']."");
     exit();
}
?>
выдает ошибку закачки

Цитата Сообщение от Love_and_Peace Посмотреть сообщение
(покажи пожалста url этой страницы)
вот он /adminka/news/news.php
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Раз у тя на странице со списком новостей ничего не происходит (покажи пожалста url этой страницы), тогда сдеаем так:
1. Назовем страницу со списком - /doc/index.php
2. Страница добавления - /doc/index.php?act=add
3. Страница редактирования (обновление, удаление) - /doc/index.php?act=edit&news_id=номер новости
у меня просто радом с каждой новостью кнопка добавить фото есть при нажатии показывается эта форма

Добавлено через 5 часов 14 минут
вот в чем проблема поняла вот так все работает
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
<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="Закачать новую фотографию">
<input type="hidden" name="news_id" value="<?php echo  $_REQUEST['news_id'] ?>">
<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 url 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['url']);
    }
 
    $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,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id'].""); exit();
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
// Здесь выводим все записи из таблицы для построения списка
$news_id=mysql_real_escape_string($_GET['news_id']);
$query = 'SELECT `id`, `url` FROM `image` WHERE news_id="'.$news_id.'"';
 
$res = mysql_query($query);
 
if(!$res)  die ('Не удалось получить список записей!    ' . mysql_error());
?>
<table><tr>
<?php
$cnt=0;
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($res))
   {
 if($cnt%4==0 && $cnt!=0) echo '</tr><tr>';
?>
  <td>
    <img src="preview.php?src=<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='/adminka/doc/index.php?act=del&id=<?=$row['url']?>&news_id=<?$news_id?>'>Удалить</a></td>
<?php
$cnt++;
   }
}
?>
</tr></table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     $id_img = (int)$_GET['id'];
delete($id_img, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id']."");
     exit();
}
?>
все загружается и записывается но единственное переход осуществляется по
/adminka/doc/index.php?news_id=
т.е не определяется вот это
".$_GET['news_id']."
почему подскажите пожайлуста
если здесь место POST написать GET то вообще ошибку выдает
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
подскажите пожайлуста)

Добавлено через 25 минут
Love_and_Peace, ОТВЕТТЕ НА ЭТО
смотрите
если написать вот так
PHP
1
2
$result = mysql_query("INSERT INTO image (id,url,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
header("Location: /adminka/doc/index.php?news_id=".$_POST['news_id'].""); exit();
тогда переводит правильно т.е по адресу
/adminka/doc/index.php?news_id=7 это нормально что через POST проходит или нет
и как сделать чтоб при удалении переводило так же
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
14.10.2011, 02:09
Цитата Сообщение от little_dita Посмотреть сообщение
это нормально что через POST проходит или нет
не совсем.
Сматри, при добавлении в таблице появляется новвое поле со своим id. И если написать в header
Цитата Сообщение от little_dita Посмотреть сообщение
news_id=".$_GET['news_id']."
, то скрипт конечно же не поймет куда ему переходить, потому что он пока не знает о созданном id.
Чтобы скрипт узнал о нем надо вывести id последней добавленной записи (новости) и передать в header
PHP
1
2
3
$result = mysql_query("INSERT INTO image (id,url,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
$new_insert_id = mysql_insert_id($result);
header("Location: /adminka/doc/index.php?news_id=$new_insert_id"); exit();
вот так должно сработать.

На счет удаления этот трюк, (да и любой другой) не пройдет, так как никаким путем нельзя перевести скрипт на страницу той новости, которой уже нет. Поэтому переводить надо на странцу списка новостей, как я понял эта страница - /adminka/doc/index.php
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
14.10.2011, 02:19  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Чтобы скрипт узнал о нем надо вывести id последней добавленной записи (новости) и передать в header
sdelala
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
<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="Закачать новую фотографию">
<input type="hidden" name="news_id" value="<?php echo  $_REQUEST['news_id'] ?>">
<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 url 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['url']);
    }
 
    $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,news_id) VALUES ('$id','$url','".$_POST['news_id']."')");
$new_insert_id = mysql_insert_id($result);
header("Location: /adminka/doc/index.php?news_id=$new_insert_id"); exit();
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
// Здесь выводим все записи из таблицы для построения списка
$news_id=mysql_real_escape_string($_GET['news_id']);
$query = 'SELECT `id`, `url` FROM `image` WHERE news_id="'.$news_id.'"';
 
$res = mysql_query($query);
 
if(!$res)  die ('Не удалось получить список записей!    ' . mysql_error());
?>
<table><tr>
<?php
$cnt=0;
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($res))
   {
 if($cnt%4==0 && $cnt!=0) echo '</tr><tr>';
?>
  <td>
    <img src="preview.php?src=<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $row['id']; ?>)'>Удалить</a></td>
<?php
$cnt++;
   }
}
?>
</tr></table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     $id_img = (int)$_GET['id'];
delete($id_img, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: /adminka/doc/index.php?news_id=".$_GET['news_id']."");
     exit();
}
?>
при загрузки переводит сюда adminka/doc/index.php?news_id=
вы вроде не поняли новости совсем отдельно создаются а к фоткам записывается их id в строку news_id в табличе image
я не понимаю зачем делать так чтоб выводился id последней добавленной новости?
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
14.10.2011, 02:39
подожди...
1. С новостями как я понимаю проблем нет, так?
2. url страницы, которой принадлежит представленный вами код, какой? в студию!
3. Попытаюсь вообразить вашу ситуацию ...
Имеется список новостей:
I. news_1
II. news_2
III. news_3
Теперь можно переходить по этим ссылкам на страницу добавления к ним фоток (тут можно также редактировать и удалять фотки), так? Остается не понятным вопрос, - новость как и где удаляется?
Ну ладно, перешли по ссылке, напр.
/adminka/doc/index.php?news_id=1
-- Добавляю фотку и переход должен быть сюда же... Тогда так попробуй
PHP
1
header("Location: " . $_SERVER['QUERY_STRING']); exit();
что это?
Цитата Сообщение от little_dita Посмотреть сообщение
<?=$_SERVER['SCRIPT_NAME']?>
и какое же имя у скрипта?
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
14.10.2011, 02:50  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
1. С новостями как я понимаю проблем нет, так?
нету

Цитата Сообщение от Love_and_Peace Посмотреть сообщение
2. url страницы, которой принадлежит представленный вами код, какой? в студию!
../doc/index.php?news_id=".$news['id_news']."(эта ссылка рядом с каждой новостью т.е это ".$news['id_news']." ид новости передается в форму загрузки фотографий)

Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Теперь можно переходить по этим ссылкам на страницу добавления к ним фоток (тут можно также редактировать и удалять фотки), так? Остается не понятным вопрос, - новость как и где удаляется?
все так а вот ссылка на удаление новости отображается радом с новостями т.е не на этой странице

Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Ну ладно, перешли по ссылке, напр.
/adminka/doc/index.php?news_id=1
-- Добавляю фотку и переход должен быть сюда же... Тогда так попробуй
вставила перешло сюда
adminka/doc/index.php?news_id=

Цитата Сообщение от Love_and_Peace Посмотреть сообщение
что это?
вот это точно не помню(а если чесно даже не знаю сказали надо именно так написать
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
14.10.2011, 03:00
запутался ))
Следующий вариант перехода
PHP
1
header("Location: " basename(__FILE__)); exit();
Добавлено через 5 минут
воов... блин, ответ на поверхности.. Если форма в коде, - форма для добавления фоток, тогда header такой как ты уже писала, ведь мы передаем id новости по скрытому полю, так же и задумывалось ))
PHP
1
header("Location: /adminka/doc/index.php?news_id=".$_POST['news_id'].""); exit();
Добавлено через 57 секунд
для удаления попробуй такой же header
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
14.10.2011, 03:02  [ТС]
Love_and_Peace,
перешел на это
adminka/doc/basename(__FILE__)
a если делаю так
PHP
1
header("Location: /adminka/doc/index.php?news_id=".$_POST['news_id'].""); exit();
то переходит правильно на /adminka/doc/index.php?news_id=11
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
14.10.2011, 03:04
Цитата Сообщение от little_dita Посмотреть сообщение
то переходит правильно на /adminka/doc/index.php?news_id=11
это и есть правда, я просто недо понял
0
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
14.10.2011, 03:05  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
воов... блин, ответ на поверхности.. Если форма в коде, - форма для добавления фоток, тогда header такой как ты уже писала, ведь мы передаем id новости по скрытому полю, так же и задумывалось ))
вот тыт то и конец
я так делала переходит на
adminka/doc/index.php?news_id=
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
14.10.2011, 03:06
Цитата Сообщение от little_dita Посмотреть сообщение
я так делала переходит на
adminka/doc/index.php?news_id=
ты же говоришь переходит нормально
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.10.2011, 03:06

Вывод из определенного ресурса
Добрый день у меня есть такое дерево ресурсов О компании -Факт 1(35) -Факт 2(40) -Факт 3(41) в блок див пытаюсь вывести ]...

Вывод определенного текста
Помогите сделать так, чтобы при выборе марки автомобиля и нажатии на кнопку, появлялся определенный текст для каждой марки. &lt;form...

Вывод определенного столбца из БД
Пользователь выбирает столбец, который нужно вывести. Значение заносится в $p $result = mysql_query(&quot;SELECT $p FROM...

Вывод определенного значения из файла
Ребят помогите написать вывод определенного значения из файла. Допустим в файле у меня такой html код &lt;div...

Вывод определенного слова из html
Подскажите вот я знаю как вывести отпределенную строку но не знаю как вывести в строке допустим Hello world как вывести только world без...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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 и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru