You cannot see this page without javascript.

magicsquare.php코드 원문을 여기 다 게시하는 것은 다음으로 미루고 기초 코드부터 완성형으로 변화해 가는 과정을 한번 해보도록 하겠다.

 

먼저 앞서 작성했던 html코드로 부터 전달받은 square의 값을 변수로 저장하기 위하여 다음과 같은 코드를 작성하였다.

 

<?php

$square=$_POST['square'];

?>

 

위의 코드는 html문서로 부터 사용자가 원하는 값을 입력받아 square라는 이름으로 전달한 것을 magicsquare.php 문서에서 변수 $square 에 저장하는 코드이다.

 

다음으로 if문을 사용하여 마방진의 조건을 검출하는 코드를 추가해보도록 하자.

여기서 마방진의 조건이란 사용자로부터 받은 입력값이 3이상의 자연수여야 한다는 것이다.

수학적으로 마방진을 풀이할 것이 아니기 때문에 생성조건에 대한 증명은 하지 않도록 하겠다.

 

<?php

$square=$_POST['square'];

if ( ( $square <= 2 ) or ( $square != intval ( $square ) ) )

{

?>
        <p align="center">
                3이상의 자연수를 입력하여 주세요!
        </p>
<?php

}

else

{

}

?>

위 코드에 추가된 부분중 빨간색 코드는 사용자가 입력한 값이 3보다 작거나 정수가 아니라면 파란색의 html코드를 출력하라는 내용이고, 출력된 html코드는 웹서버를 통하여 그대로 브라우져에 보여지게 될 것이다.

 

여기서 잠깐 생각해볼 것이 파란색 출력문을 아래와 같이 php의 echo등의 출력 명령으로 처리하여도 되겠고, 상단의 녹색 코드문 처럼 php를 닫고 html코드로 직접 출력한 다음 php를 다시 여는 방법도 가능하다.

 

<?php

$square=$_POST['square'];

if ( ( $square <= 2 ) or ( $square != intval ( $square ) ) )

{

echo "<p align="center">3이상의 자연수를 입력하여 주세요!</p>";

}

else

{

}

?>

 

이런 방법은 본인이 선택하여 구성하자.

 

위의 빨간색 if문을 보자면

1. $square <= 2

2. $square != inval($square)

이렇게 두게의 명제가 or 논리연산으로 연결되어있다.

1은 "사용자가 입력한 값이 2보다 작거나 같다면"이라고 볼 수 있겠고,

2는 "사용자가 입력한 값이 정수가 아니라면"이라고 볼 수 있을 것이다.

1과 2가 or로 연결되었기 때문에 둘을 정리하자면 사용자의 입력값이 2보다 작거나 같을 경우나, 정수가 아닌 경우는 마방진을 생성할 수 없음으로 파란색 문장을 출력하라는 뜻이 되겠다.

 

이번에는 여기까지 정리하고 다음 글에서는 마방진 생성이 가능할 경우에 대하여 보도록 하겠다.

태그
엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수
369 APM mariadb download origin address LynX 2019-06-19 1991
368 APM What one can and should optimize LynX 2019-06-03 1418
367 CentOS mariadb install LynX 2019-05-31 1182
366 CentOS init mode change LynX 2019-05-30 1290
365 APM ext zip install LynX 2019-02-19 1614
364 APM ext ImageMagick install LynX 2019-02-19 513
363 3D Printer Pronterface(PrintRun) install file LynX 2018-09-13 753
362 CentOS Grub UUID change LynX 2018-08-08 869
361 Linux letsencrypt wildcard LynX 2018-07-26 798
360 Printer cura usb connection LynX 2018-07-06 666
359 CentOS cli 무선랜 LynX 2018-06-07 448
358 APM 윈도우에 APM 페키지 설치 file LynX 2018-05-04 590
357 APM MySQLTuner 설치 LynX 2018-04-27 545
356 CentOS CentOS7 커널 업데이트 LynX 2018-04-23 702
355 HTML Tag CSS 여러가지 모양 만들기 LynX 2018-02-08 772
354 Linux wkhtmltopdf wkhtmltoimage install LynX 2018-01-31 602
353 APM LZ4_LIBS Not Found (CentOS7, MariaDB 10.1.29) LynX 2018-01-03 485
352 APM mysql ./configure LynX 2017-12-15 805
351 APM PHP-7.2.0 LynX 2017-12-12 3157
350 Linux libiconv LynX 2017-12-08 558

XE Login