Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите разобраться с формой. Запутался. / 14 сообщений из 14, страница 1 из 1
28.10.2013, 20:23
    #38444123
phpuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
Добрый день!

Гуглил и запутался окончательно.
Есть простая форма типа select option. В списке всего два значения.
И есть кнопка.
Нужно реализовать, что если выбрана позиция из списка выпадающего 1, то
делать то-то, а если 2, то что-то другое..
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<html>
<?php
$v1="groups";
$v2="personal";
?>
<form action="" method="post">
    <select name ="status">
<------><option value=<?php echo "$v1"?>>Отчёты по группам</option>
<------><option value=<?php echo "$v2"?>>Персональный отчёт</option>
    </select>
    <input type="submit" name ="button" value="ok">.
</form>
</html>
...
Рейтинг: 0 / 0
28.10.2013, 20:46
    #38444145
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
phpuser,

1) Пропиши action у формы
2) Твое "1 или 2" будет в $_POST['status'] в скрипте, к которому ты уйдешь по action
...
Рейтинг: 0 / 0
29.10.2013, 12:24
    #38444739
phpuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
автор1) Пропиши action у формы
2) Твое "1 или 2" будет в $_POST['status'] в скрипте, к которому ты уйдешь по action
1. прописал.
2. не получается реализовать условие, если выбрано в select option то-то, то рисуем одну картинку,
иначе другое.
т.е. не работает:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
if ($choice=$par['Groups'])
   {
    echo 'Вы ВЫБРАЛИ отчёт по ГРУППАМ:'.$choice;
   }
   else.
   {
   echo 'Вы выбрали что-то другое!';
   }


код полностью
Код: php
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.
<html>
<title>Отчёт по звонкам</title>
Отчёт по звонкам
<hr color="purple" size=1px width=1200px>
<?php
include 'design.php';
$par=array('Groups'=>"Отчёт по группам",'Personal'=>"Отчёт по операторам");
?>
<form action="callparser.php" method="post">
    <select name ="status">
<------><?php
<------>foreach($par as $key => $value):
<------>echo '<option value="'.$key.'">'.$value.'</option>'; //close your tags!!
<------>endforeach;
<------>?>
<------>
    </select>
<input type="submit" name ="button" value="ok">.
</form>

<?php
if(isset($_POST['button']))
    {
    $choice=$_POST['status'];
       if ($choice=$par['Groups'])
   {
    echo 'Вы ВЫБРАЛИ отчёт по ГРУППАМ:'.$choice;
   }
   else.
   {
   echo 'Вы выбрали что-то другое!';
   }
}
?>
</html>
...
Рейтинг: 0 / 0
29.10.2013, 12:35
    #38444767
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
phpuser,

Второй скрипт это и есть callparser.php? Тогда отдай ему переменную $par[] через сессию к примеру. Он у тебя ее просто не видит.
И вообще - print_r() тебе в помощь, чтобы понял, что и куда у тебя попадает.
...
Рейтинг: 0 / 0
29.10.2013, 12:59
    #38444827
FatalPHPError
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
Код: php
1.
if ($choice=$par['Groups'])


Классическая ошибка начинающего
...
Рейтинг: 0 / 0
29.10.2013, 13:02
    #38444832
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
FatalPHPError,

Кстати да. Хотя впрочем и профи этим грешат ;)
...
Рейтинг: 0 / 0
29.10.2013, 13:03
    #38444835
phpuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
DarkMasterphpuser,

Второй скрипт это и есть callparser.php? Тогда отдай ему переменную $par[] через сессию к примеру. Он у тебя ее просто не видит.
И вообще - print_r() тебе в помощь, чтобы понял, что и куда у тебя попадает.
нет, это всё один скрипт. в данном случае я не перемещаю никого на другую страницу.

проблема в том, что я не могу сделать сравнение.
в гугле нашёл, то что мне нужно, но не могу например для проверки вывести на экран.

мне нужно проверять, что если
Код: php
1.
if ($_POST['status'] = key($par))


то делать то-то
...
Рейтинг: 0 / 0
29.10.2013, 13:04
    #38444838
phpuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
FatalPHPError
Код: php
1.
if ($choice=$par['Groups'])


Классическая ошибка начинающего
а как надо, можете показать?
...
Рейтинг: 0 / 0
29.10.2013, 13:16
    #38444871
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
phpuser,

Код: php
1.
if ($choice==$par['Groups'])
...
Рейтинг: 0 / 0
29.10.2013, 13:20
    #38444880
phpuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
Ренатphpuser,

Код: php
1.
if ($choice==$par['Groups'])



у меня даже такой вариант не отрабатывает.
мне нужно сравнивать то, что выбрал пользователь с ключом массива, а не его значением.
...
Рейтинг: 0 / 0
29.10.2013, 13:32
    #38444920
phpuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
то, что я хочу сделать, работает вот так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<?php
$groups='Groups';
$personal='Personal';

if(isset($_POST['button']))
    {
....
    $choice=$_POST['status'];
    if ($choice==$groups){
     echo 'Вы выбрали отчёт по ГРУППАМ! <br>';
    }
    else
    {
    echo 'Вы выбрали что-то другое';
    }
    }


но это как-то криво. мне пришлось для этого вводить две переменные $groups и $personal.

вместо этих переменных, я хочу использовать ключи ассоциативного массива и сравнивать
переменную $choice с ключами массива.
но я не знаю как, у меня не получается.
...
Рейтинг: 0 / 0
29.10.2013, 14:26
    #38445075
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
phpuser,

Код: php
1.
2.
3.
   $choice=$_POST['status'];
   if  (array_key_exists($choice,$par)) echo "Вы выбрали $choice!";
   else echo "Неясно, чего хотите...";
...
Рейтинг: 0 / 0
04.11.2013, 11:36
    #38451647
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
авторно это как-то криво. мне пришлось для этого вводить две переменные $groups и $personal.

Потому что надо сделать две функции groups() и personal() которые вызывать в зависимости от того, что выбрал юзверь.

$func = $_POST['option'];
if (!is_callable($func)) {
} else {
$func($some_arg, $or_two, $or_more);
}

У меня так в гнездовой модели сделано. Потому что команд дофига и все их обработчики сугубые.
...
Рейтинг: 0 / 0
04.11.2013, 12:06
    #38451669
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с формой. Запутался.
Код: php
1.
2.
$choice=$_POST['status'];
    if ($choice==$groups){



Обычно делают так

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
switch($_POST['status']){
  case 'group':
    echo 'you have selected "group"';
  break;
  case 'personal':
    echo 'you have selected "personal"';
  break;
  default:
    echo 'you have selected someting wrong';

} 




(необычно c variable variables, см. в мане),

переключатель содержит ваши "переменные".
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите разобраться с формой. Запутался. / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]