Maison  >  Article  >  développement back-end  >  PHP implémente une fonction de forum de messages simple (code source ci-joint)

PHP implémente une fonction de forum de messages simple (code source ci-joint)

烟雨青岚
烟雨青岚avant
2020-06-09 09:48:2310685parcourir

PHP implémente une fonction de forum de messages simple (code source ci-joint)

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 :

PHP implémente une fonction de forum de messages simple (code source ci-joint)

3. Interface d'affichage des messages :

PHP implémente une fonction de forum de messages simple (code source ci-joint)

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(&#39;y-m-d h:m:s&#39;);
$sql="insert into messageboard(id,title,author,message,dateline) values(&#39;$id&#39;,&#39;$title&#39;,&#39;$author&#39;,&#39;$message&#39;,&#39;$time&#39;)";
if($str=$con->query($sql)){
    echo "<script>alert(&#39;留言成功&#39;);window.location.href=&#39;show_message.php&#39;</script>";
}
else {
    echo "<script>alert(&#39;留言失败&#39;);window.location.href=&#39;messageboard.php&#39;</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[&#39;title&#39;]; ?></td>
        </tr>
        <tr>
            <td>作者</td>
            <td><?php echo $value[&#39;author&#39;]; ?></td>
        </tr>
        <tr>
            <td>内容</td>
            <td><?php echo $value[&#39;message&#39;]; ?></td>
        </tr>
        <tr>
            <td><?php echo $value[&#39;dateline&#39;];;?></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;

Vous devez utiliserwhere to have conditions avant de pouvoir l'interroger. Par exemple :

select * from message where dateline=$date;

Comme mon programme ne transmet pas ici les données de la page précédente, je ne peux utiliser que la méthode suivante pour trier et lister toutes les données par heure.

select * from message order by dateline;

Merci d'avoir lu. Veuillez signaler toute lacune dans le code ci-dessus. J'espère que vous pourrez gagner quelque chose.

Cet article est reproduit à partir de : https://blog.csdn.net/jeak2015/article/details/53440522

Tutoriel recommandé : "

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer