单击动态php项目标题链接以在php中的概要页面上获取完整的项目详细信息

单击动态php项目标题链接以在php中的概要页面上获取完整的项目详细信息,php,Php,请帮忙。我正在建立一个网站,人们可以上传他们的项目。我设计它的方式是一个人可以有多个项目。我对php相当陌生,我知道我发布了太多的代码,但我需要帮助 我已经能够使每个用户登录时动态显示项目标题。我的问题是如何让每个链接加载包含完整项目细节的页面。现在,无论单击什么标题,它都只显示第一个项目的详细信息。下面是个人资料页面 <?php if(isset($login_projectTittle)){ echo "Click to see your projects"; ?> <br

请帮忙。我正在建立一个网站,人们可以上传他们的项目。我设计它的方式是一个人可以有多个项目。我对php相当陌生,我知道我发布了太多的代码,但我需要帮助

我已经能够使每个用户登录时动态显示项目标题。我的问题是如何让每个链接加载包含完整项目细节的页面。现在,无论单击什么标题,它都只显示第一个项目的详细信息。下面是个人资料页面

<?php if(isset($login_projectTittle)){
echo "Click to see your projects";
?>
<br><br><br><br><br>
<?php
$query = "SELECT * FROM fullprojectdetails WHERE user_id=$login_id";
if ($result=mysqli_query($connection,$query)){
if($count = mysqli_num_rows($result)){

/*  because of the mysqli_fetch_object function the variables have to be    $rowe->title (as an object) */
while($rowe = mysqli_fetch_object($result)){

?>
<?php $_SESSION['projectstuff'] = $rowe ->projecttitle; ?>
<?php $_SESSION['projectIdNew'] = $rowe ->projectid; ?>
<a href="project.php"><?php  echo $rowe ->projecttitle; ?></a>

<br>

<?php
}
/* mysqli_free_result frees p the result in the variable ths allowing for a new one each time */
mysqli_free_result($result);
}
}
}
else {echo "";}



                            ?>







我使用POST将数据发送到数据库

应该加载完整项目详细信息的页面是项目页面。此页面上显示的内容来自项目页面中包含的会话代码,并显示在下面

<?php
// Establishing Connection with Server by passing server_name, user_id and password as a parameter
require('databaseConnect.php');
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
// Selecting Database
require('databaseSelect.php');
session_start();// Starting Session
// Storing Session
$user_check=$_SESSION['login_user'];
// SQL Query To Fetch Complete Information Of User (MYSQL Inner Join used here) took hours to learn
$ses_sql=mysqli_query($connection, "select user.user_emailaddress, user.user_fullname, user.user_id, fullprojectdetails.fileToUpload, fullprojectdetails.projecttitle,
fullprojectdetails.projectcreated, fullprojectdetails.projectcategory, fullprojectdetails.projectcountry, fullprojectdetails.projectdetails,
fullprojectdetails.fundTime, fullprojectdetails.fundinggoal, fullprojectdetails.fileToUpload2, fullprojectdetails.name, fullprojectdetails.biography,
fullprojectdetails.yourlocation, fullprojectdetails.website, fullprojectdetails.fileToUpload3, fullprojectdetails.projectdetails2, fullprojectdetails.accountName, fullprojectdetails.bankName, fullprojectdetails.accountType,
 fullprojectdetails.accountNo,fullprojectdetails.user_id, fullprojectdetails.projectid from user inner join fullprojectdetails on user.user_id=fullprojectdetails.user_id  where user.user_emailaddress='$user_check'");
 //saving variables to be used in every page with session_new included
$row = mysqli_fetch_assoc($ses_sql);
$login_session =$row['user_emailaddress'];
$login_fullname =$row['user_fullname'];
$login_id =$row['user_id'];
$login_projectTittle = $row['projecttitle'];
$login_projectLocation = $row['yourlocation'];
$login_projectCategory = $row['projectcategory'];
$login_projectFundGoal = $row['fundinggoal'];
$login_projectSummary = $row['projectdetails'];
$login_projectWebsite = $row['website'];
$login_projectVideo = $row['fileToUpload3'];
$login_Pic = $row['fileToUpload2'];
$login_projectID = $row['projectid'];
$login_projectPic = $row['fileToUpload'];
$login_projectPic = $row['fileToUpload'];
$login_projectPic = $row['fileToUpload'];
$login_projectPic = $row['fileToUpload'];
$login_projectPic = $row['fileToUpload'];
$login_projectPic = $row['fileToUpload'];
$login_projectPic = $row['fileToUpload'];
$login_projectPic = $row['fileToUpload'];
$login_projectFullDet = $row['projectdetails2'];
if(!isset($login_session)){
mysqli_close($connection); // Closing Connection
header('Location: login.php'); // Redirecting To Home Page
}
?>

首先不要在会话变量上存储projectid和项目标题,在配置文件页面上,只需创建一个普通变量并将它们存储在该变量上,然后在链接到project.php时创建一个查询字符串,使用项目id,然后使用项目标题,ie
我相信,当您在会话中存储项目的id时,一旦您单击一个项目,无论您下一步单击哪个项目,浏览器都将始终使用该id,直到您取消/销毁会话(注销)

因此,在个人资料中:

<?php $_SESSION['projectstuff'] = $rowe ->projecttitle;?>
<?php $_SESSION['projectIdNew'] = $rowe ->projectid; ?>
<a href="project.php"><?php  echo $rowe ->projecttitle; ?></a>

应改为:

<?php $projectstuff = $rowe ->projecttitle; ?>
<?php $projectIdNew = $rowe ->projectid; ?>
<a href="project_details.php?projectid=<?php echo urlencode(base64_encode($projectIdNew));?>&projecttitle=<?php echo $projectstuff;?>"><?php  echo $rowe ->projecttitle; ?></a>

然后在projetc.php上

首先检查是否设置了id和标题,然后执行查询

你会这样做的

project.php

<?php
session_start();

//validate your sessions
if (isset($_GET['projectid']) && isset($_GET['projecttitle'])) {

    $currentProjectID = urldecode(base64_decode($_GET['projectid']));
    $projectTitle     = $_GET['projecttitle'];
?>
        <?php
    require 'logged-in-nav-bar.php';
?>

    <div id= "upperbodyproject">
        <div id= "projectheader">
            <h2>  <?php echo $projectTitle; //from the query string ?></h2>
        </div>

        <!-- get the details of this project -->

        <?php    
            $query = "SELECT * FROM fullprojectdetails WHERE projectid=$currentProjectID";

    // Continue your staff then

?>

</div><!-- upperbodyproject -->
    <?php
} else {

    echo "could not find project id";
}

?>


希望这将帮助您找到正确的方向,我建议您查看mysqli准备的语句,以及PDO准备的语句。

尽管我很想帮助您解决代码混乱的问题,但请只发布相关部分谢谢这非常有用。成功了。但我不得不搬走!从isset($_GET['projecttitle'])使其按要求工作。再次感谢你,尤其是我发送的乱七八糟的代码。哦,是的,你写的乱七八糟@Afe谢谢你这么做。。。如果答案有用,请投票并标出
<?php
session_start();

//validate your sessions
if (isset($_GET['projectid']) && isset($_GET['projecttitle'])) {

    $currentProjectID = urldecode(base64_decode($_GET['projectid']));
    $projectTitle     = $_GET['projecttitle'];
?>
        <?php
    require 'logged-in-nav-bar.php';
?>

    <div id= "upperbodyproject">
        <div id= "projectheader">
            <h2>  <?php echo $projectTitle; //from the query string ?></h2>
        </div>

        <!-- get the details of this project -->

        <?php    
            $query = "SELECT * FROM fullprojectdetails WHERE projectid=$currentProjectID";

    // Continue your staff then

?>

</div><!-- upperbodyproject -->
    <?php
} else {

    echo "could not find project id";
}

?>