Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 11
1

Передача введенных параметров

18.06.2016, 18:06. Показов 1063. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, проблема в следующем-я чайник в php, задание-сделать бд с доступом в интернет. База данных про антибиотики. Так вот, у меня есть форма добавления антибиотика, мне нужно, чтобы я начал заполнять главную таблицу, потом захотел добавить параметр (к примеру, форму выпуска), но нужной формы нету в таблице-следовательно, я перехожу на страницу добавления параметра, потом обратно, а там-о чудо! сохранилось все то, что я успел ввести. Что мне использовать и как? Куки, сессии, еще что? Как я уже сказал, не знаю ничего, начинаю тыкаться на сайтах и ничего, естественно, не получается. Прошу помощи
Главная форма добавления:
PHP/HTML
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
<body>
      <form name="add_anti" action="add_anti_o.php" method="post">
............
      Название антибиотика:<br><input name="fname_anti" type="text" placeholder="Амоксициллин" ><br>
............
      Форма:<br>
      <?php
      require 'connect.php';
      $sql_select = "SELECT DISTINCT form FROM t_form";
      $result = mysql_query($sql_select);
      $row = mysql_fetch_array($result);
      printf("<select required name='fform'>");
      do
      {$gord=$row['form'];
      echo("<option value ='$gord'>$gord<option>");
      }
      while($row=mysql_fetch_array($result));
      printf("</select>");
      ?><a href="/site/edit/add_form/add_form.php">Добавить Форму</a><br>
..........
      <br>
      <input name="id_antiadd" type="submit" value="Добавить антибиотик">
      </form>
   </body>
</html>
форма добавления другого аналогично сделана.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2016, 18:06
Ответы с готовыми решениями:

Передача параметров
&lt;a href=&quot;http://localhost/projectShop/index.php?cat=2&amp;set_id=&quot;&lt;?print($set_id)?&gt;&gt;&lt;/a&gt; правильно ли...

Передача параметров
Доброго времени суток ! Передаю параметры через POST запрос из textarea в котором находится пару...

Передача параметров
Всем доброй времени суток, (постараюсь максимально понятно рассказать) у меня есть форма с...

Передача параметров
Всем привет. Есть один php-файл: &lt;script&gt; function setvar() { var x=5; var y=12; }...

8
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
18.06.2016, 19:01 2
Лучший ответ Сообщение было отмечено me_shytka как решение

Решение

В начале файла напишите,обязательно в первой строке!!!Иначе будет ошибка :

PHP
1
session_start();
Далее после закрытия тега <form>:

PHP
1
2
3
if(isset($_POST['id_antiadd'])){//-Если мы нажали на кнопку,котора яотправляет форму;
$_SESSION['fform'] = $_POST['fform'];//-Создаем сессию,в которой сохраняем выбраное значение в списке;
}
Ну а потом вставляете ету сессию там где вам надо выводить етот сохраненный параметер.
1
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 11
18.06.2016, 19:39  [ТС] 3
Прошу прощения за тупость, но: первое, я так и не разобрался: вставил все, после нажатия на кнопку id_antiadd, создается сессия, но, если я, к примеру, во 2-й таблице, куда перехожу для самого добавления, напишу
PHP
1
2
3
 <?php 
  echo $_SESSION['fform']; 
?>
, то ничего не происходит. Даже если в той же таблице напишу вывод, ничего не будет. Что я делаю не так?
И еще- я хочу сохранять не если я нажму кнопку добавления, а перейду на другую страницу, для добавления в др таблицу, а после опять назад, в первую.
0
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
18.06.2016, 20:08 4
Скиньте полный код етого файла.
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 11
18.06.2016, 20:19  [ТС] 5
код, где реализую
PHP/HTML
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
110
111
112
113
114
115
116
117
118
119
120
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
<html>
   <head>
     <meta charset="utf-8">
     <meta http-equiv="Content-Type" content="text/html"> 
     <title>Добавление страны</title>
   </head>
   <body>
      <h1>Добавить Антибиотик</h1>
      Навигация:<br>
      <a href="/site/index.php">Главная</a><br>
     
 <form name="add_anti" action="add_anti_o.php" method="post">
      Название антибиотика:<br><input name="fname_anti" type="text" placeholder="Амоксициллин"><br>
      Латинское название:<br><input name="flati_name" type="text" placeholder="Amoxycillinum"><br>
      Брутто-формула:<br><input name="fBrutt" type="text" placeholder="C16H19N3O5S"><br>
      Производитель:<br>
      <?php
      require 'connect.php';
      $sql_select = "SELECT DISTINCT Company FROM t_manufac";
      $result = mysql_query($sql_select);
      $row = mysql_fetch_array($result);
      printf("<select required name='fCompany'>");
      do    
      {$gord=$row['Company'];
      echo("<option value ='$gord'>$gord<option>");
      }
      while($row=mysql_fetch_array($result));
      printf("</select>");
      ?> <br>
      
      Форма:<br>
      <?php
      require 'connect.php';
      $sql_select = "SELECT DISTINCT form FROM t_form";
      $result = mysql_query($sql_select);
      $row = mysql_fetch_array($result);
      printf("<select required name='fform'>");
      do
      {$gord=$row['form'];
      echo("<option value ='$gord'>$gord<option>");
      }
      while($row=mysql_fetch_array($result));
      printf("</select>");
      ?><a href="/site/edit/add_form/add_form.php">Добавить Форму</a><br>
      
      Торговое название:<br>
      <?php
      require 'connect.php';
      $sql_select = "SELECT DISTINCT torg_name FROM t_sale";
      $result = mysql_query($sql_select);
      $row = mysql_fetch_array($result);
      printf("<select required name='ftorg_name'>");
      do
      {$gord=$row['torg_name'];
      echo("<option value ='$gord'>$gord<option>");
      }
      while($row=mysql_fetch_array($result));
      printf("</select>");
      ?><br>
        
      Прием:<br>
      <?php
      require 'connect.php';
      $sql_select = "SELECT DISTINCT priem FROM t_priem";
      $result = mysql_query($sql_select);
      $row = mysql_fetch_array($result);
      printf("<select required name='fpriem'>");
      do
      {$gord=$row['priem'];
      echo("<option value ='$gord'>$gord<option>");
      }
      while($row=mysql_fetch_array($result));
      printf("</select>");
      ?><br>
      
        Показания:<br>
      <?php
      require 'connect.php';
      $sql_select = "SELECT DISTINCT pokaz FROM t_pokaz";
      $result = mysql_query($sql_select);
      $row = mysql_fetch_array($result);
      printf("<select required name='fpokaz'>");
      do
      {$gord=$row['pokaz'];
      echo("<option value ='$gord'>$gord<option>");
      }
      while($row=mysql_fetch_array($result));
      printf("</select>");
      ?><br>
      
        Противопоказания:<br>
      <?php
      require 'connect.php';
      $sql_select = "SELECT DISTINCT protiv FROM t_protiv";
      $result = mysql_query($sql_select);
      $row = mysql_fetch_array($result);
      printf("<select required name='fprotiv'>");
      do
      {$gord=$row['protiv'];
      echo("<option value ='$gord'>$gord<option>");
      }
      while($row=mysql_fetch_array($result));
      printf("</select>");
      ?><br>
      <br>
      <input name="id_antiadd" type="submit" value="Добавить антибиотик">
      </form>
      
      <?php
      if(isset($_POST['id_antiadd'])){//-Если мы нажали на кнопку,котора яотправляет форму;
$_SESSION['fform'] = $_POST['fform'];//-Создаем сессию,в которой сохраняем выбраное значение в списке;
}?>
      <a href="/site/edit/editdbpp.php">Отмена</a><br>
   </body>
</html>
и, скажем, код, где хочу переменную еще раз написать (на эту страницу отправляемся после нажатия кнопки)
PHP/HTML
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
   <head>
     <meta charset="utf-8">
     <meta http-equiv="Content-Type" content="text/html">  
     <title>Добавление антибиотика</title>
   </head>
<body>
      <h1>Добавить антибиотик</h1>
      Навигация:<br>
      <a href="/site/index.php">Главная</a><br>
<?php 
require 'connect.php';
$name_anti = $_POST['fname_anti'];
$lati_name = $_POST['flati_name'];
$Brutt = $_POST['fBrutt'];
$id_manuf = $_POST['fCompany'];
$id_form = $_POST['fform'];
$id_sale = $_POST['ftorg_name'];
$id_priem = $_POST['fpriem'];
$id_pokaz = $_POST['fpokaz'];
$id_protiv = $_POST['fprotiv'];
$sql_select = "INSERT INTO t_anti (name_anti,lati_name,Brutt,id_manuf,id_form,id_sale,id_priem,id_pokaz,id_protiv) VALUES 
('$name_anti','$lati_name','$Brutt','$id_manuf','$id_form','$id_sale','$id_priem','$id_pokaz','$id_protiv')";
$result = mysql_query($sql_select);
if($result == 'true')
{echo "Антибиотик успешно добавлен";}
else{echo "Ошибка добавления антибиотика";}
?>
<br>
<a href="/site/edit/editdbpp.php">Ок</a>
<?php 
  echo $_SESSION['fform']; 
?>
</body>
</html>
0
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
18.06.2016, 20:56 6
У вас ета форма обробатывается файлом add_anti_o.php,тоесть пост туда попадает,занесите создание сессии в етот файл.
1
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 11
18.06.2016, 22:26  [ТС] 7
Спасибо большое, а все-таки, как сделать, чтобы в сессию передавались значения не при нажатии кнопки, а при переходе по ссылке на др страницу?
И последнее-как сделать так, чтобы при заходе в форму, которую заполняю, при заходе ставились введенные ранее значения? Взять ту же строку:
PHP
1
Название антибиотика:<br><input name="fname_anti" type="text"><br>
При переходе на обрабатывающую страницу, я написал там
PHP
1
2
3
4
<?php 
session_start();
$_SESSION['fname_anti'] = $_POST['fname_anti'];
?>
и все ок, но что делать после?

Добавлено через 42 минуты
Сделал передачу:
PHP
1
Название антибиотика:<br><input name="fname_anti" type="text" value= "<?=$fname_anti ?>"><br>
но насчет перехода по ссылке-так и не разобрался
0
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
18.06.2016, 23:11 8
Через ссылку можно послать $_GET параметер.
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 11
19.06.2016, 13:07  [ТС] 9
я не вижу мб, но везде написана передача через get фиксированного значения, типа:
PHP
1
<a href="/site/edit/add_form/add_form.php?name=fname_anti">Добавить Форму</a>
передается fname_anti, а не его значения, т.е. передаем текст, а не значение переменной

Добавлено через 13 часов 26 минут
Спасибо большое за помощь, я разобрался- сделал не ссылки, а кнопки. В обрабатывающей странице просто через if сделал переход на то, что выбрал, таким образом все сохраняется (ведь в обрабатывающей таблице, помимо прочего, реализовано перемещение в сессию из POST параметров, который мы ввели ранее).
0
19.06.2016, 13:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2016, 13:07
Помогаю со студенческими работами здесь

TKinter+matplotlib: передача введенных параметров графику
Добрый вечер. У меня есть окно (StartPage), где нужно ввести данные, а потом нажать на кнопку ,...

Передача параметров через список параметров формы
Hi all! У кого есть опыт передачи параметров через заголовочный список параметров формы? ...

Передача нескольких параметров в pthread_create (передача структуры)
Здравствуйте. Мне нужно передать последним параметром в функцию pthread_create следующую структуру...

ListView: как сделать редактирование введенных параметров в другой форме
всем привет!) как сделать редактирование введенных параметров в другой форме? например в в listView...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru