过去几天我一直在研究这个问题。我希望代码实现的目标;有一个页面显示一定数量的缩写博客文章。然后,我希望在博客底部有一个链接到整篇文章的链接。我还想在完整的故事页面上找到一个链接,可以将您返回到缩写故事列表中。我试图使用SESSION id实现这一点,除了一件大事之外,几乎所有东西都有效。当显示整个博客的显示页面时,它会切断撇号或任何其他html特殊字符。我曾尝试使用htmlspecialchars ......但我无法弄明白。请帮忙。
我已经附上了我一直使用的三页。 1)检索信息的代码 2)运行循环的页面并显示缩写结果 3)显示整篇博客文章的完整故事页面
第一页/*$result = mysqli_query($cxn,$query)
or die("Couldn't execute query, Retard.");*/
// find out how many rows are in the table
$sql = "SELECT COUNT(*) FROM ashly";
$result = mysqli_query($conn, $sql)
or die("Could not connect, Dickhead");
$r = mysqli_fetch_row($result);
$_SESSION['numrows'] = $r[0];
##JH echo "{$_SESSION['numrows']} <br/><br>";
// number of rows to show per page
$_SESSION['rowsperpage'] = 4;
// find out total pages
$_SESSION['totalpages'] = ceil($_SESSION['numrows'] / $_SESSION['rowsperpage']);
##JH echo $_SESSION['totalpages'];
// get the current page or set a default
//if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {
if (isset($_POST['currentpage']) && is_numeric($_POST['currentpage'])) {
// cast var as int
$_POST['currentpage'] = (int) $_POST['currentpage'];
} else {
// default page num
$_POST['currentpage'] = 1;
} // end if
// if current page is greater than total pages...
if ($_POST['currentpage'] > $_SESSION['totalpages']) {
// set current page to last page
$_POST['currentpage'] = $_SESSION['totalpages'];
} // end if
// if current page is less than first page...
if ($_POST['currentpage'] < 1) {
// set current page to first page
$_POST['currentpage'] = 1;
} // end if
// the offset of the list, based on current page
$_SESSION['offset'] = ($_POST['currentpage'] - 1) * $_SESSION['rowsperpage'];
// get the info from the db
$sql = " SELECT * FROM ashly ORDER BY id DESC LIMIT
{$_SESSION['offset']}, {$_SESSION['rowsperpage']} ";
$result = mysqli_query($conn, $sql) or die("Could not connect, connection Error");
// while there are rows to be fetched...
/*** this is where testPagingSESSION.inc goes. Has all loop and and page links
in it****/
##JH was: commented out for TESTING include("ashlyBlog2.inc");
include("ashlyBlogTESTING.inc"); // this include
uses the character control function
?>
第二页:循环显示博客列表
<?php
while ($_SESSION['list'] = mysqli_fetch_assoc($result)) {
extract($_SESSION['list']);
$price = number_format($price,2);
$timeDisplay = $_SESSION['list'];
$_SESSION['blog'] = $blog;
$_SESSION['time'] = date("F j, Y ", strtotime($time));
$_SESSION['title'] = $title;
// $_SESSION['blog']= htmlspecialchars($_SESSION['blog']);
// $_SESSION['title']= htmlspecialchars($_SESSION['title']);
$position=35; // Define how many characters you want to display.
$message= $_SESSION['blog'];
$post = substr($message,$position,1); // Find what is the last character
displaying.
We find it by getting only last one character from your display message.
if($post !=" "){ // In this step, if last character is not " "(space) do this step .
// Find until we found that last character is " "(space)
// by $position+1 (14+1=15, 15+1=16 until we found " "(space) that mean character 20)
while($post !=" "){
$i=1;
$position=$position+$i;
$message= $_SESSION['blog'];
$post = substr($message,$position,1);
}
}
$post = substr($message,0,$position); // Display your message
//echo $post;
//echo "...";
$_SESSION['title'] = htmlspecialchars($_SESSION['title']);
echo "
<h3 class='blog'>{$_SESSION['title']}</h3>
<p class='date' ><b>{$_SESSION['time']}</b></p>
<p class='blog'>$post....</p>
<form action='ashlyBlogBig2.php' method='POST'>
<input type='hidden'
name='title' value='{$_SESSION['title']}'/>
<input type='hidden'
name='time' value='{$_SESSION['time']}'/>
<input type='hidden'
name='blog' value='{$_SESSION['blog']}'/>
<input type='submit' name='to you'
class='productButtons' value='Read On. . . .'>
</form> ";
}//end while loop
?>
<?php
/****** build the pagination links ******/
// range of num links to show
$_SESSION['range'] = 3;
// start table for page buttons
echo "<table class='pagingTable' cell-padding='0' cell-spacing='0'>
<tr>";
// if not on page 1, don't show back links
if ($_POST['currentpage'] > 1) {
// get previous page num
$_SESSION['prevpage'] = ($_POST['currentpage'] - 1);
// show < link to go back to 1 page
echo "<td><form action='{$_SERVER['PHP_SELF']}' method='POST'>
<input type='hidden' name='currentpage' value='{$_SESSION['prevpage']}'/>
<input type='submit' name='submit' class='prevPage' value=' ' />
</form></td>";
} // end if
// loop to show links to range of pages around current page
for ($_SESSION['x'] = ($_POST['currentpage'] - $_SESSION['range']);
$_SESSION['x'] < (($_POST['currentpage'] +
$_SESSION['range']) + 1); $_SESSION['x']++)
{
// if it's a valid page number...
if (($_SESSION['x'] > 0) && ($_SESSION['x'] <= $_SESSION['totalpages'])) {
// if we're on current page...
if ($_SESSION['x'] == $_POST['currentpage']) {
// 'highlight' it but don't make a link
echo " <td class='active'><b>{$_SESSION['x']}</b></td> ";
// if not current page...
} else {
// make it a link
echo "<td><form action='{$_SERVER['PHP_SELF']}' method='POST'>
<input type='hidden' name='currentpage' value='{$_SESSION['x']}' />
<input type='submit' name='submit'
class='productPaging' value='{$_SESSION['x']}'/>
</form></td>";
} // end else
} // end if
} // end for
// if not on last page, show forward and last page links
if ($_POST['currentpage'] != $_SESSION['totalpages'])
{
$_SESSION['nextpage'] = ($_POST['currentpage'] + 1);
// echo forward link for next page
echo " <td><form action='{$_SERVER['PHP_SELF']}' method='POST'>
<input type='hidden' name='currentpage' value='{$_SESSION['nextpage']}'/>
<input type='submit' name='submit' class='nextPage' value=' ' />
</form></td>";
}
echo "</tr></table>"; // close table
// echo forward link for lastpage
?>
第三页:整篇博客文章展示
<?php
## These top four variable are commented out, tried but didn't work
##JH$_POST['title'] = strip_tags(trim($_POST[title])) ;
##JH$_POST['blog'] = strip_tags(trim($_POST[blog])) ;
##$_POST['title']= htmlspecialchars($_POST['title']);
##$_POST['blog']= htmlspecialchars($_POST['blog']);
//$_POST['blog'] = mysqli_real_escape_string($cxn, $_POST[blog]);
echo"
<h3 class='blog'>{$_POST['title']}</h3>
<p class='date' ><b>{$_POST['time']}</b></p>
<p class='blog'>{$_POST['blog']}</p>";
?>
</div> <!-- end bigProduct -->
<br/><br/>
<span class="backCategory"><center>
<b>
<a href=
"http://www.affiliate-marketing-abc.com/bagelmania/
ashlyBlog2.php"> Back to Category</a>
</b></center></span>
答案 0 :(得分:0)
问题:(回声中有两个相同的引号,第一个在你的课堂上,第二个在你的课程中)
<h3 class='blog'>{$_SESSION['title']}</h3>
解决方案1:
<h3 class=\'blog\'>{$_SESSION['title']}</h3>
解决方案2:
使用stripslashes功能