YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > PHP
검색
멤버이름    오토
비밀번호 
 

PHP로 DB 방명록 만들기

페이지 정보

작성자 MintState 댓글 0건 조회 17,853회 작성일 08-10-31 11:06

본문

PHP로 DB 방명록 만들기

MySQL에 연동해서 작동하는 방명록입니다.

/usr/local/mysql/bin에서 작업을 합니다.

./mysql -u root -p mysql

이부분에 페스워드를 넣어야겠죠.....



자 리눅스로 돌아 오죠...
다음에는

./mysqladmin -u root -p reload

이부분에 페스워드를 넣어야겠죠.....

./mysql -u linuxand -p

이부분에 페스워드를 넣어야겠죠..... 물론 이곳의 페스워드는 prolinux가 될겁니다.



자 DB부분이 끝났습니다.

다음 파일은 guestbook.html입니다.
<body bgcolor="white" text="olive"> 
<p> </p> 
<p> </p> 
<form name=form action=insert.php3 method=post> 
<table border="1" width="674" align="center" bgcolor="ghostwhite" bordercolor="green" bordercolordark="#66CC33" bordercolorlight="#66CC33"> 
	<tr> 
		<td width="145"> 
		<p align="center">이       름   : </p> 
		</td> 
		<td width="513" colspan="2"><input type=text name=writer size=10></td> 
	</tr> 
	<tr> 
		<td width="145"> 
		<p align="center">비밀번호   :</p> 
		</td> 
		<td width="513" colspan="2"><P> 
		<input type=password name=ipasswd size=10></td> 
	</tr> 
	<tr> 
		<td width="145" rowspan="3"> 
		<p align="left"> </p> 
		</td> 
		<td width="74"> 
		<p align="center">내    용</p> 
		</td> 
		<td width="433"> 
		<p> </p> 
		</td> 
	</tr> 
	<tr> 
		<td width="513" colspan="2"><p> 
		<textarea name=content cols=50 rows=10> 
		</textarea></td> 
	</tr> 
	<tr> 
		<td width="513" colspan="2"><center><input type=submit value="글쓰기"> 
		<input type=reset value="취소"></center> 
		</td> 
	</tr> 
</table> 


HTML 테그이니 별로 설명드릴 것이 없군요... 그냥 넘어 갑니다.
insert.php3입니다.
<?php 
if (!$writer){ // 사용자 명이 없으면 다시 돌아가는 명령입니다. 
	echo(" 
	<script> 
	window.alert('이름이 없습니다.') 
	history.go(-1) 
	</script> 
	"); 
	exit; 
} 

if (!$content){ //내용이 없으면 다시 돌아갑니다. 
	echo(" 
	<script> 
	window.alert('내용이 없습니다.') 
	history.go(-1) 
	</script> 
	"); 
	exit; 
} 

$db=mysql_connect("localhost","linuxand","prolinux") or die("DB 에 연결 할 수 없습니다."); 
//DB연결부분입니다. 연결할 수 없으면 Error가 나죠.. 
mysql_select_db("guestbook", $db); 
//DB선택입니다. 당연히 guestbook를 만들었으니.. 선택은 guestbook 
$wdate=date("y-m-d"); 
$dbinsert ="insert into guest7 values('','$writer','$ipasswd','$content','$wdate')"; 
//입력받은 내용을 DB에 삽입합니다. 물론 날짜는 서버의 현제 날짜가 입력됩니다. 
$result=mysql_query($dbinsert, $db); 
mysql_close($db); 
echo(" <html> 
<head> 
<meta http-equiv='Refresh' content='1;url=./read.php3'> 
// 이 부분이 다음번 으로 넘겨주는 테그입니다. 유용하게 쓰일곳이 많을 겁니다. 
</head> 
<br><br> 
<center> 
<p>글이 기록되었습니다.<p> 
<br> 
<a href=read.php3><img src=list.gif border=0></a> 
"); 
?> 


다음은 read.php3
<body bgcolor=white> 
<center> 
<br> 
<center><img src=guestbook.jpg></center> 
<br> 
<P> 
<?php 
$limit=5; 
$db=mysql_connect("localhost","linuxand","prolinux"); 
//DB접속 부분입니다. 앞으로 반복적인 설명은 피하죠... 
mysql_select_db("guestbook", $db); 

$numresults=mysql_query( "select * from guest7 order by number desc"); 
$numrows=mysql_num_rows($numresults); 

if (!$offset) { 
	$offset=0; 
} 

$result=mysql_query( "select * ". 
	"from guest7 ". 
	"order by number desc limit $offset,$limit"); 

echo "<table border=1 width=300>"; 

while ($data=mysql_fetch_array($result)) { 
	echo "<tr>"; 
	$number=$data["number"]; 
	echo ("<table boarder='0' size='2' color='#CDDAE4'> 
		<tr> 
			<td width='109' bgcolor='#5485B6' align='center'> 
				<a href=del1.php3?number=$number><img src=del.gif border=0></a> 
			</td> 
			<td width='150' bgcolor='#5485B6' align='center'> 
				<font color='white'> $data[wdate] </font> 
			</td> 
			<td width='250' bgcolor='#5485B6' align='left'> 
				<font color='white'> $data[writer]  님의 흔적입니다. </font> 
			</td> 
		</tr> 
	</table>"); 
	$content=str_replace("n","<br>","$data[content]"); 
	$content=str_replace(" "," ",$content); 
	echo ("<table boarder='0' size='2' color='#CDDAE4'> 
		<tr> 
			<td width='517' bgcolor='#5485B6' style='cursor:hand;' onmouseover="this.style.backgroundColor='purple'" onmouseout="this.style.backgroundColor='#5485B6'" align='left'> 
				<font color='white'> $content </font> 
			</td> 
		</tr> 
	</table><br>"); 
	echo "</tr>"; 
} 

echo "</table>"; 

if ($offset!=0) { 
	$prevoffset=$offset-5; 
	print "<a href="$PHP_SELF?offset=$prevoffset">PREV</a> n"; 
} 

$pages=intval($numrows/$limit); 
if ($numrows%$limit) { 
	$pages++; 
} 
for ($i=1;$i<=$pages;$i++) { // 
	$newoffset=$limit*($i-1); 
	print "<a href="$PHP_SELF?offset=$newoffset">$i</a> n"; 
} 

if (!(($offset/$limit)==$pages) && $pages!=1) { 
	$newoffset=$offset+$limit; 
	print "<a href="$PHP_SELF?offset=$newoffset">NEXT</a><p>n"; 
} 

echo (" <p> <center> <a href=guestbook.html><img src=write.gif></a> </center> "); 
?> 
</center> 
</body> 


del1.php3입니다.
<br><br> 
<center> 
비밀번호를 넣으세요.<P> 
<form name=form action="del2.php3?number=<? echo $number ?>" method=post> 
<input type=password name=ipasswd2> 
<P> 
<input type=submit value=send> 
</center> 
</form> 


del2.php3입니다.
<? 
$db=mysql_connect("localhost","linuxand","prolinux"); 
mysql_select_db(guestbook,$db); 
$dbselect="select ipasswd from guest7 where number=$number"; 
$result=mysql_query($dbselect ,$db); 
$ipp=mysql_fetch_array($result); 
$mpass="linuxand"; 
if(($ipp["ipasswd"]==$ipasswd2) || ($ipasswd2==$mpass)) 
//이곳이 마스터 키 설정부분입니다. 모든 방명록을 삭제할 수 있죠.... 
{ 
	$dbdel="delete from guest7 where number=$number"; 
	$result=mysql_query($dbdel,$db); 
	echo( "<html> 
	<head> 
	<meta http-equiv='Refresh' content='1;url=./read.php3'> 
	</head> "); 
	echo( "<br><br> 
	<center> 방명록 글이 삭제 되었습니다.!! </center> "); 
} else { 
	echo( "<br><br> 
	<center> <p>페스워드를 확인하세요.!<P> </center> "); 
} 

mysql_close($db); 

echo( "<html> 
	<head> 
		<meta http-equiv='Refresh' content='1;url=./read.php3'> 
		// 이 부분이 다음번 으로 넘겨주는 테그입니다. 유용하게 쓰일곳이 많을 겁니다. 
	</head> "); 
?>

댓글목록

등록된 댓글이 없습니다.

Total 165건 6 페이지
PHP 목록
번호 제목 글쓴이 조회 날짜
40 MintState 12473 10-31
39 MintState 13225 10-31
38 MintState 11433 10-31
37 MintState 12917 10-31
36 MintState 13638 10-31
35 MintState 11435 10-31
34 MintState 11068 10-31
열람중 MintState 17854 10-31
32 MintState 14496 10-31
31 MintState 11722 10-31
30 MintState 13527 10-29
29 MintState 17830 10-29
28 MintState 12207 10-29
27 MintState 10419 10-29
26 MintState 16333 10-29
25 MintState 13339 10-29
24 MintState 14736 10-29
23 MintState 14722 10-29
22 MintState 14817 10-29
21 MintState 12183 10-29
20 MintState 11008 10-29
19 MintState 11462 10-29
18 MintState 12442 10-29
17 MintState 10505 10-29
16 MintState 9727 10-29
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2024, YesYo.com MintState. ™