foreach и isset!!!

RAIDER

Guest
foreach и isset!!!

php 4.3.9
register globsl = off
Вопрос по передаче параметров с помощь формы!
С помощью формы checkbox скрипту передается два параметра, которые указывает пользователь! Скрипт проверяет существует этот параметр или нет, если не существует то он ничего не делает, если существует то просто выводит результат который выбрал пользователь, делается это так:
В форме это выглядит так:


<input type ="checkbox" name="var1" value="Вариант 1"> Вариант 1
<input type ="checkbox" name="var2" value="Вариант 2"> Вариант 2


Скрипт получает из формы эти параметры и делает такое:

PHP:
if (isset($var1)) echo "var1: $_POST[var1]";
if (isset($var2)) echo "var2: $_POST[var2]";
По идеии он должен выводить выбраный параметр, но он этого не делает и не выдает ни какой ошибки что тут не так?

И по поводу foreach, та же форма, продолжение, список со множественым выбором:

<select name="month2[]" size="4" multiple>
<option value="01" selected> Январь</option>
<option value="02"> Фераль</option>
<option value="03"> Март</option>
<option value="04"> Апрель</option>
<option value="05"> Май</option>
<option value="06"> Июнь</option>
<option value="07"> Июль</option>
<option value="08"> Август</option>
<option value="09"> Сентбрь</option>
<option value="10"> Октябрь</option>
<option value="11"> Ноябырь</option>
<option value="12"> Декабырь</option>
</select>


Здесь мы этот множетственый список представляем в виде массива и обрабатываем в скрипте с помощью foreach:

PHP:
foreach ($month2 as $key=>$value)
  echo "$key=$value <br>";
Как видите он должен тоже вывести результат выбраный пользователем, но он выдает ошибку:
Warning: Invalid argument supplied for foreach()
Что здесь не так почему неработает как должно... Объясню почему должно, потому что только учу ПХП по книге... и не все получается как там написано...Помогите плиз!!...
 

Сергей123

Новичок
Вместо $var1 пиши $_POST['var1'] (если в форме method post) и т.п.
http://phpfaq.ru/globals


Декабырь пишется аналогично Октябрь
 

RAIDER

Guest
Спасибо за попробую а то просто очепятка!!:)

-~{}~ 27.12.04 17:49:

if (isset($_POST['var1'])) echo "var1: $_POST[var1]";

сделал так, пишет ошибку хотя и выдает правильный результат:


Notice: Use of undefined constant var1 - assumed 'var1' in D:\www\html\form2.php on line 14

Notice: Use of undefined constant var2 - assumed 'var2' in D:\www\html\form2.php on line 15

А поп поводу foreach поможете?
 

RAIDER

Guest
И по поводу foreach, та же форма, продолжение, список со множественым выбором:

<select name="month2[]" size="4" multiple>
<option value="01" selected> Январь</option>
<option value="02"> Фераль</option>
<option value="03"> Март</option>
<option value="04"> Апрель</option>
<option value="05"> Май</option>
<option value="06"> Июнь</option>
<option value="07"> Июль</option>
<option value="08"> Август</option>
<option value="09"> Сентбрь</option>
<option value="10"> Октябрь</option>
<option value="11"> Ноябырь</option>
<option value="12"> Декабырь</option>
</select>


Здесь мы этот множетственый список представляем в виде массива и обрабатываем в скрипте с помощью foreach:


foreach ($month2 as $key=>$value)
echo "$key=$value <br>";


Как видите он должен тоже вывести результат выбраный пользователем, но он выдает ошибку:
Warning: Invalid argument supplied for foreach()
 

Сергей123

Новичок
RAIDER, с foreach у тебя та же проблема.

-~{}~ 27.12.04 18:01:

>> а строка должна писаться в кавычках
сейчас будет parse error :)
 

RAIDER

Guest
Фанат я немного не понял так как мне правильно записть? где должны быть кавычки?
 

Фанат

oncle terrible
Команда форума
кавычки должны быть везде, где ты пишешь строку в пхп.
если индексом массива является строка - она пишется в кавычках.

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

RAIDER

Guest
Фанат, подкинь пожайлуста ссылку по синтаксису, бо чуствую меня эта книга научит...:(
 

RAIDER

Guest
Фанат Спасибо думаю сам разберусь после того как прочитаю...:)
 
Сверху