Переход на указанный адрес без формы

metravs

Guest
Переход на указанный адрес без формы

Ребята, подскажите, плиз, возможно ли в ПХП переход на указанный адрес или скрипт средствами ПХП, а не формы, в том числе без include?
 

metravs

Guest
После выбора радиокнопки и нажатия на кнопку в форме, нужно переходить на определенный скрипт, допустим: добавить, удалить, редактировать. Можно ли применив оператор условия на ПХП перейти на нужный скрипт, а не делать include?
 

kvf77

Red Devil
не дочитал :)

тебе надо ДО ВЫВОДА ЧЕГО-ЛИБО на экран обработать данные и сделать header("Location:url");
exit;
 

metravs

Guest
Пробую так, не получается, пишет
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\IP_adresses\form_upr.php:4) in Z:\home\localhost\www\IP_adresses\form_upr.php on line 8

PHP:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 
if ($_POST['r1'] == 'dobav'){
header('Location:adding.php');			 
exit;
print "<h3>Добавление новой записи</h3>";
}
 

kvf77

Red Devil
metravs

что именно у тебя не получается?
ты, кстати, видел команду EXIT?
зачем после нее print?
 

sakon

П..и.н..ок
if ($_POST['r1'] == 'dobav'){
header('Location:adding.php');
exit;
print "<h3>Добавление новой записи</h3>";
}
Это круто....
 

metravs

Guest
Мне нужно, чтобы при выборе одной из трех радиокнопок и нажатии кнопки на форме, осуществлялся переход на определенный скрипт, с новой формой, а у меня получается только с пом. include, и к тому же в новом скрипте в $_POST остаются значения предидущей формы, а не нужной...
 

kvf77

Red Devil
metravs

понял твои заморочки. ты бред городишь полный. к тому же - чем тебе include не нравится-то?
 

Фанат

oncle terrible
Команда форума
metravs
ты видел, что тебе сказали? ДО любого вывода.
размести этот код В САМОМ НАЧАЛЕ скрипта
 

metravs

Guest
При использовании include у меня в новом скрипте с формой в $_POST остается данные формы переданные скрипту и поэтому не выполняется нужное условие, т.е.
перешли по форме на скрипт, в нем проверили условие:
PHP:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 
if (isset($_POST['knopka'])){
if ($_POST['r1'] == 'dobav'){
print "<h3>Добавление новой записи</h3>";
include('add.php');			 }
elseif ($_POST['r1'] == 'redakt'){
print "<h3>Редактирование записи</h3>";
include('red.php');			 }
elseif ($_POST['r1'] == 'udal'){
print "<h3>Удаление записи</h3>";
include('udal.php');			 }
}
}
и соответственно перешли, допустим на add.php где присутствует другая форма и другие переменные, поэтому условие в add.php не выполняется.
PHP:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 
if (isset($_POST['fio'])
 

kvf77

Red Devil
metravs

у тебя есть способ - засовываешь результаты POST в сессию и вытаскиваешь их в новом скрипте. самый простой способ.

Попрежнему вопрос: чем тебе include не нравится не пойму?
 

metravs

Guest
Ну проинклудил я, добавил, допустим add.php, с новой формой и переменными, а он мне пишет нет, таких переменных, даже после заполнения формы и отправки результата цикл не выполняется, может ошибка где в операторах условия.
 

Фанат

oncle terrible
Команда форума
metravs, смотри.
Вот тебе схема классического скрипта вида лист/форма:
PHP:
<? 
if($_SERVER['REQUEST_METHOD']=='POST') { 
  $id=intval($_POST['id']); 
  if ($id) $res=dbUpdate(); 
  else $id=dbInsert(); 
  header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); 
  exit; 
} 
if (!isset($_GET['id'])) { 
  $DATA=db("SELECT * FROM $table"); 
  include 'list.tpl.php'; 
} else { 
  if ($id=intval($_GET['id'])) $row=db("SELECT * FROM $table WHERE id=$id");
  include 'form.tpl.php'; 
} 
?>
всё просто.
по умолчанию выводится список.
если вызвать скрипт с ?id=0 то выведется форма для добавления.
если вызвать с id больше нуля, то выведется форма, заполненная записью с этим id

тебе это надо?
 

metravs

Guest
Не хочу никого задрачивать, но получается следующее.
Если запускать скрипт с формой add.php сам по себе - все работает, а если начинать с index.php - где add.php инклудится, не работает!
 

Фанат

oncle terrible
Команда форума
metravs
ЧТО ИМЕННО не работает?
ты можешь русским языком писать
 

metravs

Guest
Не работает сам скрипт, если он инклудится, а если запускается просто сам работает.
 

metravs

Guest
в index.php есть фрейм form_upr.php
PHP:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 
if (isset($_POST['knopka'])){
if ($_POST['r1'] == 'dobav'){
print "<h3>Добавление новой записи</h3>";
include('add.php');			 }
elseif ($_POST['r1'] == 'redakt'){
print "<h3>Редактирование записи</h3>";
include('red.php');			 }
elseif ($_POST['r1'] == 'udal'){
print "<h3>Удаление записи</h3>";
include('udal.php');			 }
}
}
вот он и переправляет на add.php, где и происходит заморочка. Сам по себе add.php работает, а при помощи инклюда в form_upr.php - нет.
 
Сверху