Я работал над этим последние несколько дней. Чего я хочу, чтобы код достиг; Иметь страницу, отображающую определенное количество сокращенных статей в блоге. Затем я хочу иметь ссылку внизу блога, которая ссылается на всю статью. Мне также нужна ссылка на полную страницу истории, которая может вернуть вас к списку сокращенных историй. Я пытался добиться этого с помощью идентификатора SESSION и почти все работает за исключением одной важной вещи. Когда отображается страница просмотра для всего блога, она обрывается апострофом или любым другим специальным символом 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>