Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2017, 13:56
Новичок на форуме
Отправить личное сообщение для Маууупа Посмотреть профиль Найти все сообщения от Маууупа
 
Регистрация: 25.04.2015
Сообщений: 7

Помогите с игрой на php
if (is_object($_GET) && $_GET->['avg'] == (int)) {
$shots += $_GET->['avg'];
echo $shots;
} else {
die('1');
}

Хочу сохранить кол-во выстрелов в файл php. Но код не работает. Есть ошибки? Неужели php и вправду такой плохой язык?
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2017, 14:28
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Сообщение от Маууупа
Неужели php и вправду такой плохой язык
Дело совсем не в ЯП

Зачем $_GET превратили в объект?
Непонятно что это за конструкция: $_GET->['avg']
Нужно либо так: «$_GET->avg» либо так «$_GET->{'avg'}».
По-хорошему должно быть так: «$_GET['avg']».
Проверить является ли значение переменной числом можно так:
if(is_numeric($_GET['avg']))
    $avg=intval($_GET['avg']);

Никаких попыток сохранить результат в представленном коде нет.
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2017, 15:16
Новичок на форуме
Отправить личное сообщение для Маууупа Посмотреть профиль Найти все сообщения от Маууупа
 
Регистрация: 25.04.2015
Сообщений: 7

Сообщение от Nexus
Зачем $_GET превратили в объект?
Все опытные программисты кричат в один голос. Надо типизировать строки в объект для безопасности. Ваш код выдаает белый экран
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2017, 15:24
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Сообщение от Маууупа
Все опытные программисты кричат в один голос. Надо типизировать строки в объект для безопасности.
Скиньте ссылки почитать, кто и что кричит. Очень интересно

Сообщение от Маууупа
Ваш код выдаает белый экран
Неудивительно. Мой код ничего и не выводит на страницу.
Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2017, 15:54
Новичок на форуме
Отправить личное сообщение для Маууупа Посмотреть профиль Найти все сообщения от Маууупа
 
Регистрация: 25.04.2015
Сообщений: 7

Сообщение от Nexus
Скиньте ссылки почитать, кто и что кричит. Очень интересно
Я не сохраняю закладки. Выписываю хорошие практики в свой блокнот.
Сообщение от Nexus
Неудивительно. Мой код ничего и не выводит на страницу.
Получается код не рабочий. Вы не протестировали.
Ответить с цитированием
  #6 (permalink)  
Старый 03.10.2017, 16:04
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Сообщение от Маууупа
Получается код не рабочий. Вы не протестировали.
Гениально
@session_start();
$global_get=(array)$_GET;
$shots=isset($_SESSION['shots'])?$_SESSION['shots']:0;
if(isset($global_get['avg']) and is_numeric($global_get['avg']))
	$shots+=intval($global_get['avg']);

$_SESSION['shots']=$shots;

echo $shots;

Можно все в 3 строки переписать.
Ответить с цитированием
  #7 (permalink)  
Старый 03.10.2017, 16:11
Новичок на форуме
Отправить личное сообщение для Маууупа Посмотреть профиль Найти все сообщения от Маууупа
 
Регистрация: 25.04.2015
Сообщений: 7

Сообщение от Nexus
Гениально
Спасибо большое! Вы гений, все работает!
Ответить с цитированием
  #8 (permalink)  
Старый 03.10.2017, 16:20
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Маууупа, что значит "типизировать строку в объект"?
Привести строку к типу Object? Как? Зачем?

Также осталось непонятно зачем из глобального массива get вы сделали объект.
Может кто объяснит ламеру?

Последний раз редактировалось Nexus, 03.10.2017 в 16:33. Причина: очепятка fix.
Ответить с цитированием
  #9 (permalink)  
Старый 03.10.2017, 16:29
Новичок на форуме
Отправить личное сообщение для Маууупа Посмотреть профиль Найти все сообщения от Маууупа
 
Регистрация: 25.04.2015
Сообщений: 7

Nexus,
Ну не знаю, я прочитал на форуме phpsu. Сам пока программирую на css и html. Может есть спецы, которые объяснят. Уверен тут такие найдутся.
Ответить с цитированием
  #10 (permalink)  
Старый 03.10.2017, 18:54
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Маууупа,
Игра на php? Это как? Это же серверный язык.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
охранение переменных в сессии php переданных ajax. wayzer AJAX и COMET 7 12.09.2012 16:13
Помогите открыть http адрес с помощью php chippolino Серверные языки и технологии 1 13.11.2011 23:50
jquery, php, json… ? незнайка jQuery 4 06.02.2010 01:45
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39