<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0
01.07.2017 18:18:27 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #1
lll

lll

Эксперт

Эксперт

Дата регистрации:
17.06.2016 22:32:32

Сообщений: 120

Всем привет!! Выкладывайте свои решения ДЗ. (с комментами).
Будет интересно обсудить, кто как сделал. 
Задавайте вопросы!
Профиль Ответить
16.08.2017 02:09:45 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #2
Tahmasib

Tahmasib

Новичок

Новичок

Дата регистрации:
16.08.2017 01:39:59

Сообщений: 7

не плохо было иметь где то решение упражнений для проверки.

например, упражнение к 10 теме (цикл for) из раздела основы php:

Создайте простую форму для ввода числа.Если пользователь введёт число меньше 0, то вывести строку: «Число должно быть 0 или больше 0».Если число корректное, то найдите и выведите факториал введённого числа с помощью цикла for.Примечание: Факториал n = 1 * 2 * 3 * 4 * 5 * … * n, а факториал 0 = факториал 1 = 1

по моей логике, решение следующее:

<?php
$fact = 1;
$number = 0;
 if (isset($_GET["number"])) $number = $_GET["number"];
for ($i = 1; $i <= $number; $i++) {
  if ($number < 0) echo "Число должно быть 0 или больше 0";
  elseif ($number >= 0) {
$fact *= $i;
  }
}
echo "Факториал числа $number равен $fact";
?>
<form action="">
<input type="text" name="number">
<button type="submit">Отправить</button>
</form>


и в принципе оно работает, больше 0 считает правильно, но:
1. не происходит проверки на условие if ($number < 0) echo "Число должно быть 0 или больше 0"; что 0, что число меньше 0 выдаёт факториал 1.
2. как правильно написать условие "факториал 0 = факториал 1"
3. в целом не совсем понятно, правильное ли решение, от написания формы, до собственно цикла.

буду благодарен за разъяснения
Профиль Ответить
16.08.2017 11:55:25 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #3
lll

lll

Эксперт

Эксперт

Дата регистрации:
17.06.2016 22:32:32

Сообщений: 120

Привет когда number = 0  или меньше 0, условие цикла не выполняется, соответственно не доходит до проверки. Делай сначала проверку, а в ней уже цикл.
Профиль Ответить
16.08.2017 12:34:27 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #4
Tahmasib

Tahmasib

Новичок

Новичок

Дата регистрации:
16.08.2017 01:39:59

Сообщений: 7

спасибо за ответ.

получилась следующая конструкция:

<?php
$fact = 1;
$number = 0;
if (isset($_GET["number"])) $number = $_GET["number"];
if ($number < 0) {
  echo "Число должно быть 0 или больше 0";
}
elseif ($number == 0) {
  echo "Факториал числа 0 равен 1";
}
elseif ($number > 0) {
  for ($i = 1; $i <= $number; $i++) {
$fact *= $i;
  }
  echo "Факториал числа $number равен $fact";
}?>
<form action="">
<input type="text" name="number">
<button type="submit">Отправить</button>
</form>

работой удовлетворён, единственно что не нравится это то, что изначально сразу выводится "факториал числа 0 равен 1" видимо, ввиду того, что переменная $number определена изначально со значение 0. если же ей не присваивать значение выдаёт ошибку undefined и ту же фразу.

если не присваивать значение переменной $number, а использовать конструкцию:

if (isset($_GET["number"])) $number = $_GET["number"];
else $number = false;
получается тот же результат.

в целом, считаю что задание выполнено, но был бы благодарен, если укажете на ошибки в коде.
Профиль Ответить
16.08.2017 22:48:50 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #5
lll

lll

Эксперт

Эксперт

Дата регистрации:
17.06.2016 22:32:32

Сообщений: 120

Можно вот так сделать! 
<?php 
$fact = 1; 
$number = 0; 
if (isset($_GET["number"])){
$number = $_GET["number"]; 
    if ($number < 0) { 
        echo "Число должно быть 0 или больше 0"; 
    } 
    elseif ($number == 0) { 
        echo "Факториал числа 0 равен 1"; 
    } 
    elseif ($number > 0) { 
        for ($i = 1; $i <= $number; $i++) { 
            $fact *= $i; 
        } 
        echo "Факториал числа $number равен $fact"; 
    }
}?> 
<form action=""> 
    <input type="text" name="number"> 
    <button type="submit">Отправить</button> 
</form>
так же можно сделать проверку на число.
Профиль Ответить
22.08.2017 15:35:37 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #6
Tahmasib

Tahmasib

Новичок

Новичок

Дата регистрации:
16.08.2017 01:39:59

Сообщений: 7

Спасибо за ответ.

Проверка на число выглядела бы так?

<?php  
$fact = 1;  
$number = 0;  
if (is_numeric($_GET["number"])){ 
$number = $_GET["number"];  
 if ($number < 0) {  
  echo "Число должно быть 0 или больше 0";  
 }  
elseif ($number == 0) {  
  echo "Факториал числа 0 равен 1";  
 }  
elseif ($number > 0) {  
  for ($i = 1; $i <= $number; $i++) {  
$fact *= $i;  
  }  
  echo "Факториал числа $number равен $fact";  
 } 
}?>  
<form action="">  
 <input type="text" name="number">  
 <button type="submit">Отправить</button>  
</form>
выдаёт undefined на переменную $number, при вводе номера работает нормально, при вводе букв ничего не выдаёт, видимо таким образом php выдаёт false
Профиль Ответить
24.08.2017 23:05:45 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #7
ctalkep777

ctalkep777

Новичок

Новичок

Дата регистрации:
13.08.2011 17:24:41

Сообщений: 1

Всем привет! Не понял ДЗ в разделе Основы языка PHP > 7. Строковые операции >  5. * Откройте текстовый файл в «Блокноте» или любом другом редакторе с помощью скрипта на PHP.  Спасибо
Профиль Ответить
29.08.2017 17:20:05 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #8
Tahmasib

Tahmasib

Новичок

Новичок

Дата регистрации:
16.08.2017 01:39:59

Сообщений: 7

тоже, кстати, не понял этого задания. 

эксперты, как вижу, молчат, видимо активно продают курс по woocommerce ))
Профиль Ответить
29.08.2017 18:26:29 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #9
Tahmasib

Tahmasib

Новичок

Новичок

Дата регистрации:
16.08.2017 01:39:59

Сообщений: 7

задание к пятой теме "Константы"

Создайте константу с размером шрифта.Создайте простую HTML-страницу (обязательно с DOCTYPE и всеми базовыми HTML-тегами: html, head, body).Выведите пару абзацев текста с помощью тега <p>, безусловно, внутри <body>.Установите размер текста для тега <p> в теге <style> внутри тега <head>, подставив значение из константы, созданной в 1-м пункте.кто-то разве показывал как к HTML-странице подключать php-скрипты?
Профиль Ответить
01.09.2017 18:50:15 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #10
lll

lll

Эксперт

Эксперт

Дата регистрации:
17.06.2016 22:32:32

Сообщений: 120

<?php
const FONTSIZE=120;
?>

<!DOCTYPE HTML>
<html>
<head> <meta charset="utf-8">
<title>!!!!</title>
<style type="text/css">p {font-size: <?=FONTSIZE?>%;} </style>
</head>
<body>
<p>Hello, world!</p>
</body></html>
Профиль Ответить