Отделено из http://www.php.ru/forum/viewtopic.php?t=7877 Горбунов Олег. ------------------------------ Здравствуйте! Вроде как боле менее все понятно стало в этом вопросе (который я в самом начале ставил) Вот теперь я задумал разработать что то типа спортивного дневника, расчитанного на тренеров и спортсменов, ну еще может быть на администрацию спортивную, но это только может быть. В Нем буду в дальнейшем использовать и функции которые выше указаны. А сейчас начал так сказать разработку первой странички index.php На этой страничке вот что: Если зашли впервые, то должен открыться текст, который об этом и сообщает, при этом указывая, что надо дальше делать так сказать вновь прибывшему: Тут ему форма сразу видна в которой из выподающего списка надо выбрать конкретное поле и нажать на кнопку "Подтвердить!" После нажатия на которую он остается на этой же страничке, но которая уже предстает в другом виде, сообщая о совершонном действии и при том выводя соответствующее Предложение. Из кода приведенного ниже наверное и так все ясно станет! Но вот как раз с этим сообщением и возникают трудности! Допустим зашедший выбрал, что он тренер и нажал на кнопку, однако ему выводится: Здорово спортсмен! Как дела!? Ну в общем вместо примерно этого: Здравствуйте тренер! Код (Text): <?php if (!isset($_REQUEST['agree'])) {echo "Здравствуйте, Вы зашли на первую страницу системы учета и планирования проведенных и проводимых в будующем тренировок!<br> Мы очень рады видеть Вас в нашей системе!"; echo "Будьте внимательны при заполнении форм!"; echo "Обратите внимание на то, сколько сейчас времени и какое сегодня число!<br><br><br>"; // Далее следует форма первичной регистрации пользователей системы! а точнее сначала определяется кто хочет зарегистрироваться: спортсмен или тренер. echo "Сечас вам предстоит определить, как Вы хотите зарегистрироваться в системе:<br> как тренер или как спортсмен, <br>для этого выберите соответствующий вариант чуть ниже и нажмите кнопку \" Подтвердить!\""; ?> <form action=""> <b>Кто Вы? Выбирите из списка!</b><br> <select name=selekttip[]> <option>Спортсмен</option> <option>Тренер</option> <option>Представитель руководства</option> </select> <br> <br> <input type=submit name="agree" value="Подтвердить!"> </form> <?php ;} else {echo " Вы уже сделали свой выбор!<br>Вы:<br>"; echo $_REQUEST['selekttip']['0'].'<br>'; echo $_REQUEST['selekttip']['1'].'<br>'; echo $_REQUEST['selekttip']['2'].'<br>'; if ($_REQUEST['selekttip']['0']=="Спортсмен") {echo "Здорово! Как дела? Спортсмен!";} else if ($_REQUEST['selekttip']['1']=="Тренер") {echo "Зравствуйте уважаемый Тренер";} else if ($_REQUEST['selekttip']['2']=="Представитель руководства") {echo "Мы рады приведствовать Вас дорогой руководитель!";} else {echo "А ты вообщето кто?";}; }; ?> Я конечно понимаю, что это не по теме, но может подскажите в чем я ошибаюсь или направите куда? Как я предполагаю дальнейшие действия скрипта: Если спортсмен, то действия скриптов далее такие-то, если тренер, то такие, а если руководитель, то ну его подальше пока! С уважением и заранее спасибо!
Для начала error_reporting = E_ALL в php.ini поставь, чтобы показывало не только ошибки, но и предупреждения и замечания. PHP: <?php // готовимся к тому что из формы нам может прийти не то, что мы ожидали. // Укажем какие виды уродцев у нас будут. Возможно хранить эту инфу вообще // в другом файле или БД. $types = array('1'=>'Спортсмен', '2'=>'Тренер', '3'=>'Представитель руководства'); // ну, и чтобы потом об этом не задумываться, приветствия. $greetings = array('1'=>array('Физкульт-привет, заморыш.', 'Не опозорься как прошлый раз, неудачник.'), '2'=>array('Тренера на пенсию.', 'Перестань портить наших спортсменов, дилетант.'), '3'=>array('Как же мы Вам рады.', 'Наша радость от Вашего посещения не знает границ.', 'Где зарплата за пол года, упырь?')); // в $_REQUEST, конечно, ничего плохого нет, но вдруг у нас и в $_GET, и в $_POST // переменные с одинаковым именем? if (!isset($_GET['agree'])){ // множественное «echo» читать тяжело. Но это сугубо ИМХО echo 'Здравствуйте, Вы зашли на первую страницу системы учета и планирования проведенных и проводимых в будующем тренировок!<br> Мы очень рады видеть Вас в нашей системе! Будьте внимательны при заполнении форм! Обратите внимание на то, сколько сейчас времени и какое сегодня число! <br><br><br>Сечас вам предстоит определить, как Вы хотите зарегистрироваться в системе: <br> как тренер или как спортсмен, <br>для этого выберите соответствующий вариант чуть ниже и нажмите кнопку «Подтвердить!»'; // чтобы не пришлось экранировать лишний раз кавычки, вспоминаем иногда и об одинарных ;) // Далее следует форма первичной регистрации пользователей системы! а точнее сначала определяется кто хочет зарегистрироваться: спортсмен или тренер. // отличия сам найдёшь? echo '<form method="get"><b>Кто Вы? Выбирите из списка!</b><br>'; // вормируем список автоматически на основе заранее определённых типчиков. // Если захотим добвить нашей команде ещё «крышу» и фэнов достаточно будет отредактировать $types echo '<select name=selekttip>'; foreach($types as $key=>$val) echo '<option value="'.$key.'">'.$val.'</option>'; echo '</select> <input type=submit name="agree" value="Подтвердить!"> </form>'; } else { // опять вспоминаем про определённых типов if (array_key_exists((int)$_GET['selekttip'], $types)){ echo 'Вы уже сделали свой выбор!<br>Вы, конечно же, <b>'.$types[$_GET['selekttip']].'</b> <br><br>Всем нашим дружным коллективом мы хотели бы сказать: '; // хм, что же ему сказать? // не надо делать так, как в следующей строчке :) Сложно будет потом вспоминать // лучше подсчёты разделить на несколько переменных echo '«'.$greetings[$_GET['selekttip']][rand(0,count($greetings[$_GET['selekttip']])-1)].'»'; } // хулиган, видать. else{ echo "А ты, вообще-то, кто?"; } } ?> у подобного способа есть один огромный минус. Понадобится использовать сессию или из середины кода послать заголовок, а низя Почему, посмори по указанным ссылкам. Можно накапливать всё в какой-нибудь временный буфер и вывести за 1 раз. Понял, надеюсь
Разницу в коде почувствовал, сечас разбираюсь потихоньку с указанными ссылками! Спасибо! Особенно мне понравилось приветствие Администрации, которая полгода зарплату неплатит, упырь которая! Здорово придумал!!! Так оно и есть примерно! Сам не спортсмен случайно?
посмотрел на это, и вспомнил про array_rand() PHP: <?php echo '«'.$greetings[$_GET['selekttip']][array_rand($greetings[$_GET['selekttip']], 1)].'»'; ?>
Я как раз на этом месте иподвис, когда читал твой код! А вариант который привел ты в последний раз, помоему более понятен! И выполняет вывод того же что мне и надо! Однако, мне все равно непонятно, в чем была ошибка у меня? Почему в моем коде не выполнялось то что я хотел? Мне это принципиально важно! Подскажи пожалуйста, мне кажется что чего то я намудрил в конструкциях если - иначе Что то там с условиями я напутал...
Код (Text): ?> <form action=""> <b>Кто Вы? Выбирите из списка!</b><br> <select name=selekttip[]> <option>Спортсмен</option> <option>Тренер</option> <option>Представитель руководства</option> </select> <br> <br> <input type=submit name="agree" value="Подтвердить!"> </form> <?php А что некорректно? Недоганяю. Подскажи пожалуйста!
ты выбираешь одно (1!) значение, а передаёшь массив из трёх. Причём русских. Зачем забивать адресную строку непонятными символами? На основе этого массива ты строишь логику дальше, а 2 из 3-х значений не существуют.
Тогда вроде теперь все понятненько... Спасибо. Ты выше писал, что такой вариант не очень хорош тем, что придется использовать сессии, а почему это не очень хороший вариант? :?: В чем его недостатки относительно моего варианта? Я читал ссылку которую ты мне давал на FAQ по сессиям. Вроде не очень видно явных предпосылок, чтобы отказываться от сессии. Или может мой вариант как то без сессий делать, но тогда как?
не, ты недопонял я писал, что способ при котором всё сразу сразу в браузер выводится есть не оченьхороший. С сессиями это я, конечно, переборщил малость, session_start() первой строчкой и будет всё работать, а вот посылке заголовков это точно помешает. А сессиями, когда проект разрастётся в любом случае пользоваться придётся
Тоесть как на одну страницу? Проект у меня в голове не хилый, только вот знаний пока маловато. Пробую их набирать как можно эффективнее. Так сказать сильно не отклоняясь от проекта. Суть моего проекта сводится примерно к следующему: 1. Задачи выполняемые проектом: Систематизация тренировок в своего рода дневник выполненных тренировок а так же не выполненных. Систематизация и проектирование спортивных нагрузок на будущее, т. е. составление плана тренировок. Сопоставление выполненного с планом и вывод соответствующих отчетов типа: "По плану было столько то километров и такие то упраажнения, а Вы выполнили на 15 процентов больше километров, но упражнение номер 1 невыполнили вооще!" также должны учитываться место проведения тренировок, питание, проживание итому подобное. 2. В итоге система должна все автоматизировать до мелочей и так сказать освободить голову от таких вещей как телефон и адрес места проведения сборов в другом городе, стоимость проживания и в конце концов самое главное это сохранение для истории и или для отчетности проведенных тренировок не в голове или жалкой тетрадочке а в базе данных, которую тяжело уничтожить например огнем, если у тебя есть резервная копия! Вот такие пироги! Проект на мой взгляд не простой и описал я только сторону проекта к которой будут иметь отношение приимущественно "Спортсмены" а ведь есть еще тренеры и руководство. Разрабатываю естественно на локалке а потом выложу на свой сайт посвященный гребному спорту, чем собственно я и занимаюсь. И я всячески нуждаюсь в помощи! Если кто непротив поддержать проект, то милости прошу так сказать! Если есть желание, то можно отдельную тему в форуме открыть или использовать эту, а то и вовсе открыть новый форум, у меня есть такая возможность на одном сайте. Как идея вообще? Я думаю воплотимая в жизнь.
это уже откуда? Ты пиши, пиши, пока раздутость темы админов не смущает А потом народ подтянется, чего умного посоветует. Главное сначала попробуй перенести то, что задумал на бумагу. Например: 3 группы пользователей. У всех свои разделы для просмотра. Спортсмены: для каждого спортсмена/группы спортсменов расписание тренировок, сборы, соревнования Тренерский состав: спортсмены, тренировки, сборы, соревнования + различные результату, география сборов и соревнований Руководители: всё что было + финансовая сторона ну и всякие примочки, вроде индивидуального приветствия и т.д. и т.п. // to: модераторы. Кто-нибудь, переименуйте тему во что-нибудь более подходящее
Хороше! Я так и делаю сначала на бумагу а потом притворяем в жизнь в коде! Идет? Luge, а ты сможешь мне помогать иногда в этом направлении? Я сейчас тогда на бумаге попробую все это я сно прорисовать и прописать а потом в электронном виде все это напишу, если интересно, то присоединяйся! В конце концов по ходу проекта и я много чего пойму и спортивному сообществу по гребному спорту будет огромная польза!
Здравствуйте! Пару дней меня небыло и не мог оставлять сообщений! Я проработал основные моменты системы "Спортдневник" на бумаге, это то как должна проходить регистрация, аутентификация пользователей в системе. И систему доступных для них "Модулей системы" Такие как собственно сам дневник и множество других сервисов. Вся система будет открытой, т.е. после ее написания и запуска ее можно будет использовать в своих целях, изменять и модифицировать, но это только после окончания работ по созданию этой системы. Хотелось бы, чтобы ход разработки был частично недоступен для широкой аудитории, чтобы так сказать нераскрывать все карты перед потенциальными пользователями раньше времени! Предлагаю вариант закрытой переписки и организацию файлообмена на доступном мне хостинге. Идею готов подать в студию! Но пока не полностью, так сказать чтобы опять же не раскрывать все карты, будующим пользователям, программистам которые согласятся помочь мне в этом проекте естесственно все что я думаю я расскажу по личной переписке желательно. Денег никому платить небуду, так как их у меня просто нет, я ведь спортом занимаюсь и пока не на очень высоком уровне, чтобы их было достаточно, Зато гарантирую, что все участники проекта будут отображены в нем как составители и программисты всего комплекса! Небыло меня так как свой москвич я готовил к тех осмотру, тормоза, фонарики и тому подобное! Это я так просто ляпнул!
Я уже пользуюсь системой PHP-Nuke. Но под другой проект и не личнодля меня, а для моего друга в качестве вебпредставительства! Смотрел еще многие системы, да в них многое но далеко не все реализовано из того что мне хотелось бы получить в итоге! И к тому же мне несколько проще осваивать не на примере сложной и уже отлаженной системы написанной целыми сообществами а разбираться самому и с чьей нибуть помощью, хотя если таковой и не будет, то и сам разберусь, только это будет намного дольше чем хотелось бы, в связи с чем мой проект может потерять актуальность. Я совершенно не против того чтобы использовать уже написанный код! Но хочется чтобы система была в какойто степени уникальной! И понятной если не досконально, то хотябы очень на высоком уровне. Сейчас я как раз переношу с бумаги то что есть на компьютер и то, что уже перенес напишу ниже в следующем сообщении! До таких подробностей как механизмы реализации задуманного еще не дошел, но по крайней мере из чего будет это состоять уже написал! А в подробностях какой модуль что делает я напишу позже, думаю что завтра или на худой конец послезавтра! Хотя я постарался названия модулей сделать более или менее содержательными. Спасибо за внимание!
ну так я этого и не предлагал Сначала главное определиться что должно быть и по какой логике работать. Механизмы реализации — уже следующий шаг
Я тоже так думаю! Сейчас подготовлю мои первичные наметки, и скину их сюда! Толко пока от сети отключусь!
Этот проект в конечном итоге рассчитывается на то, что он будет использоваться спортсменами различной квалификации, тренерами и руководством спортивного сообщества, а так же другими людьми, которым интересна тема гребного спорта. Этот проект разрабатывают следующие люди по никам в Интернете: Stasrot1, а так же другие. Те кто желает присоединится к проекту могут помочь нам в следующем: 1. Программирование проекта преимущественно на PHP, желательно пятой версии. 2. Оказание поддержки дизайнерской части проекта. 3. Ведение документации и учета изменений. 4. Учет пожеланий и рекомендаций по работе системы 5. Популяризации проекта среди спортсменов и программистов. 6. Локализация на другие языки. Эта система в первую очередь предназначается спортсменам, потом тренерам и спортивной администрации, и просто, тем, кому небезразличен гребной спорт! Система будет реализовываться по модульному принципу, так чтобы в любой момент, быстро и удобно подключить новый модуль к системе, который позволит улучшить ее функционал и производительность, а следовательно и степень полезности. Система изначально будет разрабатываться на PHP, MySQL, при функционировании под управлением Apache. Доступ к системе осуществляется при помощи регистрации в последней и при необходимости заключении договора на бумажном носителе о конфиденциальности предоставляемых учетных данных и их не разглашении за исключением тех случаев, когда этого требует закон. В системе реализован модуль «Личный кабинет», в котором каждый пользователь системы может менять свои персональные настройки работы на сайте, персональные данные, а так же реализация возможности смены своего пароля. и другие возможности, которые будут описаны отдельно в части презентации посвященной именно этому модулю. В системе по ходу первичной разработки будут реализованы следующие модули: 1. «Личный кабинет» 2. «Спортивный журнал» 3. «Ежедневник-планер спортсмена» 4. «Ежедневник-планер тренера» 5. «Новости и публикации» 6. «Опрос-сервис» 7. «Комментарий-сервис» 8. «Файл-менеджер» 9. «Календарь» 10. «Админ-панель по системе» 11. «Документ-центр» 12. «Система учета и приема пожеланий, рекомендаций, критики и предложений в адрес системы» 13. «Регион - контроль» 14. «Форумы» Так же в системе по ходу вторичной разработки будут разработаны следующие модули: 15. «Спортивная администрация» 16. «Развлечения» 17. «Система анализатор спортивной деятельности» 18. «Система генерации отчетов о спортивной деятельности» 19. «Система вывода отчетов» 20. «Контроль жизненно-бытовых условий» В ходе последующих стадий разработки будут реализовываться следующие механизмы: 1. «Обмен данными с компьютерами пользователей при помощи заранее установленной пользователем программы, задачей которой будет сбор соответствующей информации» 2. «Получение информации от пользователей системы при помощи мобильных устройств»
Идея хороша уже относительно внятным излложением. Буду советовать... на большее, к сожалению, времени нет. (
Понимаю, времени действительно у всех мало, но и за советы буду весьма признателен! Так что советы уже принимаются! Программировать я думаю еще пока рано, так как надо четко описать логику поведения системы в зависимости от поведения пользователя и наоборот, как система должна влиять на поведение пользователя! Я представляю это примерно так: Есть какое то ядро которое занимается рядом работ, которые необходимы для функционирования всех остальных частей системы. Есть модуль: "Личный кабинет" из которого пользователи имеют возможности широкой настрой ки поведения всех остальных модулей! И первым стартовым модулем должен стать собственно модуль "2. «Спортивный журнал»" А потом "3. «Ежедневник-планер спортсмена» " Это для старта системы. Наверное вот так этот проект начнет потихоньку реализовываться! Как мои соображения? Может чего посоветуешь по ходу моих мыслей?! Сейчас займусь описанием функционала этих модулей в первую очередь и других в следующую! Спасибо за внимание!
Я вот сейчас думаю для начала создать скрипт, который занимался бы учетом авторов системы, с использованием БД. Думаю справлюсь!