Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (10)

Лучшие ответы пользователя

Все ответы (8)
  • С чего начать рефакторинг?

    @AlxMrz
    Советую прочесть книгу "Рефакторинг существующего кода" Мартина Фаулера. Там достаточно неплохо освещен этот процесс.
    Lander дал тебе неплохую ссылку. У меня самого она в закладках.
    Также прочти про антипаттерны проектирования,т.е. о том, как делать не надо. https://sourcemaking.com/antipatterns - это ресурс по антипаттернам. На русском в поиске тоже можно найти информацию об этом.
    Ну и напоследок отформатируй свой код в соответствии со стандартами твоего языка программирования. Для PHP это PSR-1 и PSR-2 (и другие PSR тоже желательно)
    Ответ написан
    4 комментария
  • Как лучше отправлять формы?

    @AlxMrz
    1) Отправка просто через форму перезагружает страницу. Работает в принципе во всех случаях.
    2) Отправлять форму через ajax удобно при валидации введенных полей. Однако это не сработает, если у клиента будет отключен JavaScript (такого я еще не встречал).

    Тут скорее вопрос не "Как лучше?", а "Как надо?" в контексте какой-то задачи. В целом, используйте первый вариант, потом, если будет надо, переделаете под второй.
    Ответ написан
    1 комментарий
  • Как считывать и сразу выводить что-то на той же странице исходя из введенных в форму данных?

    @AlxMrz
    Ну как-то так:
    <?php
    	session_start();
    	if(!isset($_SESSION['count'])) {
    		$_SESSION['count']=0;
    	}
    	if($_SESSION['count']>5) {
    		$_SESSION['count'] = 0;
    	}
    
    	?>
    <!DOCTYPE html>
    <html>
    <head>
    	<title>TEST</title>
    	<meta charset="utf-8" />
    </head>
    <body>
    <form class="answer-input-div" method="post" action="<?=$_SERVER['PHP_SELF']?>" <?php if($_SESSION['count']==5) echo "style='display:none;'"; ?>>
    	<input type="text" required name="answer" placeholder="Введите ответ в это поле" class="answer-input">
    	<button class="answer-button" type="submit">Проверить</button>
    </form>
    <?php
    	$answerinf   = false;
    	$answertrue  = 33;
    	$usersanswer = $_POST['answer'];
    	$istinnost   = "Нет";
    	$i = 0;
    	if ($usersanswer == $answertrue) {
    	    $answerinf = true;
    	} else {
    	    $_SESSION['count']++;
    	}
    	if ($answerinf == True) {
    	    $istinnost = "Да";
    	}
    	?>
    	<h2>Попыток: <?php echo "{$_SESSION['count']}"?>/5.</h2>
    	<h2>Решение: <?php echo "$istinnost"?>.</h2>
    
    </body>
    </html>

    Но это, конечно, грубое решение. Эту задачу можно решить и через JavaScript. Саму логику расчетов вообще лучше вынести из файла шаблона.
    Ответ написан
    3 комментария

Лучшие вопросы пользователя

Все вопросы (7)