php - 如何查看用户之前是否发过帖子,如果有,突出显示他过去的帖子?

标签 php css

我有一个简单的学校博客网站,我需要帮助。我需要它,这样如果一个用户在提交帖子之前已经发布,那么他当前和以前发布的那些帖子将被突出显示。我知道我需要以某种方式检查该用户是否在我的数据库中,但不确定如何去做。先感谢您。如果需要,我也可以发布我的 css 或 html 表单。

谢谢

这是我的PHP

<?php
date_default_timezone_set('EST');
$date_posted = date('h:i:s Y-m-d');
?>

<!DOCTYPE HTML>
<html>
<head>
<link type="text/css" rel="stylesheet" href="post.css" />

<meta name="viewport" content="width=device-width" />
<title>Daily Dorm News</title>
</head>

<body>
<h1>Your Daily Dorm News Post! </h1>
<div id="container"> <?php if ( isset($_GET['name']) and preg_match("/^[A-Za-z0-9]+$/", $_GET['name']) ) {

    echo $_GET['name'];

} else {

    echo "You entered an invalid name!\n";

}

?><br>


Your email address is: <?php if ( isset($_GET['email']) and preg_match("/.+@.+\..+/i", $_GET['email']) ) {

    echo $_GET['email'];

} else {

    echo "You didn't enter a proper email address!\n";

}
?><br>
You Posted : <?php if ( isset($_GET['message']) and preg_match("/^[A-Za-z0-9]+$/", $_GET['message']) ) {

    echo $_GET['message'];

} else {

    echo "The message is not valid! The message box was blank or you entered invalid symbols!\n";

}
?>

This event happened :<?php echo $_GET["date"]; ?><br>


</div>
<?php
/* [INFO/CS 1300 Project 3] index.php
 * Main page for our app.
 * Shows all previous posts and highlights the current user's post, if any.
* Includes a link to form.php if user wishes to create and submit a post.
*/

require('wall_database.php');

// Fetching data from the request sent by form.php  
$name = strip_tags($_REQUEST['name']);
$email = strip_tags($_REQUEST['email']);
$message = strip_tags($_REQUEST['message']);
$date = strip_tags($_REQUEST['date']);

$is_valid_post = true;
// Checking if a form was submitted
if (isset($_REQUEST['name'])){
 // Fetching data from the request sent by form.php  
$name = strip_tags($_REQUEST['name']);
$email = strip_tags($_REQUEST['email']);
$message = strip_tags($_REQUEST['message']);
$date = strip_tags($_REQUEST['date']);  
 // Saving the current post, if a form was submitted
 $post_fields = array();
 $post_fields['name'] = $name;
 $post_fields['email'] = $email;
 $post_fields['message'] = $message;
 $post_fields['date'] = $date;
 $success_flag = saveCurrentPost($post_fields);

}

//Fetching all posts from the database
$posts_array = getAllPosts();

require('header.php');
?>
   <p><a href="form.php">Submit a Post</a></p>

   <?php
   if(isset($name)) {
     echo "<h3>Thanks ".$name." for submitting your post.</h3>";
   }
   ?>

   <p>Here are all the posts we have received.</p>
   <ul id="posts_list">
   <div id="posts">
   <?php

   // Looping through all the posts in posts_array
   $counter = 1;

   foreach(array_reverse($posts_array) as $post){
     $name = $post['name'];
     $email = $post['email'];
     $message = $post['message'];
     $date = $post['date'];

     if ($counter % 2==1)
       $li_class = "float-left";
     else
       $li_class = "float-right";


        echo '<div class=post>';
        echo '<li class="'.$li_class.'"><h3><span>'.$name.'</span> wrote a post.</h3></li>';
        echo '<li class="'.$li_class.'"><h3><span>'.$name.' email is: '.$email.'</span></h3></li>';
        echo '<li class="'.$li_class.'"><h3><span>'.$name.' wrote '.$message.'</span> wrote a post.</h3></li>';
        echo '<li class="'.$li_class.'"><h3><span>This event occured on '.$date_posted.'</span></h3></li>';
        echo '</div>';
   }
   ?>
   </ul>
 </div>

</body>
</html>

最佳答案

你要么需要:

  1. 创建登录。创建新帖子后,将其记录在数据库中。下次用户发帖时检查记录。如果存在记录,请使用样式执行您想要的操作

  2. 如果您不想创建登录系统,请根据电子邮件地址检查它。这种方法容易出现滥用错误等,

无论哪种方式,您都需要跟踪一些唯一标识符。

关于php - 如何查看用户之前是否发过帖子,如果有,突出显示他过去的帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20014615/

相关文章:

javascript - $_POST 变量未通过表单传递

php - 如何在 Windows 上使用 composer 正确安装 Ratchet ?

html - 如何在 Bootstrap 中将按钮添加到文本区域?

css - 绝对定位的下拉菜单在 IE 中不同

php - PayPal支付执行错误: Method type not supported for this operation

php - Laravel - 从两个数据透视表中获取计数作为一个数字

php - 如何在 Windows 中添加对 PHP 的 zend 调试器支持?

android - 放大/缩放 980 像素宽的网页以在平板电脑/小屏幕设备上占据整个宽度

javascript - 是否可以拉伸(stretch) Canvas 来填充尺寸为显示:flex?的div

jquery - 使用 Bootstrap 使输入/表单栏响应