Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему не работает?
 
 автор: acid_pro   (25.11.2008 в 21:01)   письмо автору
 
 

Здравствуйте, почему может не работать этот код?
if(isset($_GET['setup'])==true) { $a="Да"; }
else { $a="Нет"; }

данные передаются от сюда
<form id="form" name="form1" action="" method="get">
<input name="setup" type="checkbox" id="setup" value="" />

  Ответить  
 
 автор: BinLaden   (25.11.2008 в 21:03)   письмо автору
 
   для: acid_pro   (25.11.2008 в 21:01)
 

Должен работать. Перепроверьте...

  Ответить  
 
 автор: acid_pro   (25.11.2008 в 21:06)   письмо автору
 
   для: BinLaden   (25.11.2008 в 21:03)
 

да в том то и дело, что скок не проверяю, не работает =(

  Ответить  
 
 автор: acid_pro   (25.11.2008 в 21:15)   письмо автору
 
   для: BinLaden   (25.11.2008 в 21:03)
 

все время присылает мне "Да"

  Ответить  
 
 автор: BinLaden   (25.11.2008 в 21:31)   письмо автору
 
   для: acid_pro   (25.11.2008 в 21:15)
 

Может Вы всё время отмечаете галочку? :))

  Ответить  
 
 автор: acid_pro   (25.11.2008 в 21:38)   письмо автору
 
   для: BinLaden   (25.11.2008 в 21:31)
 

))))))))))))))))))))) ! Нееет ) крыша ещё пока не поехала

  Ответить  
 
 автор: BinLaden   (25.11.2008 в 21:49)   письмо автору
 
   для: acid_pro   (25.11.2008 в 21:38)
 

В адресной строке setup что ли фигурирует? Может это, конечно, от браузера зависит, но обычно они не передают неотмеченные чекбоксы.

Можно попробовать так:
<input name="setup" type="checkbox" id="setup" value="1" />
(задан value)

Код:
<?php
$setup 
= isset($_GET['setup']) ? (boolean) $_GET['setup'] : false;

if( 
$setup # ...
else # ...
?>

  Ответить  
 
 автор: AcidTrash   (25.11.2008 в 21:57)   письмо автору
 
   для: BinLaden   (25.11.2008 в 21:49)
 

Да и так все должно работать, просто наверно нюансов мы не знаем, возможно код приведенный в качестве примера, далеко отличается от оригинала.

  Ответить  
 
 автор: acid_pro   (25.11.2008 в 22:08)   письмо автору
 
   для: AcidTrash   (25.11.2008 в 21:57)
 

Код один в один далее переменная $a отправляется на почту в теле письма

  Ответить  
 
 автор: acid_pro   (25.11.2008 в 22:10)   письмо автору
 
   для: AcidTrash   (25.11.2008 в 21:57)
 

и должна вернуть или "Да" или "Нет"

  Ответить  
 
 автор: SteAlzzer   (25.11.2008 в 22:19)   письмо автору
 
   для: acid_pro   (25.11.2008 в 22:10)
 

попробуй перед этим кодом:
echo $_GET['setup'];


Если не будет ошибки PHP, то значит причина понятна:
функция isset() проверяет, есть ли переменная, или нет. Скорее всего, тебе надо использовать empty();

Приблизительно так:
if(!empty($_GET['setup'])
{
  $a="Да";

else
{
  $a="Нет"; 
}

  Ответить  
 
 автор: acid_pro   (25.11.2008 в 22:23)   письмо автору
 
   для: SteAlzzer   (25.11.2008 в 22:19)
 

а в форме в value что указать?

  Ответить  
 
 автор: acid_pro   (25.11.2008 в 22:34)   письмо автору
 
   для: acid_pro   (25.11.2008 в 22:23)
 

вобще вот я в джаве скрипте принмиаю значение с формы, а потом передаю в пхп скрипт для отправки на почту...
setup=window.document.getElementById('setup').value;

  Ответить  
 
 автор: AcidTrash   (25.11.2008 в 23:11)   письмо автору
 
   для: acid_pro   (25.11.2008 в 22:34)
 

>вобще вот я в джаве скрипте принмиаю значение с формы
А это зачем?

  Ответить  
 
 автор: AcidTrash   (25.11.2008 в 22:35)   письмо автору
 
   для: acid_pro   (25.11.2008 в 22:10)
 

Неужели, у вас такой код не работает
<?
if($_GET['send']){
if(isset(
$_GET['setup'])==true) { print $a="Да"; }
else { print 
$a="Нет"; }
}
?>
<form id="form" name="form1" action="" method="get">
<input name="setup" type="checkbox" id="setup" value="" />
<input type=submit name=send value=ok>
</form>

  Ответить  
 
 автор: Yuriev   (25.11.2008 в 23:00)   письмо автору
 
   для: acid_pro   (25.11.2008 в 21:01)
 

isset($_GET['setup']) - это проверяется наличие переменной, а не что в ней лежит и, после отправки формы всегда будет $a равно "Да"
Попробуйте, например, так:
if(isset($_GET['setup'])) {
   if ($_GET['setup'] == true) $a="Да";
else $a="Нет";

  Ответить  
 
 автор: TetRiska   (25.11.2008 в 23:16)   письмо автору
 
   для: acid_pro   (25.11.2008 в 21:01)
 

Я всегда так делаю
 if (isset($_GET['setup'])) { $setup= $_GET['setup']; }
и потом юзаю переменную $setup если ты передаешь пару вариантов, то можна $setup занести в массив

$mass = array
(
"1"=>'Да',
"0"=>'Нет',
);
$pole = $mass[$setup];


1 - труе есть галочка
0 - фолсе нету галочки

Мой пример как я использовал выпадающий список:

<form action="view_search.php" method="get" name="form_s">
<span class="search_s">Поисковый запрос должен быть<br> не менее 3-х символов</span>
<br><br>
<span class="search_ss">Поиск по:</span>
<select name="category">
  <option value="1">названию</option>
  <option value="2">жанру</option>
  <option value="3">режиссеру</option>
  <option value="4">актерам</option>
  <option value="5">дате выхода</option>
  <option value="6">формату</option>
  <option value="7">качеству</option>
</select>
<br><br>
<input name="search" type="text" size="25" maxlength="40" />
<br>
<input class="search_b" name="submit_s" type="submit" value="Искать" />
</form>


if (isset($_POST['category'])) { $category = $_POST['category'];}

$mass = array
(
"1"=>'title',
"2"=>'genre',
"3"=>'producer',
"4"=>'actor',
"5"=>'date_s',
"6"=>'format',
"7"=>'quality',
);
$pole = $mass[$category];


Удачи

  Ответить  
 
 автор: BinLaden   (26.11.2008 в 00:12)   письмо автору
 
   для: TetRiska   (25.11.2008 в 23:16)
 

> if (isset($_POST['category'])) { $category = $_POST['category'];}

А если !isset($_POST['category']), то откуда вообще переменной $category взяться?

  Ответить  
 
 автор: TetRiska   (26.11.2008 в 00:39)   письмо автору
 
   для: BinLaden   (26.11.2008 в 00:12)
 

к чему (!isset($_POST['category']) ??

  Ответить  
 
 автор: Drago   (26.11.2008 в 00:50)   письмо автору
 
   для: TetRiska   (26.11.2008 в 00:39)
 

Наверное, к этому.
$pole = $mass[$category];

  Ответить  
 
 автор: BinLaden   (26.11.2008 в 01:03)   письмо автору
 
   для: TetRiska   (26.11.2008 в 00:39)
 

Действительно, к чему? Если Вы не брезгуете Notice, но почему бы не писать сразу
<?php
$category 
$_POST['category'];
?>

?!

  Ответить  
 
 автор: acid_pro   (26.11.2008 в 01:31)   письмо автору
 
   для: TetRiska   (25.11.2008 в 23:16)
 

просто если бы у меня все передавалось напрямую из формы в пхп скрипт это да, можно легко отследить чо происходит, но у меня передается через аякс, т.е. через джаву скрипт

  Ответить  
 
 автор: Николай2357   (26.11.2008 в 07:46)   письмо автору
5.3 Кб
 
   для: acid_pro   (26.11.2008 в 01:31)
 

см. ===========================================================>


Только по такой схеме можно на любое мыло милиён писем заслать. жми кнопку да жми... Рездолье флудерам.

  Ответить  
 
 автор: acid_pro   (26.11.2008 в 18:03)   письмо автору
 
   для: Николай2357   (26.11.2008 в 07:46)
 

вобщем вот один из рабочих вариантов
if(isset($_GET['setup']) and $_GET['setup']=="true") { $a='Да'; }
else { $a='Нет'; }

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования