Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вывод сообщения после редиректа


Автор: Frazelli 25.2.2012, 00:27
Здравствуйте. При выборе одного из пунктов меню (index.php?id=3), из базы грузится вот такой контент:
Код

<form name="form1" method="post" action="insert.php">
        Name: <input type="text" id="name" name="name" />
        Message: <input type="text" id="message" name="message"  />
        <input type="submit" id="submit" value="Submit" />
</form>


вот обработчик формы insert.php:
Код

 <?php
   ...
   тут добавляю данные в БД
   ...
    header("Location: index.php?id=3");
?>
 


Как сделать чтобы после редиректа выводился текст под формой?
Пробовал на JavaScript, но не получается.. 

Автор: Vardoulacha 25.2.2012, 05:49
эм... делать проверку в index.php на наличие переменной $_GET['id'] если она существует и не пустая значит надо показать около формы сообщение

Автор: Frazelli 25.2.2012, 06:06
Цитата(Vardoulacha @  25.2.2012,  05:49 Найти цитируемый пост)
делать проверку в index.php на наличие переменной $_GET['id'] если она существует и не пустая значит надо показать около формы сообщение 


она в любом случае не пустая. нужно именно после нажатия кнопки и обработки формы выводилось сообщение, например: "спасибо что оставили отзыв".

может есть вариант сделать это на JavaScript? но вот куда всавить скрипт, не понятно..

Автор: ksnk 25.2.2012, 07:09
Цитата(Frazelli @  25.2.2012,  06:06 Найти цитируемый пост)
именно после нажатия кнопки и обработки формы выводилось сообщение, например: "спасибо что оставили отзыв".


В сессию записать сообщение. При следующем выводе, если сообщение есть - вывести его и стереть.

Автор: $дмитрий 25.2.2012, 07:11
Код

header("Location: index.php?id=3&complite=1");


Код

if($_GET['complite']){
    ?><p>спасибо что оставили отзыв</p><?
}

Автор: Frazelli 25.2.2012, 07:41
Цитата(ksnk @  25.2.2012,  07:09 Найти цитируемый пост)
В сессию записать сообщение. При следующем выводе, если сообщение есть - вывести его и стереть. 

Не совсем понятно, но попробую сделать..



$дмитрий, мне такой код вставить некуда, ведь форма грузится из базы.

Автор: Frazelli 25.2.2012, 08:36
Спасибо, все получилось. Сделал как посоветовал $дмитрий

просто код добавил в файл где выводится контент.

Код

 <div id="content">      
                <br />
                    <?php
                        
                        require_once "../controller/ccontent.php";
                
                        $id = $_GET['id'];
                        $vcont = new Ccontent();
                        print ($vcont->print_content($id));
                        
                        if ($_GET['complite']) {
                            echo "<br />Спасибо что оставили отзыв!";
                            
                        }
                    ?>
 </div>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)