0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 2
1

Якорь в скрипте обратной формы PHP

22.05.2017, 19:41. Показов 979. Ответов 3
Метки нет (Все метки)

Здравствуйте. Очень нужна помощь. Установил на сайт скрипт обратной формы. Каждый раз при нажатии клавиши Submit (подтвердить/отправить) и страница обновляется и над формой появляется в зависимости от того верно ли заполнил человек форму то или иное сообщение.

Так вот дело в том, что страница обновляется и остается на самом верху и чтобы посмотреть сообщение нужно страницу прокрутить вниз до этой формы обратной связи. Это не удобно и пользователь не понимает что произошло, после того как он нажал кнопку.

Вопрос как сделать так чтобы при обновлении страницы она якорилась в нужном мне месте???

Вот код формы:

Кликните здесь для просмотра всего текста
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
 <?php
 
 
/* Config File */
include_once('config.php');
 
/* Are we submitting form */
if($_POST['submitID'] == 1){
 
    /* Check user entered variables */
    if($_POST['name'] == NULL){ $message = 'Please enter your name.';}
    if($message == NULL && is_valid_email($_POST['email']) == false ){ $message = 'Please enter a valid email.';}
    if($_POST['messageText'] == NULL && $message == NULL){ $message = 'Please enter a comment.';}   
    
    /* Check Mental Question */
    if($mentalQuestion == TRUE)
    {
        foreach($mentalQuestionList as $question) {if($question[0] == $_POST['question']){$answer = $question[1];}}
        if($answer != $_POST['finalAnswer'] || $answer == NULL)
        {
            $message = 'Your answer to "'.$_POST['question'].'" is invalid.';
        }
    }
    /* Actual sending */
    if($message == NULL){
 
        /* Compose messages */
        $doSearch = array('$+name+$','$+email+$','$+message_text+$','$+reason+$','$+art+$');
        $doReplace = array($_POST['name'],$_POST['email'],$_POST['messageText'],$_POST['reason'],$_POST['art']);
        
        
        
        /* Compose headers */
        $headers = "Return-Path: ".$siteTitle." <".$emailFrom.">\r\n"; 
        $headers .= "From: ".$siteTitle." <".$emailFrom.">\r\n";
        $headers .= "Content-Type: text/html; charset=".$emailCharset.";\n\n\r\n"; 
 
        /* Send Thank you Email */
        if($sendThankYou == TRUE){
            $userMessage = str_replace($doSearch,$doReplace,$emailSubject);
            //Send Thank you
            mail ($_POST['email'],$emailTitle,$userMessage,$headers);   
        }
        
        $adminMessage = str_replace($doSearch,$doReplace,$emailSubjectAdmin);
        
        /* Send Admin Emails */
        if(count($adminEmails) > 0){            
            foreach($adminEmails as $thisEmail){
                mail($thisEmail,$emailAdminTitle,$adminMessage,$headers);   
            }
        }
 
        $message = 'Your contact has been sent, thank you.';
        $_POST = NULL;
    }
}
if($message != NULL){
?>
 
    </p>
    <table width="100%"  border="0" cellpadding="5" cellspacing="0" bgcolor="#FF8080">
      <tr>
      
    <td bgcolor="#FFD5D5"><font color="#818181"><?=$message;?></font></td>
  </tr>
</table>
    <?php } ?>
<span style="font-size: 12%"></span><span style="color: #000000"></span><span style="color: #000000"></span><span style="color: #000000"></span>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="contact" id="contact" style="display:inline;">
  <table width="130"  border="0" align="left" cellpadding="5" cellspacing="0">
 
 
    <tr>
      <td width="40%"><blockquote>
        <p> Name:</p>
        </blockquote></td>
        <td width="60%"><input name="name" type="text" id="name" value="<?php echo $_POST['name'];?>" size="100" maxlength="86"></td>
    </tr>
    <tr>
      <td><blockquote>
        <p>Email:</p>
        </blockquote></td>
        <td><input name="email" type="text" id="email" value="<?php echo $_POST['email'];?>" size="100" maxlength="76"></td>
    </tr>
    <tr>
      <td><blockquote>
        <p>Preferred method of payment: </p>
        </blockquote></td>
        <td style="text-align: left"><select name="reason" size="1" id="reason" style="width:154px;">
        <?php if($_POST['reason'] == 'Bank transfer' || $_POST['reason'] == NULL){ $sel = ' selected';} else { $sel = NULL;} ?>
        <option value="Paypal"<?=$sel;?>>PayPal</option>
        <?php if($_POST['reason'] == 'PayPal'){ $sel = ' selected';} else { $sel = NULL;} ?>
        <option value="Bank transfer"<?=$sel;?>>Bank transfer</option>
        <?php if($_POST['reason'] == 'Complaints'){ $sel = ' selected';} else { $sel = NULL;} ?>
        
      </select></td>
      
                 
            <input name="art" type="hidden" id="art" value="Produkt 3aka3aH co cTpanici - t1-n656">
      
      
    </tr>
    <tr>    
      <td align="right"><blockquote>
        <p>Your comment:</p>
        </blockquote></td>
        <td><textarea name="messageText" cols="76" rows="4" id="messageText"><?php echo $_POST['messageText'];?></textarea></td>
    </tr>
    <?php
    if($mentalQuestion == TRUE)
    {
        $random = rand(0,count($mentalQuestionList)-1);
        $question = $mentalQuestionList[$random][0];
    ?>
    <tr>
      <td style="text-align: center"><?php echo $question;?></td>
        <td style="text-align: left"><input name="finalAnswer" type="text" id="finalAnswer" value="<?php echo $_POST['finalAnswer'];?>" maxlength="80" /></td>
    </tr>
    <?php
    }
    ?>
    <tr>
        <td colspan="2"><div align="center">
        <input type="submit" name="Submit" value="Send">
        <input type="hidden" id="question" name="question" value="<?php echo $question;?>">
        <input name="submitID" type="hidden" id="submitID" value="1">
        </div></td>
    </tr>
    <tr>
    
    </tr>
</table>     
</form>
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2017, 19:41
Ответы с готовыми решениями:

Нужен php обработчик для формы обратной связи
Как отправить письмо с php файла с помощью функции mail() ? Вот форма: &lt;form action=&quot;&quot; class=&quot;...

Код html или php для формы обратной связи
форма обратной связи!! подскажите плиз код html или php для формы обратной связи в моём случае ...

Прикрутить php-скрипт для формы обратной связи из html шаблона
Имеется готовый HTML - шаблон, необходимо &quot;прикрутить&quot; уже написанный скрипт к страничке. Возможно...

Mail.php отправляет пустой текст из формы обратной связи на сайте
Добрый день. Есть форма обратной связи на сайте, скрипт js и mail.php. Сам алгоритм отрабатывает на...

3
Заблокирован
22.05.2017, 22:06 2
После отправки данных формы нужно делать редирект методом GET. Вот и делайте редирект на /bla-bla-bla#contactform

Добавлено через 12 минут
Пример можно тут глянуть, правда, там сейчас доп. антиспам-форма введена, поэтому порядок, видимо, будет такой: POST /contact -> GET /антиспам-форма, POST /антиспам-форма -> GET /contact#comment (сообщение под якорем тоже должно появляться, пока модер не обработает).
0
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 2
23.05.2017, 09:00  [ТС] 3
Спасибо, но по ссылке перехожу, но чет там пусто.
0
Заблокирован
23.05.2017, 12:54 4
Это пример формы. Можете пройти все шаги по отправке сообщения и в заключение пронаблюдать, по какому адресу будет происходить редирект. Попутно можно в браузере включить панель, в кот. отображаются все запросы и ответы.

P.S. В качестве текста сообщения можете написать «Привет Майку с киберфорума». Если хотите, можете мне в личку сообщить ваше мыло, чтобы я его внес в белый список, тогда антиспам-форма не будет появляться в том числе и при отправке первого сообщения.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2017, 12:54
Помогаю со студенческими работами здесь

передать якорь на другой странице в php
Здравствйте. Не могу додуматься, как реализовать переход по ссылке на другую страницу к якорю. С...

Вызов функции js в php скрипте и передача значения js в php скрипт
Доброе время суток.! Подскажите пожалуйста как можно (и можно ли вообще) вызвать функцию js ...

Как выполнить php скрипт в другом php скрипте?
Всем привет. Не могу реализовать выполнение скрипта после возврата с яндекс денег. Сделал форму с...

Запрос к одной из нескольких php функций в php скрипте
есть файл function.php с несколькими функциями: function request1(param1) {..} function...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru