使用php 和html 建立一个论坛,附上sql数据库存储信息

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-31 23:05   22   0

首先预览一下最终成果图:(可以点击用户名称转到个人页面,发表前必须登陆,或者登记一个新用户进行发言)


在这里建立一个以php,html 连接数据库进行操作的建议论坛,废话不多说,首先介绍一下各文件信息:


转载请注明出处: http://blog.csdn.net/elfprincexu


我们可以看到,其中forum.php为主登陆页面,其中包含显示论坛信息,和登录信息,format.css为简单的修饰论坛文件,在这里我们需要建立两个表单,一个表单forum为几率聊天信息,另一个表单为用户信息,记录用户相关信息:密码,用户名,个人邮件,个人网址。

forum.php内容:

<?php session_start();?>
  <html>
  <head>
 <link rel="stylesheet" href="format.css" type ="text/css">
  </head>
  <body>

  <?php

  $time = time();
  if ($_SESSION['connecte'])
  { echo"<p class='bienvenue'>Bienvenue, mon ami:" .$_SESSION['user']."</p>";
    echo"<p><a href='deconnect.php'>se déconnecter ?</a></p>";
    echo"<p><a href='nouveau_message.html'>Poster un nouveau message</a></p>";
  }

  if (!$_SESSION['connecte'])
  {
   echo"<p><a href='form_login.html'>Login: vous voulez vous connecter ?</a></p>";
   echo"<p><a href='form_ajouterlogin.html'>ou vous pouvez ajouter un login</a></p>";
  }

  echo"<p>Maintenant, Il'est : ".date("Y-m-d H-i-s",$time)."</p>";
  

  $con1 = mysql_connect("mysql.infres.enst.fr:3307","toto55","toto55");
  if(!$con1) {
   die ('Could not connect: ' .mysql_error()); 
   }
  if(!mysql_select_db("toto55",$con1)) {
        echo "<p>Desolé, accès à la base impossible</p>"; exit;
   }
   mysql_query("SET NAMES utf8"); /* Pour l’encodage */



  $con = mysql_connect("mysql.infres.enst.fr:3307","toto55","toto55");
  if(!$con) {
   die ('Could not connect: ' .mysql_error()); 
   }
  if(!mysql_select_db("toto55",$con)) {
        echo "<p>Desolé, accès à la base impossible</p>"; exit;
   }
   mysql_query("SET NAMES utf8"); /* Pour l’encodage */
   $resultat= mysql_query("SELECT * FROM forum order by time desc");
   if($resultat) {
 echo "<table border='1'>
       <tr>
       <th> message </th>
       <th> utilisateur </th>
       <th> date </th>
       </tr>";

      while($ligne=mysql_fetch_assoc($resultat)) {
 $nom = $ligne['reference'];
 $urlask= mysql_query("SELECT * FROM user where nom='".$nom."'"); 
        $correctrow=mysql_fetch_assoc($urlask);
        $url = $correctrow['url'];
    
 echo"<tr>";
        echo"<td class='message'>" .$ligne['text']. "</td>";
        echo"<td class='author'><a href= $url>".$ligne['reference']."</a></td>";
        echo"<td class='time'>" .$ligne['time']. "</td>";
 echo"</tr>";
      }
 echo"</table>";
  } 
  else {
     echo "<p>Erreur dans l’exécution de la requete.</p>"; 
     echo "<p>Message de MySQL: ".mysql_error()."</p>";
  }
mysql_close($con);
?>
其中我们用到相关的提交表单:
form_login.html                                                  //此为登陆页面
form_ajouterlogin.html                                           //添加一个新用户页面

form_login.html内容:

<html>
<body>
<p>tapez votre nom et votre passzword<p>

<form action="login.php" method="post">

<p>username:<input type="text" name="username"/><p>
<p>password: <input type="text" name="password"/><p>

<input type="submit"/>

</form>

</body>
</html>

其中form_login.html中调用了
login.php进行对数据库的操作:

login.html内容:

<?php session_start();
$_SESSION['connecte']= false;
?>

<?php
  $con = mysql_connect("mysql.infres.enst.fr:3307","toto55","toto55");
  if(!$con) {
   die ('Could not connect: ' .mysql_error()); 
   }
  if(!mysql_select_db("toto55",$con)) {
        echo "<p>Desolé, accès à la base impossible</p>"; exit;
   }
   mysql_query("SET NAMES utf8"); /* Pour l’encodage */
  
   $resultat= mysql_query("SELECT * FROM user");

   if($resultat) {
     while ($row = mysql_fetch_assoc($resultat)){
        if ($row['nom']== $_POST[username] && $row['password']==$_POST[password]){
     $_SESSION['connecte']= true;
     $_SESSION['user']= $row['nom'];
     header("Location: forum.php");
            exit;
     }
     }
   }
   else {
         session_destroy();
  header("Location: form_login.html");
   }

   echo"<p><a href='forum.php'>Revenir à accueil</a></p>";

   mysql_close($con);
?>

form_ajouterlogin.html:

<html>
<body>
<p>Donnez vos informations s'il vous plait.<p>

<form action="ajouterlogin.php" method="post">

<p>username*:<input type="text" name="newusername"/><p>
<p>password*: <input type="text" name="newpassword"/><p>
<p>email: <input type="text" value="parexeple@gmail.com" name="email"/><p>
<p>homepage: <input type="text" value="http://www.yahoo.fr" name="homepage"/><p>
<input type="submit"/>

</form>

</body>
</html>
其中form_ajouterlogin.html中调用了
ajouterlogin.php进行对数据库的操作:

ajouterlogin.html内容:

<?php session_start();?>

<?php
  $con = mysql_connect("mysql.infres.enst.fr:3307","toto55","toto55");
  if(!$con) {
   die ('Could not connect: ' .mysql_error()); 
   }
  if(!mysql_select_db("toto55",$con)) {
        echo "<p>Desolé, accès à la base impossible</p>"; exit;
   }
   mysql_query("SET NAMES utf8"); /* Pour l’encodage */
 
   $sql="insert into user (nom,url,password,email) values ('$_POST[newusername]','$_POST[homepage]','$_POST[newpassword]','$_POST[email]')";
   
  
   if (!mysql_query($sql,$con))
 {
 die('ERROR: ' .mysql_error());
 }
   echo "vous avez reussit d'ajouter un nouveau message";
   $_SESSION['user']= $_POST[newusername];
   $_SESSION['connecte']= true;
   header("Location: forum.php");
   exit;

   mysql_close($con);
?>

关于在主页面中的nouveau_message.html 和deconnect.html内容:

nouveau_message.html:

<html>
<body>
<form action="insert.php" method="post">
<p><textarea name="text" cols="40" rows="20">mettez votre texte ici</textarea></p>

<input type="submit"/>

</form>

</body>
</html>

关于在nouveau_message.html页面中的insert.php内容:

<?php session_start();?>

<?php
  $con = mysql_connect("mysql.infres.enst.fr:3307","toto55","toto55");
  if(!$con) {
   die ('Could not connect: ' .mysql_error()); 
   }
  if(!mysql_select_db("toto55",$con)) {
        echo "<p>Desolé, accès à la base impossible</p>"; exit;
   }
   mysql_query("SET NAMES utf8"); /* Pour l’encodage */
 
   $time=date("Y-m-d H-i-s",time());

   $user=$_SESSION['user'];
   $sql="insert into forum (text,reference,time) values ('$_POST[text]','$user','$time')";

   if (!mysql_query($sql,$con))
 {
 die('ERROR: ' .mysql_error());
 }
   echo "vous avez reussit d'ajouter un nouveau message";
   header("Location: forum.php");
   exit;

   mysql_close($con);
?>
deconnect.html内容很为简单,主要清空session,让用户重新登陆返回主页面:

deconnect.html内容:

<?php session_start();?>

<?php 
        session_destroy();
 header("Location: forum.php");
?>

差点忘了,附上最为简单的css文件:

.message{color:red;font-size=200%;font-style:normal;}
.author{color:blue;}
.time{color:black;}
.bienvenue{font-style:italic;font-size=200%;}


好了,是不是很简单呢,以上亲测都是可以运行的,大家一起试试看吧,理解其中的form表单推送关系很为重要,同时对数据库的连接也可以加深理解。

Merci beaucoup ~



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP