Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проблема с обработчиком.

Сообщения:  [1-10]   [11-14] 

 
 автор: Antik_   (26.04.2007 в 11:23)   письмо автору
 
   для: zerocool   (26.04.2007 в 11:18)
 

ПАсиба с меня Пиво, при встрече)))
Вообще то приводил

$query = "SELECT * FROM artpage"; 
        if($pgs = mysql_query($query)) 
        { 
          while(list($id_page,$part)=mysql_fetch_array($pgs, MYSQL_NUM)) 
          { 
            echo "<li><a href=index.php?id_page=$id_page>$part</a></li>&nbsp;&nbsp;<a href=deletart.php?id_page=$id_page>удалить</a> 
            <a href=editpartform.php?id_page=$id_page>Изменить</a>"; 
          } 
        } else puterror("Ошибка при обращении к блоку статей"); 

   
 
 автор: Trianon   (26.04.2007 в 11:21)   письмо автору
 
   для: Antik_   (26.04.2007 в 11:11)
 

Из этого кода неясно, какую именно artpage Вы собираетесь менять.
В форму этот параметр не передается вообще.

Код, который строит ссылки на удаление, тоже не виден.

   
 
 автор: zerocool   (26.04.2007 в 11:18)   письмо автору
 
   для: Antik_   (26.04.2007 в 11:11)
 

А где у вас в форме редактирования записана переменная $id_page ?
Наверно в форму надо добавить

<input type=hidden name=id_page value="<?php echo $_GET['id_page']; ?>">
И в обработчике :

$query = "UPDATE artpage SET name='$name' WHERE id_artpage='$_POST[id_page]'"; 

   
 
 автор: Antik_   (26.04.2007 в 11:11)   письмо автору
 
   для: zerocool   (26.04.2007 в 11:09)
 

Код удаления

  $query = "DELETE FROM artpage WHERE id_artpage=$id_page";
  if(mysql_query($query))
  {

    echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
          </HEAD></HTML>";
  } else puterror("Ошибка при удолении");

Код редактирование

  require_once("../config.php");
  if(!isset($_GET['button'])) $_GET['button'] = "Изменить";
  if(!isset($_GET['title'])) $_GET['title'] = "Изменение раздела.";
  if(!isset($_GET['action'])) $_GET['action'] = "editart.php";


?>
<p><a class=menu href="javascript: history.back()">Назад</a></p>

<form action=<?php echo $_GET['action']; ?> method=post>
  <table>
    <tr>
        <td width="110"><p class=zag2>Название</td>
        <td><input class=input type="text" name="name" size="40" maxlength="140" value="<?php echo $_GET['name']; ?>"></td>
    </tr>
    <tr>
        <td></td>
        <td><input class=button type="submit" value=<?php echo $_GET['button']; ?>></td>
    </tr>
  </table>
</form>


Обработчик

   if(empty($_POST['name'])) links("Введите название раздела.");

  $name = str_replace("'","`",$_POST['name']);

  $query = "UPDATE artpage SET name='$name' WHERE id_artpage=$id_page";
  if(mysql_query($query))
  {
    // В случае успешного добавления переходим на главную страницу
    // системы администрирования
    echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
          </HEAD></HTML>";
  }
  else puterror("Ошибка при добавлении продукции"."<br>Запрос:<pre>\r\n$query\r\n".mysql_error()."</pre>");

   
 
 автор: zerocool   (26.04.2007 в 11:09)   письмо автору
 
   для: Antik_   (26.04.2007 в 11:03)
 

А приведите код удаления и сам скрипт который открывается при клике на ссылку ИЗМЕНИТЬ

   
 
 автор: Trianon   (26.04.2007 в 11:08)   письмо автору
 
   для: Antik_   (26.04.2007 в 11:03)
 

Это не аргумент. Вероятно у Вас включен register_globals. Выключите - пропадет и удаление.
Чтобы ответить на вопрос, нужно смотреть код, который выводит форму редактирования и ссылки удаления. Кстати, код удаления Вы не привели. Какой был смысл на него ссылаться?

   
 
 автор: Antik_   (26.04.2007 в 11:03)   письмо автору
 
   для: Trianon   (26.04.2007 в 10:50)
 

НО при удолении ведь тоже тогда не должно присваиваться, а удоляет же.Тогда вопрос, как её присвоить...

   
 
 автор: Trianon   (26.04.2007 в 10:50)   письмо автору
 
   для: Antik_   (26.04.2007 в 10:46)
 

Вы нигде не присваиваете переменной $id_page никакого значения. Поэтому и пропускается.

   
 
 автор: Antik_   (26.04.2007 в 10:46)   письмо автору
 
   для: Trianon   (26.04.2007 в 10:38)
 

Пасиба заработало.
гм следом вопрос.
Есть страница, в ней

$query = "SELECT * FROM artpage";
        if($pgs = mysql_query($query))
        {
          while(list($id_page,$part)=mysql_fetch_array($pgs, MYSQL_NUM))
          {
            echo "<li><a href=index.php?id_page=$id_page>$part</a></li>&nbsp;&nbsp;<a href=deletart.php?id_page=$id_page>удалить</a>
            <a href=editpartform.php?id_page=$id_page>Изменить</a>";
          }
        } else puterror("Ошибка при обращении к блоку статей");

Удоление происходит нормально но вот редактирование нет.
Почему то $id_page пропускаеться

 if(empty($_POST['name'])) links("Введите название раздела.");

  $name = str_replace("'","`",$_POST['name']);

  $query = "UPDATE artpage SET
                        name='$name'

            WHERE id_artpage=$id_page";
  if(mysql_query($query))
  {
    // В случае успешного добавления переходим на главную страницу
    // системы администрирования
    echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
          </HEAD></HTML>";
  }
  else puterror("Ошибка при добавлении продукции"."<br>Запрос:<pre>\r\n$query\r\n".mysql_error()."</pre>");




Выводит вот такую бяку.

UPDATE artpage SET
                        name='н'

            WHERE id_artpage=
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 '' at line 4


   
 
 автор: Trianon   (26.04.2007 в 10:38)   письмо автору
 
   для: Antik_   (26.04.2007 в 10:36)
 

У Вас после второй четверки апостроф не закрыт.

Не надо пробовать всё вместе. Вы не коктейль мешаете и не салат "оливье".

   

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования