최근에는 PHP 코드를 살펴보는 시간을 가졌습니다. PHP100 튜토리얼을 참고하여 간단한 블로그를 만들어 여기에 간략하게 기록해보았습니다.
첫 번째는 WAMP가 여기에서 선택되었습니다: http://www.wampserver.com/en/
먼저 phpMyAdmin을 통해 블로그 테이블을 생성하세요.
순수한 인터페이스 작업은 프로세스가 비교적 간단합니다. id가 기본 키이고 auto_increnent 옵션이 설정되어 있으므로 필드가 비어 있으면 자동으로 증가합니다. 다른 필드는 좀 더 캐주얼하므로 유형과 길이에 주의하세요.
데이터 연결 만들기
./wamp/www/blog 디렉토리에 conn.php 파일을 생성합니다.
<?php @mysql_connect("127.0.0.1:3306","root","") or die("mysql数据库连接失败"); @mysql_select_db("test")or die("db连接失败"); mysql_query("set names 'gbk'"); ?>
mysql의 기본 사용자 이름은 root이고 비밀번호는 비어 있습니다. 여기서 생성한 블로그는 테스트 라이브러리에 있으므로 테스트 라이브러리에 연결해야 합니다.
블로그 추가
<a href="index.php"><B>index</B></a> <a href="add.php"><B>add blog</B></a> <hr> <?php include("conn.php"); //引入连接数据库 if (!empty($_POST['sub'])) { $title = $_POST['title']; //获取title表单内容 $con = $_POST['con']; //获取contents表单内容 $sql= "insert into blog values(null,'0','$title',now(),'$con')"; mysql_query($sql); echo "insert success!"; } ?> <form action="add.php" method="post"> title :<br> <input type="text" name="title"><br><br> contents:<br> <textarea rows="5" cols="50" name="con"></textarea><br><br> <input type="submit" name="sub" value="submit"> </form>
그러면 form의 name='sub' 내용이 비어 있지 않다고 판단되면 form의 내용을 가져오고, 그 다음에는 $sql 문이 null로 실행된다는 의미입니다. 비어 있음(증가), now()는 현재 항목을 취함을 의미합니다. 이제부터 $title 및 $con은 사용자가 양식에 제출한 컨텐츠를 취합니다. 마지막으로 eche가 성공적으로 삽입되었습니다.
하단 부분은 블로그 양식 제출 기능을 구현하는 데 사용되는 간단한 HTML 코드입니다.
블로그 홈페이지 만들기 ./wamp/www/blog/ 디렉토리에 index.php 파일을 생성하세요.
<a href="index.php"><B>index</B></a> <a href="add.php"><B>add blog</B></a> <br><br> <form action="" method="get" style='align:"right"'> <input type="text" name="keys" > <input type="submit" name="subs" > </form> <hr> <?php include("conn.php"); //引入连接数据库 if (!empty($_GET['keys'])) { $key = $_GET['keys']; $w = " title like '%$key%'"; }else{ $w=1; } $sql ="select * from blog where $w order by id desc limit 5"; $query = mysql_query($sql); while ($rs = mysql_fetch_array($query)) { ?> <h2>title: <a href="view.php?id=<?php echo $rs['id']; ?>"><?php echo $rs['title']; ?></a> | <a href="edit.php?id=<?php echo $rs['id']; ?>">edit</a> | <a href="del.php?id=<?php echo $rs['id']; ?>">delete</a> | </h2> <li>date: <?php echo $rs['data']; ?></li> <!--截取内容展示长度--> <p>contents:<?php echo iconv_substr($rs['contents'],0,30,"gbk"); ?>...</p> <hr> <?php }; ?>
mysql_query()는 SQL 문을 실행하는 데 사용됩니다. mysql_fetch_arry()는 반환된 데이터로부터 배열을 생성하므로 데이터베이스의 각 데이터 조각이 배열처럼 작동될 수 있습니다.
그런 다음 텍스트가 표시되고 iconv_substr() 함수를 통해 텍스트의 처음 30자를 추출합니다.
블로그 보기
./wamp/www/blog/ 디렉토리에 view.php 파일을 생성하세요.
<a href="index.php"><B>index</B></a> <a href="add.php"><B>add blog</B></a> <hr> <?php include("conn.php"); //引入连接数据库 if (!empty($_GET['id'])) { $id = $_GET['id']; $sql ="select * from blog where id='$id' "; $query = mysql_query($sql); $rs = mysql_fetch_array($query); $sqlup = "update blog set hits=hits+1 where id='$id'"; mysql_query($sqlup); } ?> <h2>title: <?php echo $rs['title']; ?> </h1> <h3>date: <?php echo $rs['data']; ?> click number: <?php echo $rs['hits']; ?></h3> <hr> <p>contents:<?php echo $rs['contents']; ?></p>
블로그 수정
./wamp/www/blog/ 디렉토리에 edit.php 파일을 생성하세요.
<a href="index.php"><B>index</B></a> <a href="add.php"><B>add blog</B></a> <hr> <?php include("conn.php"); //引入连接数据库 //获取数据库表数据 if (!empty($_GET['id'])) { $edit = $_GET['id']; $sql = "select * from blog where id='$edit'"; $query = mysql_query($sql); $rs = mysql_fetch_array($query); } //更新数据库表数据 if (!empty($_POST['sub'])) { $title = $_POST['title']; //获取title表单内容 $con = $_POST['con']; //获取contents表单内容 $hid = $_POST['hid']; $sql= "update blog set title='$title', contents='$con' where id='$hid' "; mysql_query($sql); echo "<script>alert('update success.');location.href='index.php'</script>"; } ?> <form action="edit.php" method="post"> <input type="hidden" name="hid" value="<?php echo $rs['id'];?>"> title :<br> <input type="text" name="title" value="<?php echo $rs['title'];?>"> <br><br> contents:<br> <textarea rows="5" cols="50" name="con" ><?php echo $rs['contents'];?></textarea><br><br> <input type="submit" name="sub" value="submit"> </form>
블로그 삭제
./wamp/www/blog/ 디렉터리에 del.php 파일을 만듭니다.
드디어 블로그 삭제 기능이 구현되고, 해당 블로그가 ID를 통해 조회되어 표시됩니다.
모든 페이지가 프론트엔드 스타일로 미화되지 않아서 보기 흉해서 사진은 올리지 않겠습니다. 기능은 아주 완벽합니다. 여기에 기록된 내용은 PHP 학습의 집합체로 간주됩니다.
============================================= === ========
그리고 모든 언어에는 장단점이 있지만 PHP의 두 가지 단점에 대해서는 여전히 불만을 토로하지 않을 수 없습니다.
1. "$", "->", "=>"와 같은 기호는 쓰기가 어렵습니다. 이러한 기호는 코드 구문을 이해하는 데 어려움을 증가시키지 않습니다. 하지만 역겨운 맛이 납니다. "$" 기호를 입력할 때마다 키보드를 보고 Shift 키를 눌러 4가 어디에 있는지 찾아야 합니다.
2. 내 생각에는 php와 html의 혼합이 그다지 우아하지 않습니다.
위 글의 내용은 모두의 공부에 도움이 되길 바랍니다.