2013-11-15 142 views
-3

我有這個簡單的PHP網站,我正在建設,我有一些問題得到許多工作正確。試圖編輯我的博客網站

首先,Id像每個POST都有一個黑色邊框,由於某種原因,它會將邊框放在整個網頁的周圍。 Id也喜歡每個貼有時間戳的帖子,以顯示它的發佈時間,但與邊界相同。所有時間戳都是一樣的,當我添加一篇文章時,所有帖子都會變成最新帖子的製作時間。我會發布我的PHP下面,以及form.php,希望它的一個小修復。

謝謝!

PHP

<!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("/[email protected]+\..+/i", $_GET['email'])) { 

    echo $_GET['email']; 

} else { 

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

} 
?><br> 
You Posted : <?php echo $_GET["message"]; ?><br> 


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 '<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 evemt occured on '.$date.'</span></h3></li>'; 
     date_default_timezone_set('EST'); 
     echo date('l jS \of F Y h:i:s A'); 

    } 
    ?> 
    </ul> 
    </div> 

</body> 
</html> 

表格

<!DOCTYPE HTML> 
<html> 
<head> 

<link type="text/css" rel="stylesheet" href="index.css" /> 
<meta name="viewport" content="width=device-width" /> 
<title>Daily Dorm News</title> 
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
<link rel="stylesheet" href="/resources/demos/style.css" /> 
<script> 
$(function() { 
$("#datepicker").datepicker(); 
$('form').submit(function (e) { 
    var value; 

    // "message" pattern : from 3 to 15 alphanumerical chars 

    value = $('[name="message"]').val(); 
    if (!/^[A-Za-z0-9]{3,15}$/.test(value)) { 
     alert('Wrong value for "message".'); 
     e.preventDefault(); 
     return; 
    } 

    // "name" pattern : at least 1 digit 

    value = $('[name="name"]').val(); 
    if (!/\d+/.test(value)) { 
     alert('Wrong value for "name".'); 
     e.preventDefault(); 
     return; 
    } 
}); 

}); 
</script> 

</head> 
<body> 
<h1> <u>Daily Dorm News</u> <br> The best place to get your latest Dorm news </h1> 
<form action="posting_wall.php" method="get"> 
<div id="container"> 
Name:<input type="text" name="name" pattern="[A-Za-z0-9]{3,15}" title="Letters and numbers only, length 3 to 15" required autofocus><br> 
E-mail: <input type="email" name="email" maxlength="20" required><br> 

Post:<br> 

<textarea rows="15" cols="50" name='message'></textarea> 
</div> 
Date this event took place: <input type="text" name='date' id="datepicker" required> <br> 

<input type="reset" value="Reset"> 
<input type="submit"> 
</form> 
<p><a href="posting_wall.php">Posting Wall</a></p> 
</body> 
</html> 

CSS

h1 { 
font-size:200%; 
text-decoration:underline; 
font-weight:bold; 
color:blue; 
text-align:center; 

} 
div#container { 
font-size:150%; 
text-align:center; 
} 
div#posts{ 
border-style:solid; 
border-width:5px; 
} 

[IMG] http://i41.tinypic.com/260aog7.jpg [/ IMG]

+2

這ISN」 t一個PHP問題,這是一個CSS問題 –

+0

怎麼樣?我添加了邊框CSS,邊框在那裏,但我希望每個帖子都有一個單獨的邊框。它似乎是我把div id =「posts」和時間戳代碼放在哪裏。你可以看到,我把它放在PHP文件的末尾,但那是正確的地方嗎? – Terry

+0

向我們展示您的CSS,我們可以幫忙。您正在使用PHP將您的帖子呈現到您的博客中,但我不知道創建邊框的CSS是什麼,所以我無能爲力。 –

回答

0

您的CSS當前的目標是

div #posts{ 
} 

從閱讀你的PHP,它是整個郵政集裝箱。如果你想在每一個邊框周圍放置一個邊框,你需要爲每個帖子添加一個類。在你的代碼,這是在foreach塊

我會考慮增加一個div包裹每一個班級張貼在像

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 evemt occured on '.$date.'</span></h3></li>'; 
    date_default_timezone_set('EST'); 
    echo date('l jS \of F Y h:i:s A'); 
echo '</div>'; 

然後重寫你的CSS說:

.post{ 
    border: 5px solid; 
} 
+0

好吧,我應該在哪裏把它包裝在div class =「post」中?你能粘貼我需要包裹它的地方嗎? – Terry

+0

我上面編輯了我的答案。 –

+0

認爲我試過了,它做了所有的帖子,我現在就試試看,並看到 – Terry