Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   из окна сообщения на новую страницу (https://javascript.ru/forum/dom-window/6718-iz-okna-soobshheniya-na-novuyu-stranicu.html)

PeaceCoder 18.12.2009 13:50

Гозар. После потправки формы скрипты не работают. ед выход это как ты сказал через перенаправление или же ajax

Bono 18.12.2009 14:09

Вот я и проверяю через
if(!empty($_POST))

После всей обработки вставил
header("Location: http://net.ru/index.php");

В результате, когда я в строке браузера набираю
http://net.ru/note.php сразу же происходит редирект на index.php

Gozar 18.12.2009 14:52

Цитата:

Сообщение от PeaceCoder (Сообщение 38332)
После потправки формы скрипты не работают. ед выход это как ты сказал через перенаправление или же ajax

нифига, Вы не поняли, обрабатываем данные если есть $_POST и выводим туже страницу, только адрес у нее теперь не note.php, а note.php?submit. Не надо меня путать:nono:

Цитата:

Сообщение от Bono (Сообщение 38341)
Вот я и проверяю через
if(!empty($_POST))

После всей обработки вставил
header("Location: http://net.ru/index.php");

В результате, когда я в строке браузера набираю
http://net.ru/note.php сразу же происходит редирект на index.php

проверять нужно не просто $_POST, а POST['переменнаяИзФормы']
<input type="text" name="firstname">

if(isset($_POST['firstname'])){
//тут обрабатываем данные из формы ($_POST['firstname'])
header("Location: index.php");
}

PeaceCoder 18.12.2009 15:08

Цитата:

Сообщение от Gozar
Не надо меня путать

А я не путаю ;)
Цитата:

Сообщение от Gozar
Вы не поняли, обрабатываем данные если есть $_POST и выводим туже страницу, только адрес у нее теперь не note.php, а note.php?submit.

Цитата:

Сообщение от Gozar
атем отправляем данные с указанием action: note.php?submit, смотрим js-ом url :document.location.href и если он: note.php?submit отправляем пользователя на location.href = 'index.php'

Сам себя запутал ;) а вообще проехали я понял что ты имеешь ввиду. и видимо топикстартер уже тоже.

Bono 18.12.2009 16:12

Короче делаю вот так:
<?
if(!empty($_POST['first'])) {   
...          //обрабатываю данные формы
<script language="JavaScript"> 
<!-- function but1() {          //вывожу сообщение
alert('Спасибо за участие!')};
//--> 
</script>
<?header("Location: http://net.ru/index.php");}?>   //тут должен произойти переход на index.php
...
<form name="first" action="" method="POST">
...
<input type="submit" value=" Сохранить результат" onClick="but1()">


подскажите, где ошибка, редирект не происходит?

PeaceCoder 18.12.2009 16:39

то что ты написал не сработает походу, т.к. браузер получает заголовок перенаправления и походу даже ничего не выполнит, а перейдет по адресу
Вывод сообщения спасибо за участи надо делать до отправки формы или же на index.php перехватывать сессионную переменную установленную при обработке данных и выводить сообщение, но проще сделать первым способом - перед отправкой,хот ятут если какая ошибка в данных, например неправильно чето заполнено то сообщение будет выскакивать независимо от этого...
а можно еще сделать через js
if (установлена переменная){
  обработка
  ?>
  вывод кода js в котором alert и location.href=...
  <?
  return;
  }

вывод формы...

Gozar 18.12.2009 16:53

<?php
if(!empty($_POST['first'])) {   
...          //обрабатываю данные формы
header("Location: http://net.ru/index.php");
}
?>   //тут должен произойти переход на index.php


на index.php вешаете js скрипт, который смотрит откуда пришел юзер и если
document.referrer == 'http://net.ru/note.php?submit'
выводите свое сообщение:
<body>
<script type="text/javascript"> 
if(document.referrer == 'http://net.ru/note.php?submit'){          //вывожу сообщение
      alert('Спасибо за участие!')
};
</script>


какой-то, гоVнокод получается, если принцип понятен, то доделаете сами, а вообще я бы еще мозгами пораскинул ;)

Bono 18.12.2009 17:12

Цитата:

Сообщение от Gozar (Сообщение 38389)

какой-то, гоVнокод получается, если принцип понятен, то доделаете сами, а вообще я бы еще мозгами пораскинул ;)

Ыыыыы))))))))))) действительно. че-то не работает:no:

Bono 18.12.2009 17:37

все, заработало. сделал вот так:
if(!empty($_POST)) {
...         //здесь обрабатываем данные из формы
header("Location: http://net.ru/index.php");
}?>
<script language="JavaScript"> 
<!-- 
function but1() { 
alert('Спасибо за участие!')};
//--> 
</script>


а ларчик-то просто открывался :)

Gozar 18.12.2009 17:54

Цитата:

Сообщение от Bono (Сообщение 38398)
<script language="JavaScript">
[/php]

хотябы уберите:
language="JavaScript"

чтобы у Вас там не получалось.


Часовой пояс GMT +3, время: 12:47.