gpt4 book ai didi

php - 将从 mysql 数据库收集的 SESSION 变量发布到新页面

转载 作者:行者123 更新时间:2023-11-29 03:43:49 25 4
gpt4 key购买 nike

最近几天我一直在研究这个问题。我希望代码实现什么;有一个页面显示一定数量的简短博客文章。然后我想在博客底部有一个链接到整篇文章的链接。我还想要一个完整故事页面上的链接,可以让您返回到缩略故事列表。我已经尝试使用 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='&nbsp;' />
</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='&nbsp;' />
</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>

最佳答案

问题:(你在 echo 中有两个相同的引号,第一个在你的类里面,第二个在你的 session 中)

<h3 class='blog'>{$_SESSION['title']}</h3>

解决方案一:

<h3 class=\'blog\'>{$_SESSION['title']}</h3>

解决方案 2:

使用stripslashes功能

关于php - 将从 mysql 数据库收集的 SESSION 变量发布到新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9573509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com