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

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

10.10.2011, 16:59. Показов 9783. Ответов 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
Ответ Создать тему
Новые блоги и статьи
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru