728x90
SMALL
1. 다음은 세션을 이용하여 로그인을 처리하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.
<?php
$id = $_POST["id"];
$pass = $_POST["pass"];
$con = mysqli_connect("localhost", "user1", "12345", "sample");
______ = "select * from members where id='$id'";
______ = mysqli_query($con, $sql);
______ = mysqli_num_rows($result);
if(!$num_match)
{
echo("
<script>
window.alert('등록되지 않은 아이디입니다!')
history.go(-1)
</script>
");
}
else
{
$row = _________($result);
$db_pass = $row["pass"];
mysqli_close($con);
if($pass != _________)
{
echo("
<script>
window.alert('비밀번호가 틀립니다!')
history.go(-1)
</script>
");
exit;
}
else
{
session_start();
$_SESSION["userid"] = $row["id"];
/* 생략 */
}
}
?>
더보기
$sql
$result
$num_match
$mysqli_fetch_array
$db_pass
<?php
$id = $_POST["id"];
$pass = $_POST["pass"];
$con = mysqli_connect("localhost", "user1", "12345", "sample");
$sql = "select * from members where id='$id'";
$result = mysqli_query($con, $sql);
$num_match = mysqli_num_rows($result);
if(!$num_match)
{
echo("
<script>
window.alert('등록되지 않은 아이디입니다!')
history.go(-1)
</script>
");
}
else
{
$row = mysqli_fetch_array($result);
$db_pass = $row["pass"];
mysqli_close($con);
if($pass != $db_pass)
{
echo("
<script>
window.alert('비밀번호가 틀립니다!')
history.go(-1)
</script>
");
exit;
}
else
{
session_start();
$_SESSION["userid"] = $row["id"];
/* 생략 */
}
}
?>
2. 다음은 웹 페이지 상단 헤더의 프로그램 중 일부로, 세션을 이용하여 로그인 상태를 파악하는 부분이다. 빈칸을 채워 프로그램을 완성하시오.
<?php
___________;
if (___________($_SESSION["userid"])) $userid = $_SESSION["userid"];
else $userid = "";
if (___________($_SESSION["username"])) $username = $_SESSION["username"];
else $username = "";
if (___________($_SESSION["userlevel"])) $userlevel = $_SESSION["userlevel"];
else $userlevel = "";
?>
<div id="top">
<h3>
<a href="index.php">PHP 프로그래밍 입문</a>
</h3>
<ul id="top_menu">
<?php
if(!___________) {
?>
<li><a href="member_form.php">회원 가입(11장)</a> </li>
<li> | </li>
<li><a href="login_form.php">로그인(12장)</a></li>
<?php
} ___________ {
$logged = $username."(".$userid.")님[Level:".$userlevel.", Point:".$userpoint."]";
?>
<li><?=$logged?> </li>
<li> | </li>
<li><a href="logout.php">로그아웃</a> </li>
<li> | </li>
<li><a href="member_modify_form.php">정보 수정</a></li>
<?php
}
?>
</ul>
</div>
더보기
session_start()
isset
isset
isset
$userid
else
<?php
session_start();
if (isset($_SESSION["userid"])) $userid = $_SESSION["userid"];
else $userid = "";
if (isset($_SESSION["username"])) $username = $_SESSION["username"];
else $username = "";
if (isset($_SESSION["userlevel"])) $userlevel = $_SESSION["userlevel"];
else $userlevel = "";
?>
<div id="top">
<h3>
<a href="index.php">PHP 프로그래밍 입문</a>
</h3>
<ul id="top_menu">
<?php
if(!$userid) {
?>
<li><a href="member_form.php">회원 가입(11장)</a> </li>
<li> | </li>
<li><a href="login_form.php">로그인(12장)</a></li>
<?php
} else {
$logged = $username."(".$userid.")님[Level:".$userlevel.", Point:".$userpoint."]";
?>
<li><?=$logged?> </li>
<li> | </li>
<li><a href="logout.php">로그아웃</a> </li>
<li> | </li>
<li><a href="member_modify_form.php">정보 수정</a></li>
<?php
}
?>
</ul>
</div>
3. 다음은 사용자가 회원 정보 수정 폼 양식에서 정보를 수정한 후 완료 버튼을 클릭하면 수정된 데이터로 DB를 업데이트하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.
<?php
$id = $_GET["id"];
________= $_POST["pass"];
$name = $_POST["name"];
$email1 = $_POST["email1"];
$email2 = $_POST["email2"];
________ = $email1."@".$email2;
$con = mysqli_connect("localhost", "user1", "12345", "sample");
$sql = "________ members set pass='$pass', name='$name' , email='$email'";
$sql .= " where id='$id'";
________($con, $sql);
mysqli_close($con);
/*생략 */
?>
더보기
$email
$pass
$update
mysqli_query
<?php
$id = $_GET["id"];
$pass = $_POST["pass"];
$name = $_POST["name"];
$email1 = $_POST["email1"];
$email2 = $_POST["email2"];
$email = $email1."@".$email2;
$con = mysqli_connect("localhost", "user1", "12345", "sample");
$sql = "update members set pass='$pass', name='$name' , email='$email'";
$sql .= " where id='$id'";
mysqli_query($con, $sql);
mysqli_close($con);
/*생략 */
?>
4. 로그인과 회원 정보 수정에 사용되는 PHP 함수에 관한 물음에 답하시오.
① 변수 값을 검사하여 true 또는 false를 반환하는 함수는 무엇인가?
② 문자열을 분리하여 배열에 저장하는 함수는 무엇인가?
더보기
① isset()
② explode()
728x90
LIST
'PHP' 카테고리의 다른 글
PHP 프로그래밍 입문 3판 연습문제 14장 정답 정리 (0) | 2023.12.22 |
---|---|
PHP 프로그래밍 입문 3판 연습문제 13장 정답 정리 (0) | 2023.12.22 |
PHP 프로그래밍 입문 3판 연습문제 11장 정답 정리 (1) | 2023.12.22 |
PHP 프로그래밍 입문 3판 연습문제 10장 MySQL 조작 정답 정리 (2) | 2023.05.04 |
PHP 프로그래밍 입문 3판 연습문제 9장 MySQL 데이터베이스 정답 정리 (0) | 2023.05.03 |