UI구현
TIP !!
: 세션 동작 실행문(session_start)은 항상 코드의 최상단에 위치해야한다
top.php
// ip를 자동으로 불러오기
$host = $_SERVER['HTTP_HOST'];
$path = "http://".$host;
// 세션을 부여한 링크로 이동
   <a href="<?=$path?>/0406/list0406.php?table_name=examtbl1">1학년 성적조회</a>
   <a href="<?=$path?>/0406/list0406.php?table_name=examtbl2">2학년 성적조회</a>
   <a href="<?=$path?>/0406/list0406.php?table_name=examtbl3">3학년 성적조회</a>
list.php
<?
// 세션 동작 (선택 값이 있을 때 세션과 리퀘스트 값을 가져오기)
session_start();
if( $_REQUEST['table_name'] != ""){
$_SESSION['table_session'] = $_REQUEST['table_name'] ;
}
?>
TIP !!
: PHP에서 사용시 session_start 필수로 선언해주어야한다.
// 세션 쿼리문 테이블 받기
$SQL = "select sNo, sName, kor, eng, math, hist from " .
$_SESSION['table_session'] . " order by sNo asc";
TIP !!
: 쿼리문에 변수 삽입시 쿼리문 연결부분의 가장 앞부분 띄어쓰기가 중요하다.
<? include $_SERVER["DOCUMENT_ROOT"]."/include/dbconn0410.php"?>
<html>
<head>
<title> </title>
<link rel="stylesheet" href="/css/top0410.css">
</head>
<style>
#sectionTitle{
font-size:25px;
}
</style>
<body>
<header> (과정평가형 정보처리기능사) 성적조회 프로그램 ver1.0 </header>
<nav>
<? include $_SERVER["DOCUMENT_ROOT"]."/include/top0410.php"?>
</nav>
<section>
<br/>
<div align=center id=sectionTitle> <b>관리자 로그인</b></div>
<div id=sectionDiv>
<br>
<form name=f1 action=/0414/login0414_ok.php>
<table border=1 align=center>
<tr>
<td width=80> 아이디</td><td width=80><input type=text name=id ></td>
<br>
</tr>
<tr>
<td> 비밀번호</td><td><input type=password name=pwd ></td>
<br>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="로그인"></td>
</tr>
</table>
</form>
<br/>
</section>
</body>
<? include $_SERVER["DOCUMENT_ROOT"]."/include/bottom0410.php"?>
<?
session_start();
// 변수값 설정
$id = $_REQUEST['id'];
$pwd = $_REQUEST['pwd'];
// 특정 로그인 아이디&비밀번호 설정
if($id == 'admin' && $pwd == '1234'){
// 로그인 정상(아이디 패스워드 정상)
$_SESSION['id'] = 'admin';
header('Location:/0406/index0406.php');
}else {
// 로그인 비정상(아이디 빈칸)
$_SESSION['id'] = '';
header('Location:/0414/login0414.php');
}
?>
// 3가지 방법
<?
session_start();
// 로그 아웃 1. 세션 변수 값 지우기
$_SESSION['id'] = '';
// 로그 아웃 2. 세션이 모든 값을 삭제
session_unset();
// 로그아웃 3. 세션 자체를 삭제
session_destroy();
// 로그인 화면 이동
header('Location:/0414/login0414.php');
?>
PHP 기본 구문
// 방법 1 출력문 문자열에 변수 삽입
<?php
$txt = "PHP";
echo "I luv $txt ! ";
?>
<br>
// 방법 2 출력문에 변수 합하기
<?
$txt = "PHP";
echo "I luv " . $txt . " !";
?>
<br>
<?
$txt = "PHP";
$txt1 = "1";
$txt2 = "2";
echo $txt . $txt;
echo "<br>";
echo $txt1 + $txt2;
?>
<?php
// global scope
$x = 5;
$y = 6;
$z = 0;
function myTest() {
global $x, $y, $z;
$z = $x + $y;
}
myTest();
echo "<p> is : $z </p>"; // is : 11
?>
<?php
function myTest1() {
static $x = 0;
echo $x;
echo "<br>";
$x++;
}
myTest1(); // 1
myTest1(); // 2
myTest1(); // 3
?>
<?php
// true(참, 실수 값), false(거짓, 0)
if(-3) {
echo "참";
}else{
echo "거짓";
}
?>
-- 방법 1 변수 설정 후 배열 값 출력
<?php
// 배열
$cars = array("Volvo", "BMW", "Toyota", "KIA", "Hyundai");
// 현재 배열의 배열 값을 알려줌
var_dump($cars);
// 배열의 값을 거꾸로 출력(<- 순)
for($i=4; $i >= 0; $i--){
echo $cars[$i]." ";
}
-- 방법 2 변수 설정 후 조건문설정 (값이 0이 아닐경우 쉼표 부여)
// 배열
<?
$cars = array("Volvo", "BMW", "Toyota", "KIA", "Hyundai");
for($i = count($cars)-1; $i >= 0; $i--){
if($i != 0){
echo $cars[$i] . ", ";
}else{
echo $cars[$i];
}
}
?>
<?
// 배열
$cars = array("Volvo", "BMW", "Toyota", "KIA", "Hyundai");
// 배열 값 추가
array_push($cars, "SM"); // 맨 마지막에 추가
array_unshift($cars, "T"); // 맨 앞에 추가
echo "<br>";
// 배열 값 삭제 array_splice(변수, 위치, 길이)
array_splice($cars, 2, 1);
// 앞자리 추가 확인(0~큰수 자리수)
echo $cars[0] ."<br>";
for($i = count($cars)-1; $i >= 0; $i--){
if($i != 0){
echo $cars[$i] . ", ";
}else{
echo $cars[$i];
}
}
?>
오늘은 PHP의 로그인에 대해서 알아보았다.
홈페이지를 작성하기 위해선 필연적으로 사용하는 로그인
계정을 통해 NAV 메뉴도 다르게 노출하는 점이
너무 신기하고 재밌었다.
반복해서 꼭 기억하고 손에 익혀두도록 해야겠다.