За последние 24 часа нас посетили 16682 программиста и 1679 роботов. Сейчас ищут 910 программистов ...

Сохранение, редактирование, удаление

Тема в разделе "Вопросы от блондинок", создана пользователем kuliev, 11 фев 2008.

  1. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    CapsLock отпусти, блондинко...
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Во-первых, определение переменной связано не с нажатием кнопки, а с запросом к БД...
     
  3. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    kuliev
    Вот этот свой код:
    замени на вот это:

    PHP:
    1. <?
    2. if (!isset($update)) echo "И вот нифига у меня в этой переменной \$update и не содержица!!!";
    3.   else
    4.   {
    5.  $sql_up=("update a set name='".$_POST['text']."' where id='".$row[0]."'");
    6.  $result=db($sql_up); // изменяем запись в базе
    7.  //*****************************************************************************
    8.  $sql_upd=("select a.id,name from a where name='".$_POST['text']."'");
    9.  $result=db($sql_upd); //  выводим то, что изменили
    10.    }
    11. ?>
    и запусти - проверь, что он тебе скажет.
    А потом ещё раз ткни ссылку, которую я тебе дал. Точнее - которую мне поправили (я тебе другую давал, но так лучше, спасибо).
     
  4. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Вот код скрипта test_1.php

    PHP:
    1. <html>
    2.  
    3. <head>
    4.   <title></title>
    5. </head>
    6.  
    7. <body>
    8. <form action="test_1.php" method="POST">
    9. <input type="submit" name="update" value="сохранить" >
    10.  
    11. <?php
    12.  
    13. //error_reporting(E_ERROR);
    14. include "config.php";
    15. if (isset($save));
    16.  echo $_POST['up'];
    17. $sql=("select a.id,name from a where name='".$_POST['up']."'");
    18. $result=db($sql); // выводим то, что ввели в начале
    19.  
    20. echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border>
    21. <tr>
    22. <td valign=top align=center bgcolor=#ffddd0 class=border><b>ID</b></td>
    23. <td valign=top align=center bgcolor=#ffddd0 class=border><b>Name</b></td>
    24. </tr>';
    25. while($row=mysql_fetch_row($result))  // перебераем массив
    26.  {
    27. echo '<tr>
    28. <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'>'.$row[0].'</td>
    29. <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td>
    30.  
    31. </tr></table></center>';
    32.  }
    33.   if (!isset($update)) echo "И вот нифига у меня в этой переменной \$update и не содержица!!!";
    34.     else
    35.     {
    36.   $sql_up=("update a set name='".$_POST['text']."' where id='".$row[0]."'");
    37.    $result=db($sql_up); // изменяем запись в базе
    38.   //*****************************************************************************
    39.    $sql_upd=("select a.id,name from a where name='".$_POST['text']."'");
    40.   $result=db($sql_upd); //  выводим то, что изменили
    41.    }
    42.   echo "$row[0]"; // показать ид
    43.   echo $_POST['text']; // выводит поле которое поменяли
    44. ?>
    45.  
    46.  
    47.  
    48. </form>
    49. </body>
    50.  
    51. </html>
    Все равно не работает и данные не записывает........ (я уже незнаю что с ним делать)
     
  5. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Ступил простите, вот когда он с test.php переходит на test_1.php он выводит все как надо, а когда он обрабатывает данные с test_1.php то полная ж... простите за фолькер!!! :?
     
  6. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    kuliev
    Что он тебе пишет на экран?
     
  7. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Ничего не пишет просто нет никаких данных, ошибок не выводит все ровно
    Получается так:
    1) Скрипт получает данные с формы test.php
    PHP:
    1.  
    2. <?
    3.  echo '<form action="test_1.php" method="post">
    4.  <input type="hidden" name="up" value='.$_POST['user'].'>
    5.  <input type="submit" name="save" value="save" >
    6.   </form>';
    7.   ?>
    8.  
    2) Затем он отображает все как надо

    PHP:
    1.  
    2. <?
    3. //error_reporting(E_ERROR);
    4.   include "config.php";
    5.   if (isset($save));
    6.    echo $_POST['up'];
    7.   $sql=("select a.id,name from a where name='".$_POST['up']."'");
    8.   $result=db($sql); // выводим то, что ввели в начале
    9.  
    10.   echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border>
    11.  <tr>
    12.  <td valign=top align=center bgcolor=#ffddd0 class=border><b>ID</b></td>
    13.  <td valign=top align=center bgcolor=#ffddd0 class=border><b>Name</b></td>
    14.  </tr>';
    15.   while($row=mysql_fetch_row($result))  // перебераем массив
    16.    {
    17.   echo '<tr>
    18.  <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'>'.$row[0].'</td>
    19.  <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td>
    20.  </tr></table></center>';
    21. ?>
    22.  
    3) Он почемуто не записывает обновленные данные


    PHP:
    1.  
    2.    1.  <html>
    3.    2.  
    4.    3.  <head>
    5.    4.    <title></title>
    6.    5.  </head>
    7.    6.  
    8.    7.  <body>
    9.    8.  <form action="test_1.php" method="POST">
    10.    9.  <input type="submit" name="update" value="сохранить" >
    11.   10.  
    12.   11.  <?php
    13.   12.  
    14.   13.  //error_reporting(E_ERROR);
    15.   14.  include "config.php";
    16.   15.  if (isset($save));
    17.   16.   echo $_POST['up'];
    18.   17.  $sql=("select a.id,name from a where name='".$_POST['up']."'");
    19.   18.  $result=db($sql); // выводим то, что ввели в начале
    20.   19.  
    21.   20.  echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border>
    22.  21.  <tr>
    23.  22.  <td valign=top align=center bgcolor=#ffddd0 class=border><b>ID</b></td>
    24.  23.  <td valign=top align=center bgcolor=#ffddd0 class=border><b>Name</b></td>
    25.  24.  </tr>';
    26.   25.  while($row=mysql_fetch_row($result))  // перебераем массив
    27.   26.   {
    28.   27.  echo '<tr>
    29.  28.  <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'>'.$row[0].'</td>
    30.  29.  <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td>
    31.  30.  
    32.  31.  </tr></table></center>';
    33.   32.   }
    34.   33.    if (!isset($update)) echo "И вот нифига у меня в этой переменной \$update и не содержица!!!";
    35.   34.      else
    36.   35.      {
    37.   36.    $sql_up=("update a set name='".$_POST['text']."' where id='".$row[0]."' Limit 1");
    38.   37.    $result=db($sql_up); // изменяем запись в базе
    39.   38.    //*****************************************************************************
    40.   39.    $sql_upd=("select a.id,name from a where name='".$_POST['text']."'");
    41.   40.    $result=db($sql_upd); //  выводим то, что изменили
    42.   41.    }
    43.   42.    echo "$row[0]"; // показать ид
    44.   43.    echo $_POST['text']; // выводит поле которое поменяли
    45.   44.  ?>
    46.   45.  
    47.   46.  
    48.   47.  
    49.   48.  </form>
    50.   49.  </body>
    51.   50.  
    52.   51.  </html>
    53.  
     
  8. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Чудес не бывает? Вот смотри. Вот этот твой "иф":
    в обеих случаях имеет "echo" - то есть хоть что-нибудь, но он обязан вывести на экран. Если ты ничего не видишь на экране, есть всего пара вариантов - либо он выводит пустоту, например, $_POST['text'] и $row[0] - у тебя пустые, либо работа скрипта просто не доходит до этого места.
    Перепиши эти echo вот так:
    PHP:
    1. <?
    2. echo "\$row[0]="".$row[0].""";
    3. echo "\$_POST['text']="".$_POST['text'].""";
    4. ?>
    и отпишись - выведет хоть что-нибудь на экран или нет.
     
  9. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Вот что получается
    $row[0]=""$_POST['text']="Миронов
    переменная $row[0] равна пустоте
     
  10. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Вобщем я сейчас попробывал так:


    PHP:
    1.  
    2. <html>
    3.  
    4.   <head>
    5.     <title></title>
    6.   </head>
    7.  
    8.   <body>
    9.   <form action="test_1.php" method="POST">
    10.   <input type="submit" name="update" value="сохранить" >
    11.  
    12.   <?php
    13.  
    14.   //error_reporting(E_ERROR);
    15.   include "config.php";
    16.   if (!isset($save)) echo "И что же тут есть???";
    17.    echo $_POST['up'];
    18.   $sql=("select a.id,name from a where name='".$_POST['up']."'");
    19.   $result=db($sql); // выводим то, что ввели в начале
    20.  
    21.   echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border>
    22.  <tr>
    23.  <td valign=top align=center bgcolor=ffddd0 class=border><b>ID</b></td>
    24.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Name</b></td>
    25.  </tr>';
    26.   while($row=mysql_fetch_row($result))  // перебераем массив
    27.    {
    28.   echo '<tr>
    29.  <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'>'.$row[0].'</td>
    30.  <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td>
    31.  
    32.  </tr></table></center>';
    33.    }
    34.     if (!isset($update)) echo "И вот нифига у меня в этой переменной \$update и не содержица!!!";
    35.       else
    36.       {
    37.     $sql_up=("update a set name='".$_POST['text']."' where id='".$_POST['del']."'");
    38.     $result=db($sql_up); // изменяем запись в базе
    39.     //*****************************************************************************
    40.     $sql_upd=("select a.id,name from a where name='".$_POST['text']."'");
    41.     $result=db($sql_upd); //  выводим то, что изменили
    42.     }
    43.    echo "\$row[0]="".$row[0].""";// выводит пустоту
    44. echo "\$_POST['text']="".$_POST['text'].""";
    45. echo "\$_POST['del']="".$_POST['del'].""";// переменная checkbox
    46.   ?>
    Вот так все работает только не так как надо (нужно поставить галочку в чекбоксе, а потом изменить данные), сейчас что нибудь придумаю
     
  11. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Уважаемый RomanBush помоги реализовать все это дело в одном скрипте, примерно так:


    PHP:
    1.  
    2.  <html>
    3.  
    4.   <head>
    5.     <title></title>
    6.   </head>
    7.  
    8.   <body>
    9.   <form action="test.php" method="POST">
    10.   <input type="text" name="user">
    11.   <input type="submit" value="go" name="go">
    12.   <input type="submit" name="dele" value="delll" >
    13.   <input type="submit" name="up" value="save">
    14.  
    15.   <?php
    16.     include "config.php";
    17.     $sql_del=("delete from a where id='".$_POST['del']."' limit 1");
    18.   $result=db($sql_del);
    19.  
    20.    if ($_POST['user']=="") {print "<h1>Error Bla Bla Bla</h1>";exit;}
    21.  
    22.     $sql_a=("insert into a values(null,'".$_POST['user']."')");
    23.   $result=db($sql_a);
    24.  
    25.   $sql=("select a.id,name from a where name='".$_POST['user']."'");
    26.   $result=db($sql);
    27.  
    28.   echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border>
    29.  <tr>
    30.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Редактировать</b></td>
    31.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Удалить</b></td>
    32.  <td valign=top align=center bgcolor=ffddd0 class=border><b>ID</b></td>
    33.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Name</b></td>
    34.  </tr>';
    35.   while($row=mysql_fetch_row($result))
    36.    {
    37.   echo '<tr>
    38.  <td valign=top align=center class=border><input type=checkbox name=update value='.$row[0].'></td>
    39.  <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'></td>
    40.  <td valign=top align=center class=border>'.$row[0].'</td>
    41.  <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td>
    42.  
    43.  </tr></table></center>';
    44.    }
    45.    if(!isset($up)) exit(1);
    46.    else
    47.    {
    48.      $sql_up=("update a set name='".$_POST['text']."' where id='".$_POST['del']."'");
    49.     $result=db($sql_up); // изменяем запись в базе
    50.     //*****************************************************************************
    51.     $sql_upd=("select a.id,name from a where name='".$_POST['text']."'");
    52.     $result=db($sql_upd); //  выводим то, что изменили
    53.    }
    54.  
    55.  
    56.  
    57.    ?>
    58.  
    59.   </body>
    60.  
    61.   </html>
    Когда мы нажимаем кнопку save то при обработке скрипта он проверяет на пустоту переменную
    PHP:
    1. <?
    2. if ($_POST['user']=="") {print "<h1>Error Bla Bla Bla</h1>";exit;}
    3. ?>
    4.  
    При проверки действие скрипта заканчивается, хотя с удалением все намана, немогу обновить данные в таблице.
     
  12. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    kuliev
    if (empty ($_POST['user'])) die ("Error");


    if(!isset($up))

    Заменить на

    if (!isset ($_POST['up']))
     
  13. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Ничего не выводит
    PHP:
    1.  
    2.   <html>
    3.  
    4.   <head>
    5.     <title></title>
    6.   </head>
    7.  
    8.   <body>
    9.   <form action="test.php" method="POST">
    10.   <input type="text" name="user">
    11.   <input type="submit" value="go" name="go">
    12.   <input type="submit" name="dele" value="delll" >
    13.   <input type="submit" name="up" value="save">
    14.  
    15.   <?php
    16.     include "config.php";
    17.     if (!isset ($_POST['dele']));
    18.    else
    19.    {
    20.     $sql_del=("delete from a where id='".$_POST['del']."' limit 1");
    21.   $result=db($sql_del);
    22.   }
    23.     if (!isset ($_POST['up']));
    24.    else
    25.    {
    26.      $sql_up=("update a set name='".$_POST['text']."' where id='".$_POST['del']."'");
    27.     $result=db($sql_up); // изменяем запись в базе
    28.     //*****************************************************************************
    29.     $sql_upd=("select a.id,name from a where name='".$_POST['text']."'");
    30.     $result=db($sql_upd); //  выводим то, что изменили
    31.    }
    32.    //if ($_POST['user']=="") {print "<h1>Error Bla Bla Bla</h1>";exit;}
    33.    if (!isset ($_POST['go']));
    34.    else
    35.    {
    36.      if (empty ($_POST['user'])) die ("И вот нихера у меня не работает");
    37.     $sql_a=("insert into a values(null,'".$_POST['user']."')");
    38.   $result=db($sql_a);
    39.  
    40.   $sql=("select a.id,name from a where name='".$_POST['user']."'");
    41.   $result=db($sql);
    42.     }
    43.   echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border>
    44.  <tr>
    45.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Редактировать</b></td>
    46.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Удалить</b></td>
    47.  <td valign=top align=center bgcolor=ffddd0 class=border><b>ID</b></td>
    48.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Name</b></td>
    49.  </tr>';
    50.   while($row=mysql_fetch_row($result))
    51.    {
    52.   echo '<tr>
    53.  <td valign=top align=center class=border><input type=checkbox name=update value='.$row[0].'></td>
    54.  <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'></td>
    55.  <td valign=top align=center class=border>'.$row[0].'</td>
    56.  <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td>
    57.  
    58.  </tr></table></center>';
    59.    }
    60.  
    61.  
    62.  
    63.  
    64.    ?>
    65.  
    66.   </body>
    67.  
    68.   </html>
    PHP:
    1.  
    2. Переменную
    3. [php]<?
    4. $_POST['text']
    5. ?>
    6.  
    не определяет !
     
  14. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Спасибо всем кто помог разобраться!
    Все работает как надо.
    Отдельное спасибо
    RomanBush
    Выкладываю рабочий код кому вдруг понадобиться.
    PHP:
    1.  
    2.  <html>
    3.  
    4.   <head>
    5.     <title></title>
    6.   </head>
    7.  
    8.   <body>
    9.   <form action="test.php" method="POST">
    10.   <input type="text" name="user">
    11.   <input type="submit" value="go" name="go">
    12.   <input type="submit" name="dele" value="delll" >
    13.   <input type="submit" name="up" value="save">
    14.  
    15.   <?php
    16.     include "config.php";
    17.     if (!isset ($_POST['dele']));
    18.    else
    19.    {
    20.     $sql_del=("delete from a where id='".$_POST['del']."' limit 1");
    21.   $result=db($sql_del);
    22.   }
    23.     if (!isset ($_POST['up']));
    24.    else
    25.    {
    26.      $sql_up=("update a set name='".$_POST['text']."' where id='".$_POST['update']."'");
    27.     $result=db($sql_up); // изменяем запись в базе
    28.  
    29.     $sql_upd=("select a.id,name from a where name='".$_POST['text']."'");
    30.     $result=db($sql_upd); //  выводим то, что изменили
    31.    }
    32.  
    33.    if (!isset ($_POST['go']));
    34.    else
    35.    {
    36.      if (empty ($_POST['user'])) die ("И вот нихера у меня не работает");
    37.     $sql_a=("insert into a values(null,'".$_POST['user']."')");
    38.   $result=db($sql_a);
    39.  
    40.   $sql=("select a.id,name from a where name='".$_POST['user']."'");
    41.   $result=db($sql);
    42.     }
    43.   echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border>
    44.  <tr>
    45.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Редактировать</b></td>
    46.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Удалить</b></td>
    47.  <td valign=top align=center bgcolor=ffddd0 class=border><b>ID</b></td>
    48.  <td valign=top align=center bgcolor=ffddd0 class=border><b>Name</b></td>
    49.  </tr>';
    50.   while($row=mysql_fetch_row($result))
    51.    {
    52.   echo '<tr>
    53.  <td valign=top align=center class=border><input type=checkbox name=update value='.$row[0].'></td>
    54.  <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'></td>
    55.  <td valign=top align=center class=border>'.$row[0].'</td>
    56.  <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td>
    57.  
    58.  </tr></table></center>';
    59.    }
    60.  
    61.  
    62.  
    63.    ?>
    64.  
    65.   </body>
    66.  
    67.   </html>
    68.  
    Тема закрыта! :)