Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Pinnokio
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 110
1

Перенаправление с Javascript

31.12.2018, 21:30. Просмотров 410. Ответов 4
Метки нет (Все метки)

Никак не осилю. Нужна помощь сообщества. Есть два изначально практически идентичных php файла с формой регистрации и последующей отправкой данных в БД. Один для частных лиц, другой для юридических. Пока не начал делать валидацию, работали оба. Т.е. отправляли данные в БД ( все делается на локальном сервере ), потом шло перенаправление на файл-прокладку, где посетителю показывалась информация о его успешной регистрации и далее все перекидывалось на главную страницу index.php. После того как установил Jquery.validation и еще несколько скриптов, перенаправление работать перестало. Что только не делал, как не тусовал, ничего не выходит! Не знаю в чем причина. Подумал, что может здесь мне быстрее помогут разобраться и найти ошибку. Итак, вот файл регистрации частного лица:

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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
    <head>
        <meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
        <title>Виртуальный Тендерный Центр</title>
        <link href="../css/forms_registration.css" type="text/css" rel="stylesheet" />
        <script type="text/javascript" src="../js/jquery-3.3.1.js" ></script>
        <script type="text/javascript" src="../js/jquery.validate.js" ></script>
        <script type="text/javascript" src="../js/myscripts.js" ></script>
        <script type="text/javascript">
         function setFocus(){
              document.getElementById("input_login").focus();
         }
        </script>
    </head>
    <body onload="setFocus()">
        <div id="header">
            <a id="logo" href="index.php"><img src="http://www.cyberforum.ru/images/logo.png" alt="logo" /></a>
            <div id="mainmenu">
                <ul>
                    <li><a href="#">О ПРОЕКТЕ</a></li>
                    <li><a class="current" href="#">ТЕНДЕРЫ</a></li>
                    <li><a href="#">ВИДЕО</a></li>
                    <li><a href="#">НОВОСТИ</a></li>
                    <li class="contact"><a href="#">КОНТАКТЫ</a></li>
                </ul>
            </div>
        </div>  
        
        <div id="content">
            <div id="registration">                      
              <h2>Учетные данные пользователя</h2>
                <form action=" private_registration.php " method="POST" id="loginform">
                    <fieldset>
                        <div class="row">
                            Имя учетной записи:
                            <div class="form_group">
                                <input type="text" name="login" value="" autocomplete="off" placeholder="Выберите для себя логин" class="form_input" id="input_login" />
                            </div>
                        </div><br> 
                        
                        <div class="row">
                            Пароль:
                            <div class="form_group">    
                                <input type="password" name="pass" placeholder="Придумайте пароль" id="form_pass" class="form_input" />
                            </div>
                        </div><br>
                        
                        <div class="row">
                            Подтверждение пароля:
                            <div class="form_group">
                                <input type="password" name="pass2" placeholder="Наберите пароль еще раз" class="form_input" />
                            </div>
                        </div><br> 
                        
                    </fieldset>
                    
                        <h2>Персональная информация</h2>
                        
                    <fieldset>
                        <div class="row">
                        Ваше имя:
                            <div class="form_group">
                                <input type="text" name="name" placeholder="Введите ваше имя" class="form_input" />
                            </div>
                        </div><br>   
                                                
                        <div class="row">
                        Фамилия:
                            <div class="form_group">
                                <input type="text" name="surname" placeholder="Введите вашу фамилию" class="form_input" />
                            </div>
                        </div><br>   
                                                
                        <div class="row">
                        Личный код:
                            <div class="form_group">
                                <input type="text" name="person_ID" placeholder="Введите ваш личный код" class="form_input" />
                            </div>
                        </div><br>  
                        
                        <div class="row">
                        Адрес электронной почты:
                            <div class="form_group">
                                <input type="text" name="email" placeholder="Введите адрес вашей эл.почты" class="form_input" />
                            </div>
                        </div><br>  
                        
                        <div class="row">
                        Номер телефона:
                            <div class="form_group">
                                <input type="text" name="phone" placeholder="Введите ваш номер телефона" class="form_input" />
                            </div>
                        </div><br>  
                        
                    </fieldset> 
                    
                        <div class="agree">
                        <input type="checkbox" name="agree" style="margin-top: 3px"; id="agree" />&nbsp;
                            <label> Я прочитал(а) и соглас-ен(на) с <a href="#">условиями пользовательского соглашения.</a></label>
                        </div><br>                          
                    
                        <input type="hidden" name="date" value="<?php echo date('Y-m-d');?>" />
                        <input type="hidden" name="time" value="<?php echo date('H:i:s');?>" />
                        <div>
                        <input type="submit" class="sendsubmit" name="send"  id="submit" disabled /> 
                        </div>
                </form>
                <?php  
                                
                include_once("../db/connect.php");
                
                if(isset($_POST['send'])){
                    
                      $login = mysqli_real_escape_string($connection, trim(strip_tags($_POST["login"])));
                      $pass = mysqli_real_escape_string($connection,$_POST["pass"]);
                      $pass2 = mysqli_real_escape_string($connection,$_POST["pass2"]);
                      $name = mysqli_real_escape_string($connection,trim(strip_tags($_POST["name"])));
                      $surname = mysqli_real_escape_string($connection,trim(strip_tags($_POST["surname"])));
                      $person_ID = mysqli_real_escape_string($connection,trim(strip_tags($_POST["person_ID"])));
                      $email = mysqli_real_escape_string($connection,trim(strip_tags($_POST["email"])));
                      $phone = mysqli_real_escape_string($connection,trim(strip_tags($_POST["phone"])));
                      $date = $_POST['date'];
                      $time = $_POST['time'];
                      
                      if(!empty("$login") && !empty("$pass") && !empty("$pass2") && !empty("$name") && !empty("$surname")
                         && !empty("$person_ID") && !empty("$email") && !empty("$phone") && ($pass == $pass2)){
                        $query = "SELECT * FROM `person_table_registration` WHERE login = '$login'";
                        $data = mysqli_query($connection, $query);
                        if(mysqli_num_rows($data) == 0) {
                            $query = "INSERT INTO `person_table_registration`(login, pass, pass2, name, surname, person_ID, email, phone, date, time)
                            VALUES ('$login', SHA('$pass'), SHA('$pass2'), '$name', '$surname', '$person_ID', '$email', '$phone', '$date', '$time')";
                                                        }
                            mysqli_query ($connection, $query);
                            echo "Все ОК. Вы можете авторизоваться на главной странице сайта!";
                            mysqli_close($connection);
                            exit();
                        }   
                    else {
                        echo "Заполнены не все поля формы";
                    }   
                }   
                if(isset($_POST['send'])){?>
            
                      
                       <script type="text/javascript">location.replace("sucsessreg.php");</script> 
                    
                <?php }
                ?>
            </div>
        </div>
        <?php
            include "../include/footer.php";
        ?>
        
    </body>
</html>
В этом файле сделать перенаправление не получается - после отправки данных формы страница просто перезагружается и снова показывает форму с пустыми полями готовыми к заполнению. Не знаю, важно это или нет для понимания источника проблемы, но здесь была сделана попытка создания валидации как на стороне клиента, так и одновременно на стороне сервера. Валидация работает, все ок - перенаправление пропало.
Ранее пробовал делать с помощью {header}, но поскольку там все время натыкался на проблему с отправкой заголовков, то решил пойти по пути применения JS.
Перенаправление во втором файле такое же, только со ссылкой на другой файл и оно работает.
Javascript
1
<script type="text/javascript">location.replace("sucsess_firm.php");</script>
Может дело в Jquery скриптах? Они для меня "черный ящик". На что еще грешить - не знаю.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2018, 21:30
Ответы с готовыми решениями:

Можно ли организовать перенаправление ввода-вывода в JavaScript?
Подскажите!!!!!!! Можно ли организовать перенаправление ввода-вывода в JavaScript например...

Выполнение Javascript файла в котором присутствуют javascript теги
text1.js &lt;link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css'...

Вставка элементов меню (содержащих javascript) через javascript
Пишу курсовой проект по JavaScript в ходе которого потребовалось создать небольшой локальный сайт,...

Как перезагрузить javascript, javascript-ом?
как с помощью javascript перезагрузить javascript ? Смысл в том что один из моих скриптов выполняет...

Javascript (codeacademy - "'WHILE' LOOPS IN JAVASCRIPT(Dragon Slayer!)")
Пожалуйста, помогите прочитать этот код!!! var slaying = true; // A bit of new math magic to...

4
Mr_Sergo
1320 / 697 / 261
Регистрация: 29.04.2016
Сообщений: 1,908
01.01.2019, 07:53 2
Цитата Сообщение от Pinnokio Посмотреть сообщение
но поскольку там все время натыкался на проблему с отправкой заголовков
Уточните что за проблема с заголовками? Я обычно делаю так:
PHP
1
header('Location: http://www.example.com/');
и никаких проблем не возникает
0
Pinnokio
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 110
02.01.2019, 12:59  [ТС] 3
Да, я знаю о такой возможности, но в этом конкретном случае пытаюсь найти решение с помощью JS ( мне так понятней ).
0
alexsamos33
625 / 603 / 327
Регистрация: 26.04.2014
Сообщений: 2,017
04.01.2019, 13:38 4
Может быть submit формы не происходит, а срабатывает ajax и страница перезагружается без POST запроса? Открой консоль javascript (F12) и посмотри.
0
Pinnokio
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 110
04.01.2019, 17:20  [ТС] 5
Спасибо за участие. Решил проблему посредством переноса PHP кода в файл-обработчик, который показывает страничку о факте успешной регистрации и с которой посетитель потом перенаправляется на главную. Так задумывал и так сделал.
0
04.01.2019, 17:20
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2019, 17:20

Перенаправление
Есть два домена &quot;1&quot; и &quot;2&quot; Например, я нахожусь на каком-либо сайте и нажимаю на нем ссылку, как...

Перенаправление
перенаправоение на JS можно сделать так &lt;script type=&quot;text/javascript&quot;&gt; ...

Перенаправление
Всем привет! У меня вопрос: Как средствами JS перенаправить пользователя на другую страницу при...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru