2017-11-12 3 views
0

私はこのWebサイトで作業しています。このWebサイトでは、それらを送信したユーザーのフォームが印刷されています。私はFPDFを介してフォームのPDFを生成するためにボタン 'ビューフォーム'を使用しました。 私の問題は、私がクリックしたフォームを印刷できないことです。代わりに、提出した最後のフォームが生成されました。ここで コードは次のとおり Homepage.php:フィルタテーブルのidを入力として取得し、出力としてデータを取得する方法

<?php 

$connection = mysqli_connect('localhost','root','','logindb1'); 

$output=''; 
if(isset($_POST['submit1'])){ 
// storing session 
$username = $_SESSION['username']; 

$query = mysqli_query($connection,"SELECT * FROM users2 WHERE username LIKE 
'%$username%'") or die("Could not search!"); 
$count = mysqli_num_rows($query); 


if($count == 0){ 
    echo "There was no search result!"; 
} 
else{ 
    while($row=mysqli_fetch_array($query)){ 


echo '<table width = "30%" cellpadding = "2" cellspacing ="2" border = "2px"> 
       <tr> 
     <td><strong> ID</strong></td> 
     <td><strong> username</strong> </td> 

     <td><strong> EC. no</strong> </td> 

     <td><strong> Division</strong> </td> 
     <td><strong> ProjectCode</strong> </td> 

     <td><strong> date of journey</strong> </td> 
     <td><strong> return date</strong> </td> 
     <td><strong> From </strong> </td> 
     <td><strong> To</strong> </td> 
     <td><button type="submit" name="but" >view form</button></td> 
       </tr> 
       <tr> 
     <td> <input type="text" name="dbid" value='.$row['ID'].' size="4" readonly ></td> 
     <td>'.$row['username'].'</td> 

     <td>'.$row['ecno'].'</td> 

     <td>'.$row['division'].'</td> 
     <td>'.$row['code'].'</td> 


    if (isset($_POST['but'])){ 




    $dbid = mysqli_real_escape_string($db, $_POST['dbid']); 

    $_SESSION['dbid']= $dbid; 


    header('location: invoice.php'); 


} 
?> 

Invoice.php:Homepage.phpで

<?php 
session_start(); 



$db = mysqli_connect("localhost", "root", "", "logindb1"); 
if (mysqli_connect_errno()) 
{ 
echo "something went wrong with the connection" . mysqli_connect_error(); 
} 
    $dbid = $_SESSION['dbid']; 
    $query = mysqli_query($db,"SELECT * FROM users2 WHERE ID ='$dbid'"); 
    while($row=mysqli_fetch_array($query)){ 

     $ID =$row['ID']; 
     $username=$row['username']; 
     $email=$row['email']; 
     $ecno =$row['ecno']; 
     $gradepay=$row['gradepay']; 

iは入力されたIDとした入力テキストボックスと同じような出力IDを有しています。この方法は正しいですか?もっと効率的なものがありますか?助けてください。

答えて

0

これは、session_start()がないためです。あなたの最初のファイルで。

<?php 
session_start(); 

$connection = mysqli_connect('localhost','root','','logindb1'); 

セッションを設定する場合やセッションを設定する場合は、これを行う必要があります。

echo '<table width = "30%" cellpadding = "2" cellspacing ="2" border = "2px"> 
      <tr> 
    <td><strong> ID</strong></td> 
    <td><strong> username</strong> </td> 

    <td><strong> EC. no</strong> </td> 

    <td><strong> Division</strong> </td> 
    <td><strong> ProjectCode</strong> </td> 

    <td><strong> date of journey</strong> </td> 
    <td><strong> return date</strong> </td> 
    <td><strong> From </strong> </td> 
    <td><strong> To</strong> </td> 
    <td><button type="submit" name="but" >view form</button></td> 
      </tr> 
      <tr> 
    <td> <input type="text" name="dbid" value='.$row['ID'].' size="4" readonly ></td> 
    <td>'.$row['username'].'</td> 

    <td>'.$row['ecno'].'</td> 

    <td>'.$row['division'].'</td> 
    <td>'.$row['code'].'</td> </tr></table>'; 
+0

ちょっと:

はまた、あなたの文字列を閉じていなかった問題があります。私はそれをしましたが、私はまだ最後に提出されたフォームをクリックしたフォームの詳細を取得できません。 –

+0

$ _SESSION ['dbid']と$ rowに値がありますか? echo $ _SESSION ['dbid']で確認できます。とprint_r($行); –

関連する問題