Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Модульное приложение на php
Форумы портала PHP.SU » » Вопросы новичков » Модульное приложение на php

Страниц (2): [1] 2 »
 

1. Aleri - 09 Марта, 2021 - 19:43:12 - перейти к сообщению
Доброго времени суток, что ж в конце семестра я столкнулась с непосильной задачей, а именно реализацией определенного модуля, что представляет собой следующее:

Создать файл, содержащий информацию об итогах сессии.
Формат структуры: фамилия студента, группа, отметка1, отметка2, отметка3.

Написать программу, которая выдает следующую информацию:
1) общее количество студентов, сдавших экзамены на "4" и "5";
2) качество успеваемости в заданной группе.

Каждую из функций разместить в отдельном заголовочном файле + создать окно авторизации пользователя (администратор и пользователь)

Мне удалось реализовать лишь форму для авторизации и вообще не понимаю куда ее лепить, хех, беда вообщем Огорчение

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if (!isset ($name)&&!isset($password))
  4. {        
  5. ?>
  6.  

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <H1 align=center>Пожалуйста, авторизуйтесь!</h1>
  3. <hr>
  4. <form method=post action='1.php' enctype="multipart/form-data">
  5. <table border= 1 align=center>
  6. <tr>
  7. <th>Имя пользователя</th>
  8. <td> <input type=text name=name></td>
  9. </tr>
  10. <tr>
  11. <th>Пароль</th>
  12. <td> <input type=password name=password></td>
  13. </tr>
  14. <td colspan = 2 align=center>
  15. <input type=submit name=submit value="Войти">
  16. </td>
  17. </tr>
  18. </table>
  19. </form>
  20.  

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. }
  4. if ($_POST['submit']=="Войти")
  5. {
  6. $name=$_POST['name'];
  7. $password=$_POST['password'];
  8.  if($name=="user"&&$password=="pass"){
  9. echo "<h1 align=center>Вы зашли на сайт!</h1>";
  10. }
  11. else
  12. {echo" <h1 align=center>
  13. Вы ввели неправильный логин или пароль !!!</h1>";}
  14. }
  15. ?>
  16.  


Помогите, пожалуйста Растерялся
2. Vladimir Kheifets - 10 Марта, 2021 - 07:00:32 - перейти к сообщению
Добрый день, Aleri!

Уточнить пожалуйста следующие детали задания:

Цитата:
Создать файл, содержащий информацию об итогах сессии.
Формат структуры: фамилия студента, группа, отметка1, отметка2, отметка3.

Что значит создать файл? Здесь и далее выберите или дополните ответ.
a.Ввести текст локально в редакторе и записать на сервер.
b.Сделать онлайн-программу для ввода, редактирования и сохранения файла.
Цитата:
Написать программу, которая выдает следующую информацию:
1) общее количество студентов, сдавших экзамены на "4" и "5";
2) качество успеваемости в заданной группе.

Должны быть в программе фильтры?
a.Нет. требуется выдать, 1),2)
b.Да. Необходимо иметь возможность выбора либо 1)или 2) и задания диапазона балов.
Как вычисляется качество успеваемости?
а. Средний бал
b. Проценты от количесва студентов по группам успеваевасти (4-5,3,2)

Цитата:
Каждую из функций разместить в отдельном заголовочном файле + создать окно авторизации пользователя (администратор и пользователь)

Должен быть index.php с двумя линками на скрирты авторизации и оценки качество ( и ещё редактор)?
Где должны открываться скрипты?
a.Модальные окна
b.Каждый в новом окне в браузере

Где должны быть заданы логины и пароли?
a.заданы в коде (как Вы показали)
b.должны сохраняться в одельном файле(php или тхт) с шифрованием
Удачи!
3. dcc0 - 10 Марта, 2021 - 18:29:36 - перейти к сообщению
Доброго!
Цитата:
1) общее количество студентов, сдавших экзамены на "4" и "5";

Идёт ли в задании речь о студентах, получивших больше тройбана?

Должна ли база выглядеть так:

файл: bd.txt

Спойлер (Отобразить)


Если по первому вопросу я правильно предположил, то можно посчитать счастливчиков (получивших больше 3 баллов по каждому предмету) в цикле. Пример взял из справочника, почти без изменений.

файл students_exam.php
Спойлер (Отобразить)


update
fixed
4. Aleri - 10 Марта, 2021 - 22:27:50 - перейти к сообщению
Здравствуйте, Vladimir Kheifets

Окей, сейчас поясню, что ж:

Цитата:
Что значит создать файл? Здесь и далее выберите или дополните ответ.

a. Ввести текст локально в редакторе и записать на сервер. (он должен быть уже сформирован и с него происходит выборка)

Цитата:
Должны быть в программе фильтры?

b. Да. Необходимо иметь возможность выбора либо 1)или 2) и задания диапазона балов. (это улучшит внешний вид, да и разъяснит понимание происходящего для обычного пользователя)

Цитата:
Как вычисляется качество успеваемости?

а. Средний бал

Цитата:
Должен быть index.php с двумя линками на скрирты авторизации и оценки качество ( и ещё редактор)?

Да, верно, именно так всё и должно быть

Цитата:
Где должны открываться скрипты?

b. Каждый в новом окне в браузере (в более привычном формате)

Цитата:
Где должны быть заданы логины и пароли?

a. заданы в коде (ибо этот вариант мы рассматривали на лабораторной работе)

Простите, что не описала эти детали ранее и, спасибо, вам за то, что проявили интерес Улыбка
(Добавление)
Здравствуйте, dcc0

Цитата:
Идёт ли в задании речь о студентах, получивших больше тройбана?


Как по мне, именно так и есть, выборка происходит только между хорошистами и отличниками.

Цитата:
Должна ли база выглядеть так:

файл: bd.txt


Что-то схоже с этим

Цитата:
Пример чтения файла в цикле я взял здесь[dot]


Спасибо, Вам, буду разбираться Хи
5. Vladimir Kheifets - 11 Марта, 2021 - 11:14:02 - перейти к сообщению
Добрый день, Aleri!
Первая подсказка.
Вам необходимо иметь index.php и два модуля, которые можно назвать: login.php и report.php.
index.php
Спойлер (Отобразить)

login.php
Спойлер (Отобразить)

report.php
Спойлер (Отобразить)

Подготовьте, пожалуйста, текстовой файл с оценкам и попытайтесь в report.php
его прочитать и обработать данные.
Пишите, если возникнут проблемы.
Удачи!
6. Aleri - 11 Марта, 2021 - 20:49:50 - перейти к сообщению
Здравствуйте, Vladimir Kheifets
Спасибо большое, за оказанную помощь, бегу разбирать кода Прыгаю до потолка
7. dcc0 - 13 Марта, 2021 - 03:17:19 - перейти к сообщению
Ещё один вариант входа в систему. Вот не могу вспомнить, не нужно ли использовать strcmp для проверки пароля?!
Файл enter.php
Спойлер (Отобразить)


Файл report.php

Спойлер (Отобразить)
8. Vladimir Kheifets - 13 Марта, 2021 - 11:19:42 - перейти к сообщению
dcc0 пишет:
Ещё один вариант входа в систему. Вот не могу вспомнить, не нужно ли использовать strcmp для проверки пароля?!
Файл enter.php
Спойлер (Отобразить)


Файл report.php

Спойлер (Отобразить)

Добрый день!
Файл enter.php выдаст ошибку
"session_start errors because 'headers already sent' by the ...":
т.к. html <form> перед <?PHP
Плохая идея использовать метод "GET" т.к введённые 'login' и 'password' будут видны в адресной строке браузера.
Форма будет выводится и при успешной авторизации. Зачем?
9. dcc0 - 13 Марта, 2021 - 12:08:43 - перейти к сообщению
Vladimir Kheifets пишет:
Top

Доброго. Спасибо, что Вы заметили. Правда, в моём скрипте нет перенаправления. Этот пример только показывает, как ещё можно использовать механизм сессий - session_id.

Цитата:
if(!isset($_SESSION["login"])) header('Location: login.php');

Кстати говоря, в вашем примере нет exit, т.е. есть перенаправление, но скрипт продолжает выполняться, содержимое страницы можно посмотреть с помощью curl.
(Добавление)
Vladimir Kheifets пишет:
Плохая идея использовать метод "GET" т.к введённые 'login' и 'password' будут видны в адресной строке браузера.

Согласен. Однако в случае с учебной задачей - это, как мне кажется, не столь важно.
Главное, чтобы на все вероятные казусы обратила внимание Aleri.
(Добавление)
Почему-то у меня ошибки нет. Может php как-то по-новому осуществляет разбор?!
10. Vladimir Kheifets - 13 Марта, 2021 - 13:26:52 - перейти к сообщению
dcc0 пишет:
Почему-то у меня ошибки нет. Может php как-то по-новому осуществляет разбор?!

исключено, если нет ошибки , проверьте, error_reporting
Достаточно в коде одного пробела перед <?PHP, чтобы возникла это ошибка.
Между прочим таже беда из Куки.

P.S Анекдот для Aleri.
Был объявлен конкурс на лучший проект тунель под проливом Ла-манш.
Решили заслушить тех, кто предложил самый выгодный проект.
Приходят два гражданина с лопатами и говорят, что готовы начать рыть.
Один из Англии, а другой из Франции.
Их спрашивают:
- а если вы не встретитесь?
Они отвечают:
- тогда за теже деньги вы получите два тунеля.
11. dcc0 - 13 Марта, 2021 - 14:55:19 - перейти к сообщению
Цитата:
исключено, если нет ошибки , проверьте, error_reporting

Всё попытал: нет ошибки.
И пробелы поставил, и error_reporting(E_ALL)
Может, потому, что у меня php-fpm и nginx.
Может, это как-то влияет.

Версия php на всякий случай: 7.3.9

Экстраполирую, - тема перейдёт в разбор работы транслятора.
(Давно к этой теме подбираюсь Радость )
12. Vladimir Kheifets - 13 Марта, 2021 - 17:29:36 - перейти к сообщению
dcc0 пишет:
Цитата:
исключено, если нет ошибки , проверьте, error_reporting

Всё попытал: нет ошибки.
И пробелы поставил, и error_reporting(E_ALL)
Может, потому, что у меня php-fpm и nginx.
Может, это как-то влияет.

Работал на всех версиях рнр и на разных серверах в среде LAMP.
Есть такая фотальная ошибка PHP и причина её возникновения:
Цитата:
You can't session_start after you've outputted any HTML at all.
https://stackoverflow[dot]com/questi[dot][dot][dot]ready-send-error
Если Вы её не видите, значит у Вас что-то не номально.
Допустим, нет ошибки, а переменныё сиссии у Вас передаются?
13. dcc0 - 13 Марта, 2021 - 18:12:19 - перейти к сообщению
Скриншот
Отредактировал код выше: форму сбросил вниз.
14. Vladimir Kheifets - 13 Марта, 2021 - 18:36:27 - перейти к сообщению
dcc0 пишет:
Скриншот

Не увидел ответа на вопрос:
переменныё сиссии у Вас передаются?
Чтобы узнать попробуйте поставить print_r($_SESSION)
в файле report.php
15. dcc0 - 13 Марта, 2021 - 18:43:02 - перейти к сообщению
Передаются.
Речь была о файле enter.php
Вот файл report.php

 

Powered by ExBB FM 1.0 RC1