Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: довести код до ума
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » довести код до ума

Страниц (2): [1] 2 »
 

1. elmexanik - 05 Апреля, 2009 - 19:16:52 - перейти к сообщению
Всем доброго времени суток! Зашел на ваш форум и на мой взгляд он самый доброжелательный! Проблема в моем коде, он работает, но до ума его довести не могу. Нужно чтоб после удаления и добавления записи в базу форма обновилась сама, без задействия кнопки "весь список" и нужна возможность редактировать записи! Я еще зеленый в этом, прошу отнестись с пониманием!



CODE (text):
скопировать код в буфер обмена
  1. <?php
  2.      
  3.  $db = mysql_connect("localhost", "root");
  4.  mysql_select_db("krp", $db);
  5.   ?>
  6.         <?php
  7.         // проверяем наличие таблицы
  8.                 $otvet = mysql_query ("select * from RS;");
  9.                 if(!$otvet)
  10.                 echo("Tables are not exists!");
  11.      ?>
  12.  
  13. <!--Выводим содержимое таблицы -->
  14. <BODY bgcolor="Lightsteelblue" class = main>           
  15.     <form  method="post">
  16.     <input type="submit" name="show"   value="весь список"><br>
  17.     </form>
  18.      <?php
  19.     if ( isset($_POST['show']) ) {    
  20.        $otvet = mysql_query("select * from RS;");
  21.     if($otvet)
  22.     { echo ("<br> $dbname:");
  23.       // Определяем таблицу и заголовок
  24.       echo "<table border=2 BGCOLOR=snow align=center>";
  25.       echo "<tr><td>id</td><td>data</td><td>vrem</td><td>tip</td>
  26.           <td>neispr</td><td>mer</td><td>FIO</td></tr>";
  27.       // Так как запрос возвращает несколько строк, применяем цикл
  28.       while($rezultat = mysql_fetch_array($otvet))
  29.       {
  30.         echo "<tr><td>".$rezultat['id']."</td><td>".$rezultat['data']."</td>
  31.                 <td>".$rezultat['vrem']."</td><td>".$rezultat['tip']."</td>
  32.                 <td>".$rezultat['neispr']."</td><td>".$rezultat['mer']."</td><td>".$rezultat['FIO']."</td></tr>";
  33.       }
  34.       echo "</table>";
  35.     }
  36.     else
  37.     {
  38.       echo "<p><b>Error: ".mysql_error()."</b><p>";
  39.       exit();
  40.     } }
  41.     ?>
  42.  
  43.     <br>
  44.    
  45.     <form  method="post">
  46.               <br>
  47. id:     <input type="text"   name="delete" size="10"><br>
  48.  
  49.           <input type="submit" name="del"   value="удалить запись"><br>
  50. </form>
  51.     <?php
  52.     if ( isset($_POST['del']) ) {
  53.      
  54.   // Удаляем выбранную запись
  55.   $del="delete from RS where (id='".$_POST['delete']."')";
  56.   $resdel = mysql_query($del) or die ("Error: ".mysql_error ());
  57.   echo("удалено успешно");
  58. }
  59.  
  60. ?>
  61.     <br><br>
  62.     <!--Форма добавления -->    
  63. <form   method="post">
  64. <table border="0" align="left">
  65. <tr>
  66. <td> дата</td>
  67. <td> время</td>
  68. <td> тип РС</td>
  69. <td> неиспр-сть</td>
  70. <td> меры</td>
  71. <td> исполнитель</td>
  72. </tr>
  73. <tr>
  74. <td valign="top"><input name="data" type="text"size="10" /> </td>
  75. <td valign="top"><input name="vrem" type="text"size="10" /> </td>
  76. <td valign="top"><input name="tip" type="text"size="10" > </td>
  77. <td valign="top"><input name="neispr" type="text"size="10" > </td>
  78. <td valign="top"><input name="mer" type="text"size="10" ></td>
  79. <td valign="top"><input name="FIO" type="text"size="10" ></td>
  80.  <input type="submit" name="go"   value="добавить"><br>
  81.                   <input type="submit" name="reset" value="очистить "><br>  
  82. </tr>
  83. </table>
  84. </form>
  85.          
  86.     <!--Функция добавления -->
  87.  <?php
  88.     if ( isset($_POST['go']) ) {
  89.     $query = "INSERT INTO RS (id,data,vrem,tip,neispr,mer,FIO)
  90.         VALUES ('".$_POST['id']."','".$_POST['data']."', '".$_POST['vrem']."', '".$_POST['tip']."','".$_POST['neispr']."',
  91.         '".$_POST['mer']."','".$_POST['FIO']."')";
  92.     $result = mysql_query ($query)
  93. or die ("Error: ".mysql_error ());
  94. echo "запись успешно добавлена";
  95. }
  96.  
  97. ?>
  98.  
  99.    <body>  
  100. <form action="jur.php" method="POST">
  101. <input type=submit name = "gardemarin" value='на главную'>
  102. </form>  
  103.  </body>
  104. </html>
2. chaynyk - 05 Апреля, 2009 - 23:12:38 - перейти к сообщению
Во первых, у тебя аж четыре формы. сделай каждой свое имя.
PHP:
скопировать код в буфер обмена
  1.  
  2. <form method="post" name="name_from1">
  3. </form>
  4. if ( isset($_POST['name_from1']) ) // если метод пост этой формы
  5.  
3. elmexanik - 06 Апреля, 2009 - 08:05:08 - перейти к сообщению
chaynyk пишет:
Во первых, у тебя аж четыре формы. сделай каждой свое имя.
PHP:
скопировать код в буфер обмена
  1.  
  2. <form method="post" name="name_from1">
  3. </form>
  4. if ( isset($_POST['name_from1']) ) // если метод пост этой формы
  5.  




Спасибо за ответ, все получилось Улыбка ! Может знаешь как лучше редактор сделать?
4. chaynyk - 06 Апреля, 2009 - 08:41:52 - перейти к сообщению
Это админка или пользовательская часть?
5. elmexanik - 06 Апреля, 2009 - 12:18:32 - перейти к сообщению
chaynyk пишет:
Это админка или пользовательская часть?


Вобще я пишу диплом,будут своегно рода "АРМ работника". Вход будет для троих пользователей с разными провами. Таблиц в базе будет 13. Сейчас работаю над админкой а потом возьмусь за доступ к базе и постраничным выводом! Работы еще много а время поджимае Однако ,вот поэтому я и обратился за помощью к форумчанам!
6. Stierus - 06 Апреля, 2009 - 13:46:17 - перейти к сообщению
Про mysql_real_escape_string, smarty и htmlspecialchars почитать советую, посмотреть на fckeditor
7. chaynyk - 06 Апреля, 2009 - 14:11:36 - перейти к сообщению
Ну, судя по тому что 13 таблиц, явно не пятиминутное дело.
Ни кто бесплатно не возьмется.
Мой совет, что не получается выкидывай на форум.
Второе, различие админки от пользовательской части.
В пользовательской части нужно писать защиту, как от sql-инъекций и от различных скриптов, если у пользователя, есть возможность добавлять какой нибудь текст в БД, который потом будет отображаться (что скорей всего).
Третье правильно спроектированная БД. что в конечном счете очень сильно будет влиять на работу способность.
Четвертое сделай отдельный файл для настройки БД.
PHP:
скопировать код в буфер обмена
  1.  
  2. require_once('con/config.inc'); // подключение настройки БД
  3.  

Пятое отдельные файлы для функций, ну соответственно в отдельной папочке как для пользовательской так и для админки.
Ну во общем понимаешь, какая предстоит тебе бадяга.
8. elmexanik - 06 Апреля, 2009 - 19:07:52 - перейти к сообщению
chaynyk пишет:
Ну, судя по тому что 13 таблиц, явно не пятиминутное дело.
Ни кто бесплатно не возьмется.
Мой совет, что не получается выкидывай на форум.
Второе, различие админки от пользовательской части.
В пользовательской части нужно писать защиту, как от sql-инъекций и от различных скриптов, если у пользователя, есть возможность добавлять какой нибудь текст в БД, который потом будет отображаться (что скорей всего).
Третье правильно спроектированная БД. что в конечном счете очень сильно будет влиять на работу способность.
Четвертое сделай отдельный файл для настройки БД.
PHP:
скопировать код в буфер обмена
  1.  
  2. require_once('con/config.inc'); // подключение настройки БД
  3.  

Пятое отдельные файлы для функций, ну соответственно в отдельной папочке как для пользовательской так и для админки.
Ну во общем понимаешь, какая предстоит тебе бадяга.


Я все понимаю, что поделаешь, отступать некуда. Спасибо за советы Улыбка
9. Stierus - 07 Апреля, 2009 - 09:26:49 - перейти к сообщению
закажи что бы тебе написали - выйдет лучше и быстрее, хотя и дороже (я не возьмусь, советую с евгеном или чемпионом обсудить)
10. elmexanik - 07 Апреля, 2009 - 09:53:03 - перейти к сообщению
Такой вопрос,при добавлении записи вставляется лишняя вторая запись,причем та,которую вставлял до этого. Тоже самое после простого обновления страници через браузер?


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     include ("connect.php");
  3.     ?>
  4. <!--Выводим содержимое таблицы -->
  5. <BODY bgcolor="Lightsteelblue" class = main>
  6.     <? $result = mysql_query("select * from alsn;");
  7.     if($result)
  8.     { echo ("<br> $dbname:");
  9.       // Определяем таблицу и заголовок
  10.       echo "<table border=2 BGCOLOR=snow align=center>";
  11.       echo "<tr><td>id_prov</td><td>дата</td><td>время</td><td>серия</td><td>номер</td>
  12.      <td>батарея</td><td>источник</td><td>пульсация</td><td>тип</td><td>ФИО</td></tr>";
  13.       // Так как запрос возвращает несколько строк, применяем цикл
  14.        }
  15.       while ($row = mysql_fetch_array($result))
  16.  {
  17.  echo "<tr>";
  18.  
  19.  echo "<td>".$row["id_prov"]."</td>";
  20.  echo "<td>".$row["data"]."</td>";
  21.  echo "<td>".$row["time"]."</td>";
  22.   echo "<td>".$row["ser"]."</td>";
  23.  echo "<td>".$row["nom"]."</td>";
  24.  echo "<td>".$row["bat"]."</td>";
  25.   echo "<td>".$row["ist"]."</td>";
  26.  echo "<td>".$row["puls"]."</td>";
  27.  echo "<td>".$row["tip"]."</td>";
  28.   echo "<td>".$row["fio"]."</td>";
  29.   }
  30.    echo "</table>";
  31. ?>
  32.  
  33.     <!--Форма добавления -->
  34. <form  method="post">
  35.               <br>
  36. <tr>
  37. <td valign="top"><input name="data" type="text"
  38. size="10" /></td>
  39. <td valign="top"><input name="time" type="text"
  40. size="10" > </td>
  41. <td valign="top"><input name="ser" type="text"
  42. size="10" > </td>
  43. <td valign="top"><input name="nom" type="text"
  44. size="10" > </td>
  45. <td valign="top"><input name="bat" type="text"
  46. size="10" > </td>
  47. <td valign="top"><input name="ist" type="text"
  48. size="10" /></td>
  49. <td valign="top"><input name="puls" type="text"
  50. size="10" > </td>
  51. <td valign="top"><input name="tip" type="text"
  52. size="10" > </td>
  53. <td valign="top"><input name="fio" type="text"
  54. size="10" > </td>
  55. <h1>
  56.           <input type="submit" name="go"   value="добавить">
  57. </h1>
  58.           <input type="submit" name="reset" value="очистить ">
  59.                  </td>
  60. </form>
  61.     <!--Форма добавления -->
  62.  
  63.     <!--Функция добавления -->
  64.  <?PHP
  65.     if ( isset($_POST['go']) ) {
  66.     $query = "INSERT INTO alsn (data,time, ser, nom, bat,ist, puls, tip, fio)
  67.         VALUES ('".$_POST['data']."', '".$_POST['time']."', '".$_POST['ser']."',
  68.  '".$_POST['nom']."', '".$_POST['bat']."', '".$_POST['ist']."','".$_POST['puls']."', '".$_POST['tip']."', '".$_POST['fio']."')";
  69.     $result = mysql_query ($query)
  70. or die ("Error: ".mysql_error ());
  71. echo "запись успешно добавлена";
  72. }
  73. ?>
  74.  
  75.  
11. Stierus - 07 Апреля, 2009 - 10:01:28 - перейти к сообщению
Мельком пробежал по коду ... забавное решение. Сначала мы выводим таблицу, после этого мы вставляем новые данные (если нужно), но пользователь их не увидит, после чего решит, что они не вставились (что логично), введёт второй раз, у нас снова отработает скрипт, но на этот раз покажет пользователю его прошлую добавленную запись, после чего вставит новую (которую он повторно ввел), но снова не покажет пользователю.

Хотя нет, где-то далеко внизу таблицы, нам черным скромненьким тестом напишут, что запись добавлено Улыбка

ps
Да, скорее всего повторные данные вставляются при обновлении страницы (у вас нет ничего, предотвращающего это)
12. elmexanik - 07 Апреля, 2009 - 10:10:22 - перейти к сообщению
Stierus пишет:
Мельком пробежал по коду ... забавное решение. Сначала мы выводим таблицу, после этого мы вставляем новые данные (если нужно), но пользователь их не увидит, после чего решит, что они не вставились (что логично), введёт второй раз, у нас снова отработает скрипт, но на этот раз покажет пользователю его прошлую добавленную запись, после чего вставит новую (которую он повторно ввел), но снова не покажет пользователю.

Хотя нет, где-то далеко внизу таблицы, нам черным скромненьким тестом напишут, что запись добавлено Улыбка

ps
Да, скорее всего повторные данные вставляются при обновлении страницы (у вас нет ничего, предотвращающего это)


Нет нету, я многого еще не понимаю. Былобы хорошо если меня поправят на примере Улыбка
Ваш совет по поводу выполнения работы я принял к сведению! Я хоть и заочник, но все делал сам, но тут есть один фактор-это время с которым не поспоришь Хм
13. Stierus - 07 Апреля, 2009 - 10:22:53 - перейти к сообщению
Вот и вот-то, чем больше времени вы оставите программисту - тем ниже будет цена и выше качество Улыбка А так сами будете пытаться до последнего, а потом сроки останутся, что и программисты не возьмутся. Вообще я много кому этот совет даю (меня уже за жадного еврюгу-разводилу скоро тут принимать начнут), это, действительно, дельный совет, к которому многие в конечном итоге приходят сами, зачастую поздно.
14. chaynyk - 07 Апреля, 2009 - 10:41:49 - перейти к сообщению
elmexanik Не понял вопрос.
И еще почему добавление происходит после отображение БД.
Логичней будет с начало добавить данные а потом отобразить.
Потом советую пользоваться префиксом '_once', он игнорирует повторную загрузку файла.
PHP:
скопировать код в буфер обмена
  1.    include_once ("connect.php");

(Добавление)
Stierus пишет:
Вот и вот-то, чем больше времени вы оставите программисту - тем ниже будет цена и выше качество Улыбка А так сами будете пытаться до последнего, а потом сроки останутся, что и программисты не возьмутся. Вообще я много кому этот совет даю (меня уже за жадного еврюгу-разводилу скоро тут принимать начнут), это, действительно, дельный совет, к которому многие в конечном итоге приходят сами, зачастую поздно.

какая то истина в этом есть.
Судя, что Вы подготовили БД с 13 таблицами. Даже у многих CMS их меньше, что в конечном счете после правильного проектирования их будет максимум пяток.
15. Stierus - 07 Апреля, 2009 - 11:08:07 - перейти к сообщению
Цитата:
Судя, что Вы подготовили БД с 13 таблицами. Даже у многих CMS их меньше, что в конечном счете после правильного проектирования их будет максимум пяток.
Что за бред ?Улыбка

 

Powered by ExBB FM 1.0 RC1