[php] PHP로 DB 방명록 만들기
로빈아빠
본문
PHP로 DB 방명록 만들기
MySQL에 연동해서 작동하는 방명록입니다.
/usr/local/mysql/bin에서 작업을 합니다.
./mysql -u root -p mysql
이부분에 페스워드를 넣어야겠죠.....
create database guestbook; insert into db values ('%','guestbook','linuxand','y','y','y','y','y','y','y','y','y','y'); insert into user (host,user,password) values ('localhost','linuxand',password('prolinux')); quit
자 리눅스로 돌아 오죠...
다음에는
./mysqladmin -u root -p reload
이부분에 페스워드를 넣어야겠죠.....
./mysql -u linuxand -p
이부분에 페스워드를 넣어야겠죠..... 물론 이곳의 페스워드는 prolinux가 될겁니다.
create table guest7 (number int(10) not null default '0' auto_increment, writer varchar(20), ipasswd varchar(20), content text, wdate date, primary key (number)); quit
자 DB부분이 끝났습니다.
다음 파일은 guestbook.html입니다.
HTML 테그이니 별로 설명드릴 것이 없군요... 그냥 넘어 갑니다.
insert.php3입니다.
다음은 read.php3
del1.php3입니다.
del2.php3입니다.
MySQL에 연동해서 작동하는 방명록입니다.
/usr/local/mysql/bin에서 작업을 합니다.
./mysql -u root -p mysql
이부분에 페스워드를 넣어야겠죠.....
create database guestbook; insert into db values ('%','guestbook','linuxand','y','y','y','y','y','y','y','y','y','y'); insert into user (host,user,password) values ('localhost','linuxand',password('prolinux')); quit
자 리눅스로 돌아 오죠...
다음에는
./mysqladmin -u root -p reload
이부분에 페스워드를 넣어야겠죠.....
./mysql -u linuxand -p
이부분에 페스워드를 넣어야겠죠..... 물론 이곳의 페스워드는 prolinux가 될겁니다.
create table guest7 (number int(10) not null default '0' auto_increment, writer varchar(20), ipasswd varchar(20), content text, wdate date, primary key (number)); quit
자 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> "); ?>
관련링크
댓글목록
등록된 댓글이 없습니다.