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


Автор: keen_ 11.2.2011, 10:56
Пожалуйста, подскажите что нужно написать в данный код, чтобы после отправки сообщения показывалась нужная мне страничка, т. е. чтобы показывался нужный мне HTML код.

If форма отправлена, то:

--- здесь идёт html код (от <html> до </html>) ---


Код

<div class="clear"></div>
            <script  type="text/javascript" src="/template/common/js/jquery.validate.js"></script>
            <script type="text/javascript" src="/template/common/js/messages_<?=$lang;?>.js"></script>
            <script  type="text/javascript" src="/template/common/js/feedback.validate.js"></script>
            <div class="clear"></div>
            <div style="display:<?=$display;?>">
                    <h3><?=nl2br($const[29]);?></h3>
            </div>

            <form id="feedform" method="post" action="">
            
      <table class="form" border="0" bgcolor="#eaeaea" cellspacing="16" cellpadding="0" width="100%"> 
       <tr> 
        <td>
                    <div class="label_div">
                        <input type="hidden" name="script" value="feedback">
                        <?=$const[24];?>
                        <input type="hidden" value="<?=$const[24];?>" name="label[1]">
                        <input type="hidden" value="name" name="data[1]">
                    </div>
                    
<input size="32" type="text" id="name" name="name" maxlength="100" value=""></td></tr><tr><td>

                    <div class="label_div">
                        <?=$const[32];?>
                        <input type="hidden" value="<?=$const[32];?>" name="label[10]">
                        <input type="hidden" value="phone" name="data[10]">
                    </div>

<input size="32" type="text" id="phone" name="phone" maxlength="100" value=""></td></tr><tr><td>
                
                    <div class="label_div">
                        <?=$const[25];?>
                        <input type="hidden" value="<?=$const[25];?>" name="label[2]">
                        <input type="hidden" value="email" name="data[2]">
                    </div>

<input size="32" type="text" id="email" name="email" maxlength="100" value=""></td></tr><tr><td>

                    <div class="label_div">
                        <?=$const[26];?>
                        <input type="hidden" value="<?=$const[26];?>" name="label[3]">
                        <input type="hidden" value="message" name="data[3]">
                    </div>

<!textarea cols="59" rows="9" id="message" name="message" style="width:100%"></!textarea></td></tr><tr><td>

<table class="form" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td>

                    <div class="label_div captcha">
                        <?=$const[27];?>
                    </div>
                    <div class="input_div">
                        <input type="text" class="required i_captcha" id="captcha" name="captcha" value="">
                        </td><td><img src="/template/common/captcha/images/image.php?<? echo time(); ?>" style="margin-left:6px;" width="132" height="30" alt="captcha">
                    </div>

</td>
</tr>
</table>


</td></tr><tr><td>
                    <input type="submit" class="submit" value="<?=$const[28];?>">

</td>            
</tr>
</table>                
            </form>

            <div class="clear"></div>

Автор: ayax2005 11.2.2011, 12:39
Логика такая:

Код

if(isset($_POST['variable'])) include('template.htm');
else include('form.tpl');

Автор: keen_ 11.2.2011, 13:02
ayax2005, спасибо конечно, но я нифига не понял куда этот код вставлять :(

Автор: The_Aleksey 11.2.2011, 16:23
keen_, у тебя есть 2 файла:
1-й это форма, которая представлена в примере (по терминологии ayax2005, fotm.tpl)
2-й - это файл, в котором выводится код после отправки формы (template.htm)
И есть какой-то файл, предположим index.php, который все это связывает, и он содержит
Код

if(isset($_POST['variable'])) include('template.htm');
else include('form.tpl');

Автор: keen_ 11.2.2011, 16:45
Спасибо!

Мне один человек вот что посоветовал:

Код

Решите вопрос на уровне файла модели: если форма отправлена - покажи один
tpl-файл, если не отправлена - покажи feedback.tpl


Не подскажите как выглядит подобный код?

Автор: ayax2005 11.2.2011, 16:47
Именно это мы вам и предлагаем сделать

Автор: keen_ 11.2.2011, 16:50
Спасибо. Сейчас попытаюсь разобраться ...

smile

Добавлено через 8 минут и 39 секунд
Не могу понять в какой файл и в какое конкретно место вставлять код

Код

if(isset($_POST['variable'])) include('template.tpl');
else include('form.tpl');


У меня движок. Сама форма в файле feebback.tpl

Автор: Temp 11.2.2011, 23:16
keen_, создаешь отдельный php файл, в котром:
1 - if(isset($_POST['variable'])) include('template.tpl');  // если что-то есть подключается фал с формой template.tpl
2 -else include('form.tpl'); // иначе подключается 2 файл form.tpl


подитожу: 3 файла, один php опредает какой шаблон подгружать, 2 файла шаблона.

можно конечно разные вариации использовать, так что 3 файла это не аксиома. Но главное это php который будет делать выбор что выводить.

Автор: keen_ 12.2.2011, 04:34
Блин, не понял, а ещё больше запутался.

Попробую переобъяснить что мне нужно.

У меня движок. Всё работает замечательно. Но после отправки письма из формы у меня показывается эта же самая страница, а нужно чтобы показывалась другая страница (совсем с другим содержимым), которую я специально сделаю.

Вот код файла content_feedback_en.tpl:


Код

        <div class="clear"></div>
            <script  type="text/javascript" src="/template/common/js/jquery.validate.js"></script>
            <script type="text/javascript" src="/template/common/js/messages_<?=$lang;?>.js"></script>
            <script  type="text/javascript" src="/template/common/js/feedback.validate.js"></script>
            <div class="clear"></div>
            <div style="display:<?=$display;?>">
                    <h3><?=nl2br($const[29]);?></h3>
            </div>

            <form id="feedform" method="post" action="">
            
      <table class="form" border="0" bgcolor="#eaeaea" cellspacing="16" cellpadding="0" width="100%"> 
       <tr> 
        <td>
                    <div class="label_div">
                        <input type="hidden" name="script" value="feedback">
                        <?=$const[24];?>
                        <input type="hidden" value="<?=$const[24];?>" name="label[1]">
                        <input type="hidden" value="name" name="data[1]">
                    </div>
                    
<input size="32" type="text" id="name" name="name" maxlength="100" value=""></td></tr><tr><td>

                    <div class="label_div">
                        <?=$const[32];?>
                        <input type="hidden" value="<?=$const[32];?>" name="label[10]">
                        <input type="hidden" value="phone" name="data[10]">
                    </div>

<input size="32" type="text" id="phone" name="phone" maxlength="100" value=""></td></tr><tr><td>
                
                    <div class="label_div">
                        <?=$const[25];?>
                        <input type="hidden" value="<?=$const[25];?>" name="label[2]">
                        <input type="hidden" value="email" name="data[2]">
                    </div>

<input size="32" type="text" id="email" name="email" maxlength="100" value=""></td></tr><tr><td>

                    <div class="label_div">
                        <?=$const[26];?>
                        <input type="hidden" value="<?=$const[26];?>" name="label[3]">
                        <input type="hidden" value="message" name="data[3]">
                    </div>

<!textarea cols="59" rows="9" id="message" name="message" style="width:100%"></!textarea></td></tr><tr><td>

<table class="form" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td>

                    <div class="label_div captcha">
                        <?=$const[27];?>
                    </div>
                    <div class="input_div">
                        <input type="text" class="required i_captcha" id="captcha" name="captcha" value="">
                        </td><td><img src="/template/common/captcha/images/image.php?<? echo time(); ?>" style="margin-left:6px;" width="132" height="30" alt="captcha">
                    </div>

</td>
</tr>
</table>


</td></tr><tr><td>
                    <input type="submit" class="submit" value="<?=$const[28];?>">

</td>            
</tr>
</table>                
            </form>

            <div class="clear"></div>




Автор: ayax2005 12.2.2011, 04:40
понятней только здесь http://php.net/docs.php

Автор: keen_ 12.2.2011, 04:55
Смотря кому понятней. Мне нет. smile Иначе бы не просил здесь помощи ...

Автор: keen_ 15.2.2011, 17:14
Так никто и не подскажет?  smile 
Вы извините, действительно запутался, не понимаю как это сделать.  smile 
Спасибо.

Автор: smartov 15.2.2011, 17:52
В такой постановке задачи удалённо никто и никогда не подскажет тебе что делать.
Ты пытаешься решить проблему ничерта не понимая в языке программирования. 
Я, конечно, понимаю, что ты, видимо, не программист, и вообще тебе просто сайт сделать надо, но помочь тебе с такой постановкой проблемы через форум невозможно.
Найди знающего человека по месту проживания - вот лучший совет, который можно дать в такой ситуации.

Автор: keen_ 15.2.2011, 17:59
Как раз задача очень простая. Есть файл - content_feedback.tpl - с таким кодом:
Код

        <div class="clear"></div>
            <script  type="text/javascript" src="/template/common/js/jquery.validate.js"></script>
            <script type="text/javascript" src="/template/common/js/messages_<?=$lang;?>.js"></script>
            <script  type="text/javascript" src="/template/common/js/feedback.validate.js"></script>
            <div class="clear"></div>
            <div style="display:<?=$display;?>">
                    <h3><?=nl2br($const[9]);?></h3>
            </div>

            <form id="feedform" method="post" action="">
            
      <table class="form" border="0" bgcolor="#eaeaea" cellspacing="16" cellpadding="0" width="100%"> 
       <tr> 
        <td>
                    <div class="label_div">
                        <input type="hidden" name="script" value="feedback">
                        <?=$const[5];?>
                        <input type="hidden" value="<?=$const[5];?>" name="label[1]">
                        <input type="hidden" value="name" name="data[1]">
                    </div>
                    
<input size="32" type="text" id="name" name="name" maxlength="100" value=""></td></tr><tr><td>

                    <div class="label_div">
                        <?=$const[31];?>
                        <input type="hidden" value="<?=$const[31];?>" name="label[10]">
                        <input type="hidden" value="phone" name="data[10]">
                    </div>

<input size="32" type="text" id="phone" name="phone" maxlength="100" value=""></td></tr><tr><td>
                
                    <div class="label_div">
                        <?=$const[6];?>
                        <input type="hidden" value="<?=$const[6];?>" name="label[2]">
                        <input type="hidden" value="email" name="data[2]">
                    </div>

<input size="32" type="text" id="email" name="email" maxlength="100" value=""></td></tr><tr><td>

                    <div class="label_div">
                        <?=$const[7];?>
                        <input type="hidden" value="<?=$const[7];?>" name="label[3]">
                        <input type="hidden" value="message" name="data[3]">
                    </div>

<!textarea cols="59" rows="9" id="message" name="message" style="width:100%"></!textarea></td></tr><tr><td>

<table class="form" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td>

                    <div class="label_div captcha">
                        <?=$const[17];?>
                    </div>
                    <div class="input_div">
                        <input type="text" class="required i_captcha" id="captcha" name="captcha" value="">
                        </td><td><img src="/template/common/captcha/images/image.php?<? echo time(); ?>" style="margin-left:6px;" width="132" height="30" alt="captcha">
                    </div>

</td>
</tr>
</table>


</td></tr><tr><td>
                    <input type="submit" class="submit" value="<?=$const[8];?>">

</td>            
</tr>
</table>                
            </form>

            <div class="clear"></div>


И мне просто нужно, чтобы после отправки формы на страничке показывалось только то, что необходимо, а именно - Письмо отправлено!
А в данный момент после отправки формы на страничке снова показывается информация (контактная), которая была до отправки и Письмо отправлено!.

Так что как мне кажется в данном случае всё очень просто.

Автор: smartov 16.2.2011, 12:28
Цитата(keen_ @  15.2.2011,  17:59 Найти цитируемый пост)
мне кажется

Кажется - креститься надо, уважаемый. Послушайте знающих и похоже старших вас минимум в 2 раза, людей.

Автор: Rodman 16.2.2011, 12:42

M
Rodman
Модератор: Название темы должно содержать язык написания!

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