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 » » Вопросы новичков » как добавить кнгопку уделение и редактирование

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

1. jpchvltvb - 14 Августа, 2019 - 11:19:12 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5. </head>
  6. <body>
  7. <?PHP
  8. require_once 'connection1.php'; // подключаем скрипт
  9.  
  10. if(isset($_POST['name']) && isset($_POST['cod']) && isset($_POST['price']) && isset($_POST['description'])) {
  11.  
  12.     // подключаемся к серверу
  13.     $link = mysqli_connect($host, $user, $password, $database)
  14.     or die("Ошибка " . mysqli_error($link));
  15.  
  16.     // экранирования символов для mysql
  17.     $name = htmlentities(mysqli_real_escape_string($link, $_POST['name']));
  18.     $cod = htmlentities(mysqli_real_escape_string($link, $_POST['cod']));
  19.     $price = htmlentities(mysqli_real_escape_string($link, $_POST['price']));
  20.     $description = htmlentities(mysqli_real_escape_string($link, $_POST['description']));
  21.  
  22.     // создание строки запроса
  23.     $query = "INSERT INTO tovars VALUES(NULL, '$name','$cod','$price','$description')";
  24.  
  25.     // выполняем запрос
  26.     $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
  27.     if ($result) {
  28.         echo "<span style='color:blue;'>Данные добавлены</span>";
  29.     }
  30.     // закрываем подключение
  31.     mysqli_close($link);
  32.  
  33.     $query = "SELECT * FROM tovars";
  34.  
  35.     $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
  36.     if ($result) {
  37.         $rows = mysqli_num_rows($result); // количество полученных строк
  38.  
  39.         echo "<table><tr><th>Id</th><th>Название</th><th>Код</th><th>Цена</th><th>Описание</th><</tr>";
  40.         for ($i = 0; $i < $rows; ++$i) {
  41.             $row = mysqli_fetch_row($result);
  42.             echo "<tr>";
  43.             for ($j = 0; $j < 5; ++$j) echo "<td>$row[$j]</td>";
  44.             echo "</tr>";
  45.         }
  46.         echo "</table>";
  47.  
  48.         // очищаем результат
  49.         mysqli_free_result($result);
  50.         // закрываем подключение
  51.         mysqli_close($link);
  52.     }
  53. }
  54.  
  55. ?>
  56. <h2>Добавить новую модель</h2>
  57. <form method="POST">
  58.     <p>Назвние:<br>
  59.         <input type="text" name="name" /></p>
  60.     <p>Код:<br>
  61.         <input type="text" name="cod" /></p>
  62.      <p>Цена: <br>
  63.         <input type="text" name="price" /></p>
  64.     <p>Описание: <br>
  65.         <input type="text" name="description" /></p>
  66.     <input type="submit" value="Добавить товар">
  67. </form>
  68. </body>
  69. </html>
2. andrewkard - 14 Августа, 2019 - 12:28:04 - перейти к сообщению
Смешивать все в кучу неправильно, и html, и php.
Если уж все хотите в 1 файле то лучше так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $var = 1;
  3. ?><html>
  4. <body>
  5. <?=$var?>
  6. </body>
  7. </html>
  8.  

Посмотрите в MVC.
По сути вопроса: выводите в отдельной колонке ссылки вида
CODE (html):
скопировать код в буфер обмена
  1. <a href="/delete/<?=$id?>">Удалить</a>
  2. <a href="/edit/<?=$id?>">Редактировать</a>

и обрабатываете на сервере
(Добавление)
Кроме того я бы порекомендовал бы использовать PDO, как по мне удобнее, и сразу писать с учетом подготовленных выражений.
И все равно проверять все входные данные по белым спискам, по регулярным выражениям, или принудительно приводить к определенному типу
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = (int)$_POST['id'];
  3.  
3. jpchvltvb - 14 Августа, 2019 - 12:38:34 - перейти к сообщению
а как их вывести?
4. andrewkard - 14 Августа, 2019 - 12:42:37 - перейти к сообщению
jpchvltvb пишет:
а как их вывести?

таблицу же как то вывели, ссылку не сможете?
5. LIME - 14 Августа, 2019 - 12:57:34 - перейти к сообщению
andrewkard мутирующие запросы лучше делать POST. То есть не ссылкой а формой. Семантика действия сильно поможет в будущем. Проще анализ и сбор статистики и тд

 

Powered by ExBB FM 1.0 RC1