Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для parsecer
3 / 3 / 2
Регистрация: 19.07.2015
Сообщений: 74

Не выполняется сценарий с использованием POST и GET

25.08.2015, 14:51. Показов 561. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть сценарий: сначала на странице users_info.php после нажатия на ссылку для выбранного пользователя перенаправляется на view_user_post.php где выводится щапрос подтверждения, после чего, если было нажато "Да", выводится список сообщений, отправленных и принятых этим пользователем. В теории.

На деле после нажатия на кнопку ничего не происходит.
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
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
<html>
    <head>
        <title>view_user_post</title>
    </head>
    <body>
    
    <?php
        require_once('shared_php/app_vars.php');
        require_once('shared_php/connect_vars.php');
        
     
    
        if (isset($_GET['id']) AND isset($_GET['email']) AND isset($_GET['nickname'])) {
       
            $id=$_GET['id'];
            $email=$_GET['email'];
            $nickname=$_GET['nickname'];
   
        }
        
        elseif (isset($_POST['id']) AND isset($_POST['email']) AND isset($_POST['nickname'])) {
            $id=$_POST['id'];
            $email=$_POST['email'];
            $nickname=$_POST['nickname'];
            echo 'post';
        }
        
        else {
            echo '<p class="error">Ни одного пользователя не выбрано для просмотра</p>';
            
        }
        
        
        
        
        if (isset($_POST['submit'])) { // Если есть массив POST
        
            echo '<table class="view_post">'; // начало таблицы - истории переписок
        
            if ($_POST['confirm']=='Yes') { // Если подтвердили
           
               $connect=mysqli_conncet(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
               // Вывод всех писем пользователя
               $view_outpost="SELECT * FROM owlpost WHERE from_nickname=$nickname AND from_id=$id"; // Отправленные пользователем письма
               $view_inpost="SELECT * FROM owlpost WHERE to_nickname=$nickname AND to_id=$id"; // Принятые пользователем письма
               
               $done_outpost=mysqli_query($connect, $view_outpost);
               while ($row=mysqli_fetch_array($done_outpost)) { 
                   echo '<tr><td><strong>'.$nickname.'</strong></td><td>'.$row['to_id'].'</td><td>'.$row['text'].'</td><td>'.$row['picture'].
                   '</td><td>'.$row['date'].','.$row['time'].'</tr>';
                   
               }
               echo 'История переписок пользователя'.$nickname.'загружена';
            }
            
           else {
               // Если выбор был 'No';
               echo 'Загрузка переписки пользоваеля прекращена';
           }   
        }
        
        elseif (isset($id) AND isset($nickname) AND isset($email)) {
 
            //Вывод страницы запроса подтверждения
            
            echo '<p>Вы уверены, что хотите прочитать личную переписку пользователя'.$nickname.','.$email.'?</p>';
            
            echo '<from method="post" action="view_user_post.php">';
            echo '<input type="radio" name="confirm" value="Yes"/>Да';
            echo '<input type="radio" name="confirm" value="No" checked="checked"/>Нет<br/>';
            echo '<input type="submit" value="Просмотреть почту пользователя'.':'.' '.$nickname.'" name="submit"/>';
            // Похоже на преобразование GET-переменных в POST;
            echo '<input type="hidden" name="id" value="'.$id.'"/>';
            echo '<input type="hidden" name="nickname" value="'.$nickname.'"/>';
            echo '<input type="hidden" name="email" value="'.$email.'"/>';
           
        }
        
        
        echo '<p><a href="users_info.php">Назад к списку пользователей</a></p>';
        
        ?>
        
        </body>
        </html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.08.2015, 14:51
Ответы с готовыми решениями:

Не выполняется сценарий
Наверняка это что-то очень глупое, но я в упор не вижу, в чем проблема: &lt;HTML&gt; &lt;HEAD&gt; &lt;meta charset=&quot;utf-8&quot;&gt; ...

Проверка где выполняется сценарий: в хосте или ISE
Подскажите, как в сценарии сделать проверку, в какой среде выполняется в данный момент этот же сценарий: хост PowerShell или ISE? Если это...

$.post выполняется несколько раз
Здравствуйте! Есть такой код: function add_gipure(param){ ...

2
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
25.08.2015, 16:46
Цитата Сообщение от parsecer Посмотреть сообщение
<from
form
1
 Аватар для parsecer
3 / 3 / 2
Регистрация: 19.07.2015
Сообщений: 74
25.08.2015, 18:11  [ТС]
Спасибо! Форма нормально загрузилась, не думал, что в ней проблема.

Вот еще вопрос - этот пример из учебника. Интересует, можно ли было обойтись всего двумя блоками if-else. В учебнике почему-то выполняется проверка массивов post и get дважды - в самом начале подряд и потом для проверки 'yes' и вывода формы. Зачем так делать, если можно сразу узнать - Post или get и все подусловия уместить внутри?


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
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
            if (isset($_GET['id']) AND isset($_GET['email']) AND isset($_GET['nickname'])) {
            // Присваивание значений переменным
            $id=$_GET['id'];
            $email=$_GET['email'];
            $nickname=$_GET['nickname'];
 
   
 
            //Вывод страницы запроса подтверждения
            
            echo '<p>Вы уверены, что хотите прочитать личную переписку пользователя'.$nickname.','.$email.'?</p>';
            
            echo '<form method="post" action="view_user_post.php">';
            echo '<input type="radio" name="confirm" value="Yes"/>Да';
            echo '<input type="radio" name="confirm" value="No" checked="checked"/>Нет<br/>';
            echo '<input type="submit" value="Просмотреть почту пользователя'.':'.' '.$nickname.'" name="submit"/>';
            // Похоже на преобразование GET-переменных в POST;
            echo '<input type="hidden" name="id" value="'.$id.'"/>';
            echo '<input type="hidden" name="nickname" value="'.$nickname.'"/>';
            echo '<input type="hidden" name="email" value="'.$email.'"/>';
           
        }
        
        
   
        elseif (isset($_POST['id']) AND isset($_POST['email']) AND isset($_POST['nickname'])) {
            $id=$_POST['id'];
            $email=$_POST['email'];
            $nickname=$_POST['nickname'];
           
             // начало таблицы - истории переписок
        
            if ($_POST['confirm']=='Yes') { // Если подтвердили
               echo '<table class="view_post">';
               $connect=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
               // Вывод всех писем пользователя
               $view_outpost="SELECT * FROM owlpost WHERE from_nickname='$nickname' AND from_id='$id'"; // Отправленные пользователем письма
               $view_inpost="SELECT * FROM owlpost WHERE to_nickname='$nickname' AND to_id='$id'"; // Принятые пользователем письма
               
               $done_outpost=mysqli_query($connect, $view_outpost);
               $done_inpost=mysqli_query($connect, $view_inpost);
               
               //исходящие
               while ($row=mysqli_fetch_array($done_outpost)) { // переход в новый столбец - td;
                   echo '<tr><td><strong>'.$nickname.'</strong></td><td>to</td><td><strong>'.
                   $row['to_nickname'].'</strong></td><td>'.$row['text'].'</td><td>'.
                   '<img src="upload_file_here'.$row['picture'].'"/>'.
                   '</td><td>'.$row['date'].','.$row['time'].'</tr>'; // переход на новую строку (tr);
               }
               
               //входящие
                 while ($row=mysqli_fetch_array($done_inpost)) { // переход в новый столбец - td;
                   echo '<tr><td><strong>'.$row['from_nickname'].'</strong></td><td>to</td><td><strong>'
                   .$nickname.'</strong></td><td>'.$row['text'].'</td><td>'.
                   '<img src="upload_file_here'.$row['picture'].'"/>'.
                   '</td><td>'.$row['date'].','.$row['time'].'</tr>'; // переход на новую строку (tr);
               }
               
               echo 'История переписок пользователя'.$nickname.'загружена';
            }
            
           else {
               // Если выбор был 'No';
               echo 'Загрузка переписки пользоваеля прекрашена';
           }   
        }
        
        
        else {
            echo '<p class="error">Ни одного пользователя не выбрано для просмотра</p>';
            
        }
Все работает и так. Как правильней делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.08.2015, 18:11
Помогаю со студенческими работами здесь

Почему в Yii может не выполняется post Запрос?
Почему заместо того, чтобы входить в тело post запроса после нажатия на кнопку submit, вылезает такое сообщение с ошибкой 500 на текущий...

ProgressBar, крутящийся, пока выполняется post-запрос
обычный прогрессбар делать легко, но как сделать так чтобы прогрессбар крутился именно пока выполняется мой пост запрос, а при завершении...

Составьте сценарий обработки формы. Сценарий должен включать две веб-страницы
Составьте сценарий обработки формы. Сценарий должен включать две веб-страницы: страница с формой и страница-обработчик. Страница-обработчик...

Составьте сценарий обработки формы. Сценарий должен включать две веб-страницы
Составьте сценарий обработки формы. Сценарий должен включать две веб-страницы: страница с формой и страница-обработчик. Страница-обработчик...

Post запрос выполняется только на своей машине, но не c сервера
Подскажите, как сделать чтобы скрипт выполнялся не только на моём компьютере, а и с сервера: #!/usr/bin/perl use LWP; use...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru