[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оператор switch
Scay
Доброго времени суток. Скажите пожалуйста возможно в операторе switch осуществить переход на другую страницу?

<html>
<body>
<form
method="post">
<select
name="tem" size=1>
<option
value="1">1
<option value="2">2
<option value="3">3
<option value="4">4
</select>
<select
name="ten" size=1>
<option
value="10">10
<option value="20">20
<option value="30">30
<option value="40">40
</select>

<input
type="submit" value="войти"><br>
</form>

<?php

if(isset($tem));
echo "<br>";
if(isset($ten));
echo "<br>";
$plus=$tem+$ten;

switch ($plus)
{
case 11:
echo ".....";
break;
case 22:
echo ".....";
break;
case 33:
echo ".....";
break;
default:
echo ".....";

}

?>

Возможно ли при выполнении условия (или при не выполнении) вместо echo выполнялся переход на указанный url. Спасибо за помощь.



Спустя 7 минут, 33 секунды (23.01.2011 - 11:23) kovaldm написал(а):
Возможно.

Спустя 3 минуты, 15 секунд (23.01.2011 - 11:26) Scay написал(а):
А как это реализовать? Пробовал по разному ( уже уверен, что не правильно )
реакции скрипта нет. Даже ошибок не выдаёт.

Спустя 6 минут (23.01.2011 - 11:32) kovaldm написал(а):
Можно юзать заголовки и функцию header().
Только придется маленько переделать скрипт.

Спустя 6 минут, 35 секунд (23.01.2011 - 11:39) Scay написал(а):
Я пробовал вот так:
switch ($plus)
{
case 11:
header("Location: stranica.php");
break;
.
.
.
}

Не получилось.

Спустя 2 минуты, 6 секунд (23.01.2011 - 11:41) alex12060 написал(а):

if(isset($tem));
echo "<br>";
if(isset($ten));
echo "<br>";


Опять понаписали)
Что жа ужас? ><

Спустя 1 минута, 24 секунды (23.01.2011 - 11:43) alex12060 написал(а):
Ты вообще, откуда взял эти переменные?

$tem И $ten

Спустя 48 секунд (23.01.2011 - 11:43) kovaldm написал(а):
Цитата
Я пробовал вот так:

Адрес нужно прописывать так
http://www.phpforum.ru

Спустя 57 секунд (23.01.2011 - 11:44) alex12060 написал(а):
kovaldm

Не принципиально делать так.

Спустя 2 минуты, 21 секунда (23.01.2011 - 11:47) Scay написал(а):
эти переменные приходят с формы

Спустя 3 минуты, 7 секунд (23.01.2011 - 11:50) Scay написал(а):

Цитата
Адрес нужно прописывать так

http://www.phpforum.ru

Если нужно перейти на страницу в том же каталоге?

Спустя 1 минута, 3 секунды (23.01.2011 - 11:51) kovaldm написал(а):
alex12060
Цитата
HTTP/1.1 требует абсолютного URI в качестве аргумента для Location: включая схему, имя хоста и абсолютный путь

Спустя 2 минуты, 47 секунд (23.01.2011 - 11:54) kovaldm написал(а):
Scay
Тогда указывай адрес этой страницы.

Спустя 3 минуты, 17 секунд (23.01.2011 - 11:57) Scay написал(а):
kovaldm
тогда в чём здесь ошибка

switch ($plus)
{
case 11:
header("Location: stranica.php");
break;
.
.
.
}

Спустя 4 минуты, 44 секунды (23.01.2011 - 12:02) kovaldm написал(а):
В адресной строке что написано, когда находишься на этой странице?

Спустя 4 минуты, 7 секунд (23.01.2011 - 12:06) Scay написал(а):
kovaldm
Ни страница, не адресная строка не меняются.

Спустя 2 минуты, 53 секунды (23.01.2011 - 12:09) kovaldm написал(а):
Задача в чем заключается? В том чтобы перейти на определенную страницу? Или я ошибаюсь?

Спустя 5 минут, 27 секунд (23.01.2011 - 12:14) Scay написал(а):
kovaldm
Именно так. При определённом значении переменной переход на определённую страницу:

switch ($plus)
{
case 11:
header("Location: stranica1.php");
break;
case 22:
header("Location: stranica2.php");
break;
case 33:
header("Location: stranica3.php");
break;
default:
header("Location: stranica4.php");
break;
}

Спустя 1 минута (23.01.2011 - 12:15) kovaldm написал(а):
Дык, открой эту страницу вручную и из адресной строки вставь строчку
header("Location: СЮДА");
И еще нужно убрать весь вывод до вызова функции header.

Спустя 4 минуты, 6 секунд (23.01.2011 - 12:19) Scay написал(а):
kovaldm
Цитата
И еще нужно убрать весь вывод до вызова функции header.

Это как?

Спустя 3 минуты, 9 секунд (23.01.2011 - 12:22) Scay написал(а):
kovaldm
Цитата
Дык, открой эту страницу вручную и из адресной строки вставь строчку

header("Location: СЮДА");

У меня вот, что получилось:

header("Location: http://localhost/test.php");


Спустя 3 минуты, 48 секунд (23.01.2011 - 12:26) kovaldm написал(а):
Перенаправляет?

Спустя 2 минуты, 28 секунд (23.01.2011 - 12:29) Scay написал(а):
kovaldm
Нет, всё без изменений.

Спустя 6 минут, 7 секунд (23.01.2011 - 12:35) Scay написал(а):
kovaldm
Как это: убрать весь вывод до вызова функции header.

Спустя 6 минут, 31 секунда (23.01.2011 - 12:41) kovaldm написал(а):
В первом листинге у тебя до начала php кода выводится html - вот он и любой другой вывод должен производиться в самом конце. Тут надо либо перестроить сам скрипт либо включить буферизацию вывода.

Спустя 8 минут, 17 секунд (23.01.2011 - 12:50) Scay написал(а):
kovaldm
Цитата
Тут надо либо перестроить сам скрипт либо включить буферизацию вывода.



Извини за тупость, но не мог бы помочь конкретным примером, потому что я только пытаюсь программировать на PHP


Спустя 17 минут, 16 секунд (23.01.2011 - 13:07) kovaldm написал(а):
Про буферизацию здесь почитай.

Спустя 22 минуты, 43 секунды (23.01.2011 - 13:30) Scay написал(а):
kovaldm
Спасибо за помощь. Разобрался всё работает.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.