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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Help! Помогите с кодом?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Создаю свой первый php c элементами css и html
rasl89
Отправлено: 23 Марта, 2020 - 19:27:08
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Приветствую коллеги.
Создаю свой первый php c элементами css и html для наглядности (не стал выносить в файлы)
Решил создать мгновенное мини лото погружаясь в php.
Возникли проблемы с кодом, не знаю куда дальше двигаться, уперся в стену.
Кто подскажет что делать дальше?
Проблемы:

проверка ошибок - выводит ошибку даже если все условия по вводу символов верны
не знаю как подключить mt_rand и дальше делать вывод и сравнение

Дополнительно свои комменты прописал в коде.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. session_start ();      
  4. if(isset ($_POST["send"])){
  5.                 $firstnum = htmlspecialchars ($_POST["firstnum"]);
  6.                 $secondnum = htmlspecialchars ($_POST["secondnum"]);
  7.                 $thirdnum = htmlspecialchars ($_POST["thirdnum"]);
  8.             $_SESSION["firstnum"] = $firstnum;
  9.                 $_SESSION["secondnum"] = $secondnum;
  10.                 $_SESSION["thirdnum"] = $thirdnum;
  11.                 $error = ""; //проблема с проверкой выполения условий, при вводе цифр от 0 до 10, ошибку показывает даже если цифра введена верно
  12.                 $error_1 = false;
  13.                 if ($firstnum == "" || $firstnum > 10) {
  14.                         $error = "Введите число от 0 до 10";
  15.                         $error_1 = true;
  16.                                 }
  17.                 if ($secondnum == "" || $secondnum > 10) {
  18.                         $error = "Введите число от 0 до 10";
  19.                         $error_1 = true;
  20.                                 }
  21.                 if ($thirdnum == "" || $thirdnum > 10) {
  22.                         $error = "Введите число от 0 до 10";
  23.                         $error_1 = true;
  24.                                 }
  25.        
  26.         // как тут завершить код? в случвае если все условия выполнены, нажать на кнопку и вывести сообщение о выигрыше или проигрыше
  27.                 if (!$error_1) {
  28.                         header();
  29.                         exit;
  30.                 }
  31. }
  32. ?>
  33.  
  34. <!doctype html>
  35. <html>
  36. <head>
  37. <meta charset="utf-8">
  38. <title>Онлайн лото 3 из 10</title>
  39.        
  40. <meta charset="utf-8">
  41. </head>
  42.         <style>
  43.  
  44.                 .error {
  45.                 color: red;
  46.                 }
  47.                
  48.                 #firstnum {
  49.    width: 15px;
  50.    padding: 5px;
  51.    background: #f0f0f0;
  52.                 }
  53.                
  54.                 #secondnum {
  55.         width: 15px;
  56.    padding: 5px;
  57.     background: #f0f0f0;       
  58.                 }
  59.                
  60.                 #thirdnum {
  61.    width: 15px;
  62.    padding: 5px;
  63.     background: #f0f0f0;                       
  64.                 }
  65.                
  66.                 #lototable {
  67.         background-color: #CAC6C6;
  68.         height: 200px;
  69.    width: 230px;
  70.         margin: auto;
  71.                 }
  72.                
  73.                 #nameloto {
  74.         height: 50px;
  75.    width: 230px;
  76.         margin: auto;          
  77.                 }
  78.                
  79.         </style>
  80. <body>
  81.         <div id="nameloto">
  82.                 <h2>Онлайн лото 3 из 10</h2>
  83.         </div>
  84.         <div id="lototable">
  85.                 <form name="lotonum" action="" method="post">
  86.                 <label> Введите первое число от 0 до 10</label>                 <input type="integer" maxlength="2" name="firstnum" id="firstnum" size="3" value="<?php echo $_SESSION["firstnum"] ?>"/>
  87.                         <span class="error"> <?=$error?></span>
  88.                                         <label> Введите второе число от 0 до 10</label>                 <input type="integer" maxlength="2" name="secondnum" id="secondnum" size="3" value="<?php echo $_SESSION["secondnum"] ?>"/>
  89.                         <span class="error"> <?=$error?></span>
  90.                                         <label> Введите третье число от 0 до 10</label>                 <input type="integer" maxlength="2" name="thirdnum" id="thirdnum" size="3" value="<?php echo $_SESSION["thirdnum"] ?>"/>
  91.                         <span class="error"> <?=$error?></span>
  92.                         <br />          <input type="submit" name="send" value="Хочу выиграть!" />
  93.                 </form>         <!-- 1. как дальше подключить функцию mt_rand заставить выводить ее символы от 0 до 10 в случайном порядке после нажатия кнопки? 2. потом сравнить наши переменные, введенные пользователем  3. вовдить совпавшие числа и сообщение YOU WIN или YOU LOOSE, я так понимаю 2 и 3 пункты при  помощи того же if  -->
  94.         </div>
  95. </body>
  96. </html>
  97.  
 
 Top
Vladimir Kheifets
Отправлено: 24 Марта, 2020 - 13:17:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Приветствую коллеги.
Создаю свой первый php c элементами css и html для наглядности (не стал выносить в файлы)
Решил создать мгновенное мини лото погружаясь в php.
Возникли проблемы с кодом, не знаю куда дальше двигаться, уперся в стену.
Кто подскажет что делать дальше?
Проблемы:

проверка ошибок - выводит ошибку даже если все условия по вводу символов верны
не знаю как подключить mt_rand и дальше делать вывод и сравнение

Дополнительно свои комменты прописал в коде.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. session_start ();      
  4. if(isset ($_POST["send"])){
  5.                 $firstnum = htmlspecialchars ($_POST["firstnum"]);
  6.                 $secondnum = htmlspecialchars ($_POST["secondnum"]);
  7.                 $thirdnum = htmlspecialchars ($_POST["thirdnum"]);
  8.             $_SESSION["firstnum"] = $firstnum;
  9.                 $_SESSION["secondnum"] = $secondnum;
  10.                 $_SESSION["thirdnum"] = $thirdnum;
  11.                 $error = ""; //проблема с проверкой выполения условий, при вводе цифр от 0 до 10, ошибку показывает даже если цифра введена верно
  12.                 $error_1 = false;
  13.                 if ($firstnum == "" || $firstnum > 10) {
  14.                         $error = "Введите число от 0 до 10";
  15.                         $error_1 = true;
  16.                                 }
  17.                 if ($secondnum == "" || $secondnum > 10) {
  18.                         $error = "Введите число от 0 до 10";
  19.                         $error_1 = true;
  20.                                 }
  21.                 if ($thirdnum == "" || $thirdnum > 10) {
  22.                         $error = "Введите число от 0 до 10";
  23.                         $error_1 = true;
  24.                                 }
  25.        
  26.         // как тут завершить код? в случвае если все условия выполнены, нажать на кнопку и вывести сообщение о выигрыше или проигрыше
  27.                 if (!$error_1) {
  28.                         header();
  29.                         exit;
  30.                 }
  31. }
  32. ?>
  33.  
  34. <!doctype html>
  35. <html>
  36. <head>
  37. <meta charset="utf-8">
  38. <title>Онлайн лото 3 из 10</title>
  39.        
  40. <meta charset="utf-8">
  41. </head>
  42.         <style>
  43.  
  44.                 .error {
  45.                 color: red;
  46.                 }
  47.                
  48.                 #firstnum {
  49.    width: 15px;
  50.    padding: 5px;
  51.    background: #f0f0f0;
  52.                 }
  53.                
  54.                 #secondnum {
  55.         width: 15px;
  56.    padding: 5px;
  57.     background: #f0f0f0;       
  58.                 }
  59.                
  60.                 #thirdnum {
  61.    width: 15px;
  62.    padding: 5px;
  63.     background: #f0f0f0;                       
  64.                 }
  65.                
  66.                 #lototable {
  67.         background-color: #CAC6C6;
  68.         height: 200px;
  69.    width: 230px;
  70.         margin: auto;
  71.                 }
  72.                
  73.                 #nameloto {
  74.         height: 50px;
  75.    width: 230px;
  76.         margin: auto;          
  77.                 }
  78.                
  79.         </style>
  80. <body>
  81.         <div id="nameloto">
  82.                 <h2>Онлайн лото 3 из 10</h2>
  83.         </div>
  84.         <div id="lototable">
  85.                 <form name="lotonum" action="" method="post">
  86.                 <label> Введите первое число от 0 до 10</label>                 <input type="integer" maxlength="2" name="firstnum" id="firstnum" size="3" value="<?php echo $_SESSION["firstnum"] ?>"/>
  87.                         <span class="error"> <?=$error?></span>
  88.                                         <label> Введите второе число от 0 до 10</label>                 <input type="integer" maxlength="2" name="secondnum" id="secondnum" size="3" value="<?php echo $_SESSION["secondnum"] ?>"/>
  89.                         <span class="error"> <?=$error?></span>
  90.                                         <label> Введите третье число от 0 до 10</label>                 <input type="integer" maxlength="2" name="thirdnum" id="thirdnum" size="3" value="<?php echo $_SESSION["thirdnum"] ?>"/>
  91.                         <span class="error"> <?=$error?></span>
  92.                         <br />          <input type="submit" name="send" value="Хочу выиграть!" />
  93.                 </form>         <!-- 1. как дальше подключить функцию mt_rand заставить выводить ее символы от 0 до 10 в случайном порядке после нажатия кнопки? 2. потом сравнить наши переменные, введенные пользователем  3. вовдить совпавшие числа и сообщение YOU WIN или YOU LOOSE, я так понимаю 2 и 3 пункты при  помощи того же if  -->
  94.         </div>
  95. </body>
  96. </html>
  97.  
Добрый день!
У меня нет, русской клавитуры, поэтому не могу подробно ответить на все Ваши вопросы.
Коротко, несколько советов по Вашему коду:
1. Используйте массивы и циклы.
2. Сессия в Вашем случае не нужна.
3. Не повторяйте одинаковые фрагменты кода
Например:
Спойлер (Отобразить)
Посмотрите код, может пригодится.
Спойлер (Отобразить)

Удачи!

(Отредактировано автором: 25 Марта, 2020 - 20:34:02)

 
 Top
rasl89
Отправлено: 24 Марта, 2020 - 18:28:20
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Vladimir Kheifets пишет:

Добрый день!
У меня нет, русской клавитуры, поэтому не могу подробно ответить на все Ваши вопросы.
Коротко, несколько советов по Вашему коду:
1. Используйте массивы и циклы.
2. Сессия в Вашем случае не нужна.
3. Не повторяйте одинаковые фрагменты кода
Например:
Спойлер (Отобразить)
Посмотрите код, может пригодится.
Спойлер (Отобразить)

Удачи!


Спасибо большое за ответ.
Сессию я добавлял на случай ошибки, например ввел пользователь число больше 10, чтобы оно осталось и он видел свою ошибку.
В Вашей версии кода очень много для меня непонятного, постараюсь разобраться!

(Отредактировано автором: 24 Марта, 2020 - 18:29:28)

 
 Top
Vladimir Kheifets
Отправлено: 24 Марта, 2020 - 19:30:01
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Vladimir Kheifets пишет:

Добрый день!
У меня нет, русской клавитуры, поэтому не могу подробно ответить на все Ваши вопросы.
Коротко, несколько советов по Вашему коду:
1. Используйте массивы и циклы.
2. Сессия в Вашем случае не нужна.
3. Не повторяйте одинаковые фрагменты кода
Например:
Спойлер (Отобразить)
Посмотрите код, может пригодится.
Спойлер (Отобразить)

Удачи!


Спасибо большое за ответ.
Сессию я добавлял на случай ошибки, например ввел пользователь число больше 10, чтобы оно осталось и он видел свою ошибку.
В Вашей версии кода очень много для меня непонятного, постараюсь разобраться!
Извините, не было возможности комментировать код.
То что, введено попадает в $_POST и в случае ошибки, например ввел пользователь число больше 10
Пишите, что не понятно. Разберёмся.

(Отредактировано автором: 24 Марта, 2020 - 19:33:24)

 
 Top
rasl89
Отправлено: 25 Марта, 2020 - 18:22:44
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Vladimir Kheifets пишет:

Извините, не было возможности комментировать код.
То что, введено попадает в $_POST и в случае ошибки, например ввел пользователь число больше 10
Пишите, что не понятно. Разберёмся.


Начал разбираться в Вашем варианте кода, это очень круто! Массивы и еще раз массивы.
Есть непонятные моменты, написал комментарии, можете взглянуть? Хотелось бы на 100% понять Вашу реализацию.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.     <?
  3.                
  4.            $number_ru = array ("первое","второе","третье"); //задали массивы
  5.            $number_en = array ("firstnum","secondnum","thirdnum");
  6.            $error= false;
  7.            foreach($number_en as $i => $name) //перебираем массив с присвоением к каждому элемнат массива переменной i, все это будет переменная name
  8.            {
  9.                    $value=$_POST[$name]; // создаем переменную value и объявляем метод POST для наше name
  10.                    if(isset($_POST["send"])) //проверяем заполнено ли поле (отлично ли оно от NULL)
  11.                    {
  12.                            if(preg_match("/^(\d{1}|10)$/",$value)) //тут не понятно, идет проверка нашего value по регулярным выражениям сначала строки, обычноый символ, одна цифра, один раз, или 10, конец строки
  13.                            {
  14.                                    $msg=""; //создаем переменную будушего сообщения
  15.                                    $inp_number[]=$value; // не понятно, что тут происходит? ЕСЛИ лишнего сивола нет,  то ... берется каждое число, записывается в value как класс символов? а далее переходит в массив?
  16.                            }
  17.                            else
  18.                            {
  19.                                    $error= true; // или будет выведена ошибка
  20.                                    $err_value=($value)?$value:"не введено"; // не понятно, что тут происходит? проверка введен ил символ
  21.                                    $msg = "<span>Ошибка: {$number_ru[$i]} число $err_value!</span>";// не понятно, что тут происходит?
  22.                            }
  23.                    }
  24.                    echo "
  25.                    <label>Введите {$number_ru[$i]} число от 0 до 10</label>
  26.                    <input type=\"integer\" maxlength=\"2\" name=\"$name\" id=\"$name\" size=\"3\" value=\"$value\"/><br>
  27.                    $msg<br>"; //тут поазываем форму или если нужно текст ошибки
  28.            }
  29.            if(!$error AND is_array($inp_number)) //если ошибка фолс и проверям переменную на массив
  30.            {
  31.                    $YOU_WIN = true;
  32.                    $win_number[]=$rand_number; // не понятно, что тут происходит? создаем переменную число, которое будет сравниваться с рандомным? числа из win_number запишутся в массив $inp_number?
  33.                    {
  34.                            do
  35.                            {
  36.                            $rand_number=mt_rand(0,10);  //сраниваем массив чисел с рандомными, если совпало то выиграл - $YOU_WIN = true
  37.                    }
  38.                    while (in_array($rand_number,$win_number)); // проверяем есть ли в масиве win_number символы из rand_number
  39.                        $win_number[]=$rand_number; // сравнение
  40.                        if($rand_number!=$number)  // если число из массива не равно рандомным, тот проигрыш $YOU_WIN=false
  41.                        {
  42.                           $YOU_WIN=false;
  43.                        }
  44.                    }
  45.                    echo "<div>Выграли числа: ",implode(", ",$win_number),"<br>"; //выводим строкой массив выигрышных чисел
  46.                    echo "Вы ввели числа: ",implode(", ",$inp_number),"<br>"; // выводим строкой массив введенных чисел
  47.                    echo "Вы ",($YOU_WIN)?"выграли":"прoиграли</div>"; // как тут определяет выиграли или проиграли по переменой $YOU_WIN?
  48.            }
  49.    ?>
  50.  
 
 Top
Vladimir Kheifets
Отправлено: 25 Марта, 2020 - 20:28:20
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Vladimir Kheifets пишет:

Извините, не было возможности комментировать код.
То что, введено попадает в $_POST и в случае ошибки, например ввел пользователь число больше 10
Пишите, что не понятно. Разберёмся.


Начал разбираться в Вашем варианте кода, это очень круто! Массивы и еще раз массивы.
Есть непонятные моменты, написал комментарии, можете взглянуть? Хотелось бы на 100% понять Вашу реализацию.

Добрый день!
Вставил комментарии в мой код
Спойлер (Отобразить)
Удачи!

(Отредактировано автором: 25 Марта, 2020 - 20:35:52)

 
 Top
rasl89
Отправлено: 26 Марта, 2020 - 20:48:49
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Vladimir Kheifets пишет:
Добрый день!
Вставил комментарии в мой код
Спойлер (Отобразить)
Удачи!

Спасибо за пояснения!
Все пока что очень сложно, но я разбираюсь.
Смотрите:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. echo "<div>Выграли числа: ",implode(", ",$win_number),"<br>";
  3. echo "Вы ввели числа: ",implode(", ",$inp_number),"<br>";
  4.  


implode подключен одинаково, но в первой строке перед цифрами есть запятая а на второй строке нет, что туда лучше всего внедрить? trim?
 
 Top
Vladimir Kheifets
Отправлено: 27 Марта, 2020 - 07:31:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Vladimir Kheifets пишет:
Добрый день!
Вставил комментарии в мой код
Спойлер (Отобразить)
Удачи!

Спасибо за пояснения!
Все пока что очень сложно, но я разбираюсь.
Смотрите:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. echo "<div>Выграли числа: ",implode(", ",$win_number),"<br>";
  3. echo "Вы ввели числа: ",implode(", ",$inp_number),"<br>";
  4.  


implode подключен одинаково, но в первой строке перед цифрами есть запятая а на второй строке нет, что туда лучше всего внедрить? trim?

Добрый день!
3 echo выдают 3 строки в контейнере div
PHP:
скопировать код в буфер обмена
  1. //выдаём результат:
  2. echo "<div>Выграли числа: ",implode(", ",$win_number),"<br>";
  3. echo "Вы ввели числа: ",implode(", ",$inp_number),"<br>";
  4. echo "Вы ",($YOU_WIN)?"выграли":"прoиграли</div>";


так выглядит результ:
Цитата:
Выграли числа: 4, 1, 8
Вы ввели числа: 1, 2, 3
Вы прoиграли
лишних запятых я не вижу и trim здесь не нужен.
Языковая конструкция языка PHP echo выводит несколько аргументв разделённые символом запятая перенос строки не добавляется.
ЗДЕСЬ:
echo "<div>Выграли числа: ",implode(", ",$win_number),"<br>";

1 аргумент:
"<div>Выграли числа: "

2 аргумент:
implode(", ",$win_number)

3 аргумент:
"<br>"

функции implode — объединяет элементы массива в строку (2 аргумент),
Разделяя элементы массива зпятыми с пробелом ", "

(Отредактировано автором: 27 Марта, 2020 - 07:35:17)

 
 Top
rasl89
Отправлено: 27 Марта, 2020 - 18:55:45
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Vladimir Kheifets пишет:
так выглядит результ:
Цитата:
Выграли числа: 4, 1, 8
Вы ввели числа: 1, 2, 3
Вы прoиграли
лишних запятых я не вижу и trim здесь не нужен.


Странно, у меня выводит:
Цитата:
Выграли числа: , 1, 2, 9
Вы ввели числа: 3, 4, 2
Вы прoиграли
 
 Top
Vladimir Kheifets
Отправлено: 27 Марта, 2020 - 20:11:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Vladimir Kheifets пишет:
так выглядит результ:
Цитата:
Выграли числа: 4, 1, 8
Вы ввели числа: 1, 2, 3
Вы прoиграли
лишних запятых я не вижу и trim здесь не нужен.


Странно, у меня выводит:
Цитата:
Выграли числа: , 1, 2, 9
Вы ввели числа: 3, 4, 2
Вы прoиграли


Из Вашего результата, "просматривается" такой код
PHP:
скопировать код в буфер обмена
  1. echo "<div>Выграли числа: , ", implode(", ",$win_number),"<br>";
  2. //Или
  3. echo "<div>Выграли числа: , ". implode(", ",$win_number),"<br>";


Покажите, пожалуйста, строки в коде, который Вы проверяете.
PHP:
скопировать код в буфер обмена
  1. $YOU_WIN = true;
  2.                 $win_number=[];
  3.                 foreach($inp_number as $number)
  4.                 {
  5.                         // выбираем в цикле, введённые числа и для каждого введённого вычисляем неповтояющеся случайное число
  6.                         //делаем, пока не будет найдено случайное число, которое не было ранее выбрано
  7.                         do
  8.                         {
  9.                         $rand_number=mt_rand(0,10);
  10.                 }
  11.                 while (in_array($rand_number,$win_number));
  12.                     //--------------------------------------------
  13.                     $win_number[]=$rand_number; //запоминаем случайное число для выдачи результата
  14.  
  15.                     if($rand_number!=$number) //проверяем на совпадение каждое введённое и случайное число
  16.                     {
  17.                        $YOU_WIN=false;
  18.                     }
  19.                 }
  20.                 //выдаём результат:
  21.                 echo "<div>Выграли числа: ",implode(", ",$win_number),"<br>";
  22.                 echo "Вы ввели числа: ",implode(", ",$inp_number),"<br>";
  23.                 echo "Вы ",($YOU_WIN)?"выграли":"прoиграли</div>";


Вставьте перед //выдаём результат:
print_r($win_number);

(Отредактировано автором: 27 Марта, 2020 - 20:26:24)

 
 Top
Vladimir Kheifets
Отправлено: 28 Марта, 2020 - 08:03:56
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Vladimir Kheifets пишет:
так выглядит результ:
Цитата:
Выграли числа: 4, 1, 8
Вы ввели числа: 1, 2, 3
Вы прoиграли
лишних запятых я не вижу и trim здесь не нужен.


Странно, у меня выводит:
Цитата:
Выграли числа: , 1, 2, 9
Вы ввели числа: 3, 4, 2
Вы прoиграли

Добрый день!
Проверил код, из Вашего поста от 25 Марта, 2020 - 20:22:44, который Вы проверяте.
Вы вставляли комментарии в мой код и его изменили.
В моём коде
PHP:
скопировать код в буфер обмена
  1. $YOU_WIN = true;
  2. $win_number=[];
  3. foreach($inp_number as $number)
  4. {

В Вашем исправленном коде
PHP:
скопировать код в буфер обмена
  1.  $YOU_WIN = true;
  2. $win_number[]=$rand_number; // не понятно, что тут происходит? создаем переменную число, которое будет сравниваться с рандомным? числа из win_number запишутся в массив $inp_number?
  3. {
  4.  

foreach($inp_number as $number) видимо, есть иначе вообще бы код выдавал фотальную ошибку.
Ваша ошибка в
PHP:
скопировать код в буфер обмена
  1. $win_number[]=$rand_number; // не понятно, что тут происходит?


В оригинале $win_number=[]; создаёт пустой массив, в Вашем исправленном в $win_number[]=$rand_number создается массив и заносится пустой 0 элемент т.к. переменная $rand_number здесь не определена.
Поэтому implode сливает в строку пустой 0 элемент с запятой, которую Вы увидели в результате.

Удачи!

(Отредактировано автором: 28 Марта, 2020 - 08:13:03)

 
 Top
rasl89
Отправлено: 28 Марта, 2020 - 19:13:46
Post Id



Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Vladimir Kheifets пишет:
В оригинале $win_number=[]; создаёт пустой массив, в Вашем исправленном в $win_number[]=$rand_number создается массив и заносится пустой 0 элемент т.к. переменная $rand_number здесь не определена.
Поэтому implode сливает в строку пустой 0 элемент с запятой, которую Вы увидели в результате.


но тогда код не запускается и указывает на ошибку
Цитата:
Parse error: syntax error, unexpected
именно в эту строку с
Цитата:
$win_number=[];
 
 Top
Vladimir Kheifets
Отправлено: 28 Марта, 2020 - 19:58:20
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rasl89 пишет:
Vladimir Kheifets пишет:
В оригинале $win_number=[]; создаёт пустой массив, в Вашем исправленном в $win_number[]=$rand_number создается массив и заносится пустой 0 элемент т.к. переменная $rand_number здесь не определена.
Поэтому implode сливает в строку пустой 0 элемент с запятой, которую Вы увидели в результате.


но тогда код не запускается и указывает на ошибку
Цитата:
Parse error: syntax error, unexpected
именно в эту строку с
Цитата:
$win_number=[];

У Вас неактуальная версия PHP
Замените на

(Отредактировано автором: 28 Марта, 2020 - 21:31:52)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB