php实现blog
1.建立表單
2.連接數(shù)據(jù)庫,測試其功能
?
/怎樣給按鈕加連接?
//<input type="submit" name="add post" value="add post">
<a href="http://phpblog.local/test.php?" target="_blank">add post</a>
//<input type="submit" οnclick="http://phpblog.local/test.php?">
3.實現(xiàn)index.php頁面
1 <!DOCTYPE HTML> 2 <html> 3 <body> 4 <?php $TitleErr = $BodyErr = ""; 5 $Title = $Body = ""; 6 7 <h4>Add post:</h4> 8 <p><span class="error">* Required</span></p> 9 <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 10 11 <label>Title<span class="error">*<?php echo $TitleErr;?>:</span></label> 12 <br> 13 <input type="text" maxlength="50" name="Title" value="<?php echo $Title;?>"> 14 <br> 15 16 <label>Body<span class="error">* <?php echo $BodyErr;?>: </span></label><br> 17 <textarea name="Body" rows="5" cols="40"><?php echo $Body;?></textarea>* 18 <br><br> 19 20 <input type="submit" name="save post" value="save post"> 21 22 </form> 23 24 //$dbc = mysqli_connect("localhost","root","root","cakephp2"); 25 $servername = "localhost"; 26 $username = "root"; 27 $password = "root"; 28 $dbname = "cakephp2"; 29 30 // 創(chuàng)建連接 31 $conn = new mysqli($servername, $username, $password, $dbname); 32 // 檢測連接 33 if ($conn->connect_error) { 34 die("連接失敗: " . $conn->connect_error); 35 } 36 37 $sql = "INSERT INTO posts (title, body,created,modified) VALUES ($Title, $Body, NOW(),NOW())"; 38 39 if ($conn->query($sql) === TRUE) { 40 echo "新記錄插入成功"; 41 } else { 42 echo "Error: " . $sql . "<br>" . $conn->error; 43 } 44 45 $conn->close(); 46 47 function test_input($data) 48 { 49 $data = trim($data); 50 $data = stripslashes($data); 51 $data = htmlspecialchars($data); 52 return $data; 53 54 } 55 var_dump($_SERVER["REQUEST_METHOD"]); 56 if ($_SERVER["REQUEST_METHOD"] == "POST"){ 57 if (empty($_POST["Title"])){ 58 $nameErr = "Title is required"; 59 60 }else{ 61 $name = test_input($_POST["Title"]); 62 63 } 64 if (empty($_POST["Body"])){ 65 $BodyErr = "Body is required"; 66 67 } 68 else{ 69 $Body = test_input($_POST["Body"]); 70 } 71 } 72 //var_dump($_POST['Title']); 73 74 ?> 75 76 <?php 77 echo $Title; 78 echo "<br>"; 79 echo $Body; 80 echo "<br>"; 81 ?> 82 </body> 83 </html>updat.php
<!DOCTYPE HTML> <html><body><?php $TitleErr = $BodyErr = "";$Title = $Body = "";<h4>Add post:</h4>//顯示出錯,但沒找出來。<p><span class="error">* Required</span></p><form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <label>Title<span class="error">*<?php echo $TitleErr;?>:</span></label><br><input type="text" maxlength="50" name="Title" value="<?php echo $Title;?>"><br><label>Body<span class="error">* <?php echo $BodyErr;?>: </span></label><br><textarea name="Body" rows="5" cols="40"><?php echo $Body;?></textarea>*<br><br><input type="submit" name="save post" value="save post"> </form>//$dbc = mysqli_connect("localhost","root","root","cakephp2");$servername = "localhost";$username = "root";$password = "root";$dbname = "cakephp2";// 創(chuàng)建連接$conn = new mysqli($servername, $username, $password, $dbname);// 檢測連接if ($conn->connect_error) {die("連接失敗: " . $conn->connect_error);}$sql = "INSERT INTO posts (title, body,created,modified) VALUES ($Title, $Body, NOW(),NOW())";if ($conn->query($sql) === TRUE) {echo "新記錄插入成功";} else {echo "Error: " . $sql . "<br>" . $conn->error;}$conn->close();function test_input($data){$data = trim($data);$data = stripslashes($data);$data = htmlspecialchars($data);return $data;}var_dump($_SERVER["REQUEST_METHOD"]);if ($_SERVER["REQUEST_METHOD"] == "POST"){if (empty($_POST["Title"])){$nameErr = "Title is required";}else{$name = test_input($_POST["Title"]); }if (empty($_POST["Body"])){$BodyErr = "Body is required";}else{$Body = test_input($_POST["Body"]); }}//var_dump($_POST['Title']);echo $Title;echo "<br>";echo $Body;echo "<br>";</body> </html>title.php
<?php echo "<table style='border: solid 1px black;'>"; echo "<tr><th>Id</th><th>Title</th><th>Body</th><th>Update</th><th>created</th></tr>";class TableRows extends RecursiveIteratorIterator {function __construct($it) { parent::__construct($it, self::LEAVES_ONLY); }function current() {return "<td style='width: 150px; border: 1px solid black;'>" . parent::current(). "</td>";}function beginChildren() { echo "<tr>"; } function endChildren() { echo "</tr>" . "\n";} } $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "cakephp2";try {$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);$stmt = $conn->prepare("SELECT * FROM posts"); $stmt->execute();// 設(shè)置結(jié)果集為關(guān)聯(lián)數(shù)組$result = $stmt->setFetchMode(PDO::FETCH_ASSOC); foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { echo $v;}$dsn = null; } catch(PDOException $e) {echo "Error: " . $e->getMessage(); } $conn = null; echo "</table>"; ?>?
轉(zhuǎn)載于:https://www.cnblogs.com/Abby2017/p/7100888.html
總結(jié)
- 上一篇: 0069 如何在Intellij IDE
- 下一篇: thinkphp htmlspecia