2016-08-28 9 views
1

セッション変数を使用してpage1.phpからpage2.phpに値を渡したいと思います。しかし、私はまだ成功していません。 page2.phpに1つの名前(クリックされた名前)しか表示されず、page1.phpのすべての名前が表示されます。ここに私のコードは、セッションを使用してpage1.phpからpage2.phpに値を渡す

<?php 
session_start(); 
?> 
    <div class="heading6"> 
     <h1> 
     <?php 
     if(count($_SESSION['uname'])>0) 
     { 
     foreach ($_SESSION['uname'] as $uname) 
     { 
     echo $uname; 
     } 
     }  
     ?> 
     </h1></div> 

page1.php

<?php 
session_start(); 
$name_data = array(); 
?> 
<?php 
include('dbase.php'); 

// get the records from the database 
if ($result = $mysqli->query("SELECT * FROM notes WHERE categoryname='Humanities' ORDER BY noteid")) 
{ 
// display records if there are records to display 
if ($result->num_rows > 0) 
{ 
while ($row = $result->fetch_object()) 
{ 
?> 
<div class="vdo-list"> 

<div class="vdo-title"><a href="preview.php"> 
<?php 
$name_data[] = $row->notename; 
echo "<h3>" .$row->notename. "</h3>"; 
?> 
</div></a> 
<? 
$_SESSION['uname'] = $name_data; 
?> 

page2.phpは、誰もが私が間違っているのかを指し示していただけますか?どんな努力も高く評価されます。

+0

ここでセッションは$ _GETメソッドを使用する必要はありませんgetメソッドを使用して、あるページから別のページにデータを簡単に渡すことができます。 – Bhavin

+0

@Bhavinありがとうございます。セッション変数をget変数で置き換える場所を親切に指定します。 –

答えて

-1

が、ここで完璧に動作答えは、

page1.php

<?php 
$_SESSION['uname'] = $row->notename; 
echo '<h3><a href="preview.php?name='.$row->notename.'">'.$row->notename.'<h3></a>'; 
?> 

page2.php

<?php 
include ('dbase.php'); 
     if(count($_SESSION['uname'])>0) 
    { 
     if($uname = $mysqli->query("SELECT * FROM `notes` WHERE `notename`='".$_GET['name']."'")) 
     { 
     $row=mysqli_fetch_array($uname,MYSQLI_ASSOC); 
    // $result=$uname->fetchAll(PDO::FETCH_ASSOC); 
    //foreach ($result as $row) 
    //{ 
    echo $row['notename']; 
    //} 
    }  
    } 
    ?> 
0

私はすべての結果をセッションに保存する必要はないと思います。 2番目のページで照会と選択を行うには、$_GETを使用したい行だけを継承することができます。

foreach ($_SESSION['uname'] as $uname) { 
    if ($uname == $_GET['name']) { 
     echo $uname; 
    } 
} 

EDIT:

渡すあなたがセッション配列でチェックしてのみ、この項目を表示することができます「name」クリックしたリンクは、パラメータを持っていると仮定し、ここで使用しているものについては

リンクのパラメータ。ループでは、追加することができます。

最後に
echo '<a href="page2.php?name='.$row->notename.'">'.$row->notename.'</a>'; 
+0

私の質問に興味をお持ちいただきありがとうございます。私は非常にphpに緑ですので、親切にリンクにパラメータを追加する方法を私に示す場合は、非常に便利です。 –

+0

残念ながら、それは問題を解決しません。私は 'undefined index $ uname errors'を得る。しかし、試していただきありがとうございます。 –

+0

$ unameを$ row-> notenameに置き換えて、もう一度やり直してください。それを少しカスタマイズする必要があります。 –

関連する問題