Переменные в PHP @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 9 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
McNEilL
новый человек
0
Сообщения: 40
Зарегистрирован: 08.03.06
Заголовок сообщения: Переменные в PHP
Сообщение Добавлено: 8 Март 2006, 23:36:45 
Проблема на мой взгляд бредовая...
Я недавно начал изучать php, поставил дома Apach и всё такое, накатал какойто скрипт, всё работает... Залил на хостинг и ничё не работает :(

Проблема в следующем:

Код:
<title> <?
 if ( !isset ($category) ) {
 $category = 0;
 }

 if ($category == 0) {
 echo ('Первая');
 } elseif ($category == 1) {
 echo ('Вторая');
 } elseif ($category == 2) {
 echo ('Третья');
 } elseif ($category == 3) {
 echo ('Четвёртая');
 } elseif ($category == 4) {
 echo ('Пятая');
 } else {
 echo ('Ошибка');
 }
 ?> </title>


при вызове скрипта http://www...com/index.php
пишет "Первая"

при вызове скрипта http://www...com/index.php?category=0
пишет "Первая"

при вызове скрипта http://www...com/index.php?category=#
# - любое другое чисо
пишет "Первая".

Дома такой проблемы небыло, я наверно чегото не доганяю. я никогда раньше не писал на php но очень хочу научиться!
.talisman Муж.
участник
84
Сообщения: 1562
Зарегистрирован: 13.01.05
Сообщение Добавлено: 8 Март 2006, 23:42:18 
вместо простого сравнения "==" используйте сравнение по типу — "===" (тройное равно).
скорее всего из-за этого.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 8 Март 2006, 23:49:12 
мда.
нуль в кавычки и будет тебе щастье.

_________________
можно на ТЫ.
McNEilL
новый человек
0
Сообщения: 40
Зарегистрирован: 08.03.06
Сообщение Добавлено: 8 Март 2006, 23:50:54 
Теперь у меня дома постоянно пишет "Ошибка" а на хосте без изминений...
тут проблема в другом, когда отправляеться запрос http://www...com/index.php?category=3 , переменная category мало того что не присваюеться "3", она вообще не обьявляеться :(
Вот почему так может быть?

_________________
Подпись - Это текст, который можно добавлять к размещаемым вами сообщениям. Длина его ограничена 300 символами.
.talisman Муж.
участник
84
Сообщения: 1562
Зарегистрирован: 13.01.05
Сообщение Добавлено: 8 Март 2006, 23:51:13 
кстати да :lol: :lol:
McNEilL
новый человек
0
Сообщения: 40
Зарегистрирован: 08.03.06
Сообщение Добавлено: 8 Март 2006, 23:54:07 
непонял немного...
вт так:
$category = "0"; ?

_________________
Подпись - Это текст, который можно добавлять к размещаемым вами сообщениям. Длина его ограничена 300 символами.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 8 Март 2006, 23:57:24 
эх
потому что дома у тебя register_globals=on

потому что твоя переменная либо в $_POST['varname'] либо в $_GET['varname'].

Сынок, полазай по http://www.php.net почитай про глобальные, суперглобальные пременные.
кстати, там тоже посмотри : http://www.phpfaq.ru/

_________________
можно на ТЫ.
Kurilshik
Goldmember
142
Сообщения: 12797
Зарегистрирован: 18.10.04
Откуда: Кожаное кресло
Сообщение Добавлено: 9 Март 2006, 00:18:55 
McNEilL, говоря русским языком переменную которую ты получаешь методом запроса нужно писать не как $category а как $_GET['category'] или $_POST['category'] в зависимости от метода передачи

_________________

Портфолио - ЖЖ - Кулинарные рецепты - Блог о дизайне, уроки фотошоп

icq: 295346452 | Почта: info()alexey-popov.com

.
McNEilL
новый человек
0
Сообщения: 40
Зарегистрирован: 08.03.06
Сообщение Добавлено: 9 Март 2006, 00:19:53 
bE(o0L, спасибо!
ссылочка очень помогла: http://www.phpfaq.ru/
там надо было так написать:

Код:

if (!isset($_GET['category'])) {
 $category = 0;
} else {
 $category = $_GET['category'];
}



теперь всё работает :)

_________________
Подпись - Это текст, который можно добавлять к размещаемым вами сообщениям. Длина его ограничена 300 символами.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 9 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100