Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему не работает? 
:(
    Опции темы
Nickname
Дата 4.5.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Код

<?
if(isset($_POST['submit'])){
    if($_POST['box1']=='yes')
        header("Location: ".$_SERVER['PHP_SELF']."?action=YES");
    header("Location: ".$_SERVER['PHP_SELF']."?action=NO");
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST" enctype="multipart/form-data">
<input type="checkbox" name="box1" value="yes"><br>
<input type="submit" name="submit" value="Отправить">
</form>


Почему выдает все время action=NO? Или так и должно быть?


 ! 
PARROT
Модератор: Название темы должно отражать ее суть!


Это сообщение отредактировал(а) PARROT - 7.5.2007, 10:41
PM MAIL   Вверх
Alexey007
Дата 4.5.2007, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



Лови
Код

if(isset($_POST['submit'])){
    if($_POST['box1']=='yes'){
        header("Location: ".$_SERVER['PHP_SELF']."?action=YES");
    }else{
     header("Location: ".$_SERVER['PHP_SELF']."?action=NO");
    }
}
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST" enctype="multipart/form-data">
<input type="checkbox" name="box1" value="yes"><br>
<input type="submit" name="submit" value="Отправить">
</form>


Это сообщение отредактировал(а) Alexey007 - 4.5.2007, 23:00
PM MAIL   Вверх
SelenIT
Дата 4.5.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Потому что после редиректа обязательно нужно прекращать дальнейшую работу скрипта - делать exit().


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Kallisto
Дата 5.5.2007, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: -3
Всего: -1



+1
Код

<?
if(isset($_POST['submit'])){
    if($_POST['box1']=='yes'){
        header("Location: ".$_SERVER['PHP_SELF']."?action=YES");die();}
    header("Location: ".$_SERVER['PHP_SELF']."?action=NO");
die();
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST" enctype="multipart/form-data">
<input type="checkbox" name="box1" value="yes"><br>
<input type="submit" name="submit" value="Отправить">
</form>


Добавлено через 1 минуту и 45 секунд
Но при данном скрипте, у тебя Action=NO не вызовится никак.. нет субмита для нее..
PM MAIL   Вверх
SelenIT
Дата 5.5.2007, 12:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Цитата(Kallisto @  5.5.2007,  12:06 Найти цитируемый пост)
при данном скрипте, у тебя Action=NO не вызовится никак..

Это почему же? Если чекбокс не чекнут, условие не выполняется => работает второй редирект (а в самом условии вываливается нотайс на несуществующий эл-т массива)...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Nickname
Дата 5.5.2007, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата(SelenIT @ 4.5.2007,  23:18)
Потому что после редиректа обязательно нужно прекращать дальнейшую работу скрипта - делать exit().

Вот и правильно.
PM MAIL   Вверх
Kallisto
Дата 7.5.2007, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: -3
Всего: -1



Цитата
Это почему же? Если чекбокс не чекнут, условие не выполняется => работает второй редирект (а в самом условии вываливается нотайс на несуществующий эл-т массива)...
Да, действительно. Я почему-то подумал что сравнивается субмит ;) сори)
PM MAIL   Вверх
BuShaRt
Дата 7.5.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



SelenIT
Цитата(SelenIT @  4.5.2007,  23:18 Найти цитируемый пост)
Потому что после редиректа обязательно нужно прекращать дальнейшую работу скрипта - делать exit().

А разве скрипт продолжит выполнение, после редиректа на другой?

Добавлено через 4 минуты и 37 секунд
Код

<?php
header("Location: test.txt");
$file = fopen('test.txt', 'a');
fwrite($file, 'yes');
fclose($file);
?>


Верно... убежал в скриптах exit везде проставлять...
PM MAIL   Вверх
Kallisto
Дата 7.5.2007, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: -3
Всего: -1



Конечно. Редирект делается на стороне браузера.. 
ну а РНР как-то всеравно что слать в хедерах, или Location или Content-Type, понимаешь? )
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0653 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.