2017-02-22 7 views
0

助けてください。私は人々がプロジェクトをアップロードできるウェブサイトを構築しています。私は、1人の人が複数のプロジェクトを持つことができるように設計しました。私はPHPにかなり新しく、私はあまりにも多くのコードを投稿したが、私は助けが必要だと知っているダイナミック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 
} 
?> 

の下に表示されたセッションコードから引き出されているプロジェクトのページのコード

<?php 
include('session_new.php'); 
/*echo $_SESSION['projectstuff']; 
if (isset($_POST['profile_btn'])){*/ 
/* if (isset ($_SESSION['projectstuff'])){ 
     $ses_sql=mysqli_query($connection, "select * from fullproject where projecttitle='{$_SESSION['projectstuff']}");*/ 
?> 
<!DOCTYPE html> 
<html> 

<body> 

<!--require for the nav var--> 
<?php require 'logged-in-nav-bar.php';?> 

<div id= "upperbodyproject"> 
    <div id= "projectheader"> 
    <h2> <?php echo $login_projectTittle; ?><h2> 
    </div> 
     <!-- video and funder div--> 
      <div id = "vidFundCont"> 
      <div id = "video"> 
      <video width='100%' height='100%' controls> <source src="<?php echo $login_projectVideo ?>" type='video/mp4'>Your browser does not support the video tag.</source></video> 
      </div> 
      <div id = "funders"> 
      <p> <strong> 20 </strong> <br> <br><span>funders </span> </p> <br> <br> <br> 
      <p> </p><br> 
      <p> <span>funded of N<?php echo $login_projectFundGoal ; ?> </span><p><br> <br> <br> 
      <p><strong> 15 </strong> <br> <span> <br> days left </span></p><br> <br> <br> 
      <button id = "projectPageButton"><a href = "fund.php"> Fund This Project </a></button> 
      </div> 
      <div id = "clearer"></div> 
      </div> 
      <!-- location and project condition --> 
       <div id = "location"> 
       <p> Location: <?php echo $login_projectLocation ; ?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Category:<?php echo $login_projectCategory ; ?> </p> 
       </div> 
       <div id ="projectconditions"> 
       <p> This project will only be funded if N<?php echo $login_projectFundGoal ; ?> is funded before the project deadline</p> 
       </div> 
       <div id = "clearer"> </div> 
       <!--project summary and profile --> 
        <div id = "nutshell"> 
        <p><?php echo $login_projectSummary ; ?> </p> <br> <br> 
        <span>Share:</span> &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp<a href =# ><img src="images/1484370173_facebook.png" alt="facebook logo" height="42" width="42"> </a> &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 
        <a href =# ><img src="images/1484370205_twitter.png" alt="twitter logo" height="42" width="42"></a>&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 
        <a href =# ><img src="images/1484370192_instagram.png" alt="instagram logo" height="42" width="42"></a> &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 
        </div> 
        <div id = "projProfile"> 
         <div id = "projProfileTop"> 
         <img src="<?php echo $login_Pic ; ?>" width = "50%" height = "100%"> 
         </div> 
          <div id ="projProfileBottom"> 
          <br> 
          <p id = "profileNameStyle"> Name: <?php echo $login_fullname; ?> </p> <br> 
          <p> Website: <?php echo $login_projectWebsite ; ?> </p> <br> 
          <p> Email: <?php echo $login_session; ?> </p> 
          </div> 
        </div> 
        <div id = "clearer"> </div> 
        <!-- about and reward title --> 
         <div id = "aboutProjH"> 
         <h2> About This Project </h2> 
         </div> 
         <div id = "rewardH"> 
         <h2> Rewards For Supporting This Project</h2> 
         </div> 
         <div id = "clearer"> </div> 
         <!--project pic and dynamic rewards--> 
          <div id = "projPic"> 
          <img src="<?php echo $login_projectPic;?>" width = "100%" height = "100%"> 
          </div> 


             <div id = "rewardDet"> 
              <br> 
              <span><?php echo $login_projectFullDet; ?> </span> 
             </div> 
             <div id = "clearer"> </div> 




          <div id = "clearer"> </div> 
          <!-- project details and empty divs --> 
          <?php 

          // code to select content form database and display dynamically in a div 
           $query = "SELECT * FROM reward 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)){ 
             ?> 
           <div id = "projDet"> 


           <p> <h2><?php echo "N".$rowe->pledgeAmount. " " . "or more"; ?></h2></p> <br> 
           <p><span> <br><?php echo $rowe ->title; ?></span></p> <br> 

           <p> <span><?php echo $rowe ->description; ?></span></p> <br> 
           <p> <span>Estimated Delivery Time: <br> <?php echo $rowe ->deliverytime . " ". $rowe ->deliveryyear; ?></span></p> <br> 
           <p> <span><?php echo $rowe ->shippingdetails; ?></p></span> <br> 
           <p> <span>Number of Rewards Available: <br><?php echo $rowe ->reward1No; ?></span></p> 


           </div> 
           <!--<div id = "bsideProjDet"> 
           </div> --> 
           <div id = "clearer"> </div> 
           <?php 
          } 
          /* mysqli_free_result frees p the result in the variable ths allowing for a new one each time */ 
          mysqli_free_result($result); 
         } 
        } 

        /* display dynamic form */ 
        /*$s_sql=mysqli_query($connection, "SELECT * FROM reward WHERE user_id=$login_id"); 
$rowe = mysqli_fetch_assoc($s_sql); 
?> 
      <?php echo $rowe['title']; ?><br><br> 
      <?php echo $rowe['pledgeAmount']; ?><br><br> 
    <?php echo $rowe['description']; ?><br><br> 
<?php echo $rowe['deliverytime']; ?><br><br> 
<?php echo $rowe['deliveryyear']; ?><br><br> 
<?php echo $rowe['shippingdetails']; ?><br><br> 
<?php echo $rowe['reward1No']; ?><br><br> */ 
?> 
            <div id = "reportProj"> 
            <button id = "projectPageButton"> Report This Project To Gbedion</button> 
            </div> 
            <!--<div id = "bsideReportProj"> </div>--> 
            <div id = "clearer"> </div> 
     <!-- </div> --> 
</div> 
<?php 
/*} 
} 
else { 
    echo "Select a project"; 
}*/ 
?> 

<!-- page footer--> 
<?php require 'logged-in-footer.php';?> 
</body> 

</html> 

プロジェクトIDが主キーでありますユーザーIDはfullprojectdetails表の外部キーです。より多くのデータベースの詳細が必要な場合はお知らせください。この問題のためにこのプロジェクトを1ヶ月放棄しなければなりませんでした。

+0

私はあなたのコードが混乱しているのを助けたいと思っています。関連する部分だけを投稿してください。 –

答えて

0

最初にプロジェクトIDとプロジェクトタイトルをセッション変数にプロファイルページに保存せず、通常の変数を作成してその変数に保存してから、project.phpにリンクすると、プロジェクトのID、プロジェクト名、つまり<a href="project.php?id=DynamicId&title=DynamicTitle">Dynamic Project Title</a>セッションのプロジェクトのIDを保存すると、プロジェクトを1回クリックすると、次のプロジェクトをクリックしてもブラウザは常にそのIDを使用します、あなたがセッションの設定を解除/破壊するまで(ログアウト)。

プロファイル上でこの前面が

:あなたはまず、IDのISSETともタイトルかどうかを確認projetc.php

に続いて

<?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> 

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

がに変わりますあなたの質問をしてください

これはあなたがそれを行う方法です

0これが正しい方向にポイントにあなたを助ける

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で書類を作成することをお勧めします。

+0

ありがとう、これはとても役に立ちました。出来た。しかし、私は削除する必要があった! isset($ _ GET ['projecttitle'])を使って、必要に応じて動作させます。私が送った乱雑なコードに特に感謝します。 – Afe

+0

ああ、あなたはそこに混乱を作っている..あのスポーツのために感謝しています...あなたが役に立ったら答えをアップアップしてマークしてください –

関連する問題