PHP implémente une fonction de forum de messages simple
Principe
Pour faire simple, cela signifie créer la base de données, ajouter des données et les afficher sur le front-end. Mon programme consiste simplement à laisser un message puis à l'afficher. Écrivez d’abord la page d’accueil du message, écrivez simplement l’auteur, le titre et le contenu.2. Interface :
3. Interface d'affichage des messages :
4. Code
(1) Page pour ajouter un message
<!DOCTYPE HTML> <HTML> <Head> <meta http-equiv="CONTENT-TYPE" ; content="text/html" ; charset="UTF-8"> <title>留言</title> <style type="text/css"> .message{ margin-top:0px; } h1{ margin-top:200px; } </style> </Head> <Body> <h1 align="center">留言板</h1> <div class="message"> <form name="addform" id="addform" method="post" action="message_handle.php"> <table type="text" align="center" border="1px,solid"> <input type="hidden" id="id" name="id" /> <tr> <td>标题</td> <td><input type="text" name="title" id="title"/></td> </tr> <tr> <td>作者</td> <td><input type="text" name="author" id="author"/> </td> </tr> <tr> <td>内容</td> <td><textarea name="message" id="message" cols="60" role="15"></textarea></td> </tr> <tr> <td><input type="submit" name="sumbit"/></td> <td><input type="reset" name="reset"/></td> </tr> </table> </form> </div> </Body> </HTML>
(2) Traitement en arrière-plan des messages, stockage de l'auteur, du titre et du contenu dans la base de données intégrée
<?php header("CONTENT-TYPE:text/html;charset=UTF-8"); define("HOST","127.0.0.1"); define("USERNAME","root"); define("PASSWORD",""); if($con=new mysqli(HOST,USERNAME,PASSWORD,"test")){ echo $con->error; } if($con->select_db("messageboard")){ echo $con->error; } if($con->query("SET NAMES utf8")){ echo $con->error; } $id=$_POST["id"]; $title=$_POST["title"]; $author=$_POST["author"]; $message=$_POST["message"]; $time=date('y-m-d h:m:s'); $sql="insert into messageboard(id,title,author,message,dateline) values('$id','$title','$author','$message','$time')"; if($str=$con->query($sql)){ echo "<script>alert('留言成功');window.location.href='show_message.php'</script>"; } else { echo "<script>alert('留言失败');window.location.href='messageboard.php'</script>"; } ?>
(3) Ce qui suit est le code de la page pour afficher les messages
<?php header("CONTENT-TYPE:text/html;charset=UTF-8"); define("HOST","127.0.0.1"); define("USERNAME","root"); define("PASSWORD",""); if($con=new mysqli(HOST,USERNAME,PASSWORD,"test")){ echo $con->error; } if($con->select_db("messageboard")){ echo $con->error; } if($con->query("SET NAMES utf8")){ echo $con->error; } $sql="select * from messageboard ORDER BY dateline DESC "; $str=$con->query($sql); if($str && mysqli_num_rows($str)){ while($row= mysqli_fetch_assoc($str)){ $data[]=$row; } } ?> <!DOCTYPE HTML> <HTML> <Head> <meta http-equiv="CONTENT-TYPE" ; content="text/html" ; charset="UTF-8"> <title>留言板</title> <style type="text/css"> </style> </Head> <Body> <div> <?php if(empty($data)){ echo "当前没有留言"; } else{ foreach($data as $value) { ?> <table cellpadding="2" cellspacing="8" align="center" border="1px,solid"> <tr> <td>标题</td> <td><?php echo $value['title']; ?></td> </tr> <tr> <td>作者</td> <td><?php echo $value['author']; ?></td> </tr> <tr> <td>内容</td> <td><?php echo $value['message']; ?></td> </tr> <tr> <td><?php echo $value['dateline'];;?></td> </tr> </table> </div> <?php } } ?> </Body> </HTML>
5. Problèmes rencontrés
Les données ne peuvent pas être affichées sur la page d'affichage au début. Après une longue recherche, il s'est avéré que le. une mauvaise requête a été écrite en SQL. La méthode est écrite comme suit :select * from message where dateline desc;
select * from message where dateline=$date;
select * from message order by dateline;
Tutoriel PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!