2014-09-03 95 views
-3

我想知道是否有一种方法来显示/显示数据库中的数据在html中,而不使用会话..例如,我有一个功能SelectMember,将选择一个成员成员表,然后我想在HTML中显示此成员的详细信息作为回声。有没有办法做到这一点,而不使用会话?我能够做到这一点与会议,但尽可能多我不想在这个时候使用会话..我谈论的功能是从一个单独的页面,我包括在html的索引。在html中,我想显示细节。任何建议表示赞赏如何在html中显示数据库中的数据不使用会话

我试图调用该函数在html然后我把回声的变量,但在不确定的

问题的变量是如何解决的不确定变量的问题,而无需使用会话

update

function EventMember(){ 
    global $dbh; 
    if(!empty($_POST['membername'])){ 
     $membername = trim($_POST['membername']); 
     $stmt = $dbh->prepare("SELECT * FROM member WHERE mem_name = ?") ; 

     $stmt->bindValue(1,$membername); 
     $stmt->execute(); 
     $selected_row = $stmt->fetch(PDO::FETCH_ASSOC); 
     if($selected_row){ 
      $_SESSION['id'] = $selected_row['mem_id']; 
      $_SESSION['name'] = $selected_row['mem_name']; 
      $_SESSION['age'] = $selected_row['mem_age']; 
      $_SESSION['address'] = $selected_row['mem_address']; 
      $_SESSION['sex'] = $selected_row['mem_sex']; 

      //$memid = $selected_row['mem_id']; 
      //$memname = $selected_row['mem_name']; 
      //$memage = $selected_row['mem_age']; 
      //$memaddress = $selected_row['mem_address']; 
      //$memsex = $selected_row['mem_sex']; 
      header("Location: searchresult.php"); 
      exit; 
     }else{ 
      echo "No member found"; 
     } 
    }else{ 
     echo "name is empty";  
    } 
} 



<tr> 
    <td valign="top"> 
     <label for="name">name</label> 
    </td> 
    <td valign="top"> 
     <input type="text" name="name" maxlength="50" size="30" value="<?php echo $memname;?>"> 
    </td> 

如果我取消注释$memname数据库侧并使用它,它是不确定的,但如果我使用$_SESSION['name']它会显示结果那么如何解决这个问题

+0

你提到的html是.html还是PHP页面? – 2014-09-03 04:41:05

+0

php或html是否有可能如何? – Giant 2014-09-03 04:41:44

+0

首先学习PHP和HTML的区别。它们有何不同和局限性。它会回答你的问题。 – tomexsans 2014-09-03 04:42:39

回答

0

另一个更新:所以,你要发送数据到另一个页面,而无需使用会话...

的最简单的方法是将您的header()语句更改为包含get参数。但是,如果数据是敏感的,你不能这样做......

header("Location: searchresult.php?name=".$selected_row['mem_name']); 

然后在第二页上,只需使用echo isset($_GET['name']) ? $_GET['name'] : ""; - 确保虽然消毒数据。

除此之外,你将如何更加复杂地试图做到这一点 - 如果上述不适合你,我强烈建议你采用不同的方法。

...

更新:现在提供的代码,我加入这我原来的答复...

因为你是可变的范围之外你得到一个未定义的错误你正在尝试访问。您需要将html移动到if语句中。我为你做了这个,但你应该用echo语句更好地格式化它。

另外,您之前在该if语句中使用了header()命令。如果你不使用会话或其他东西,这样你的重定向页面就可以访问变量的值,这是行不通的。

if ($selected_row){ 

    echo '<tr> 
<td valign="top"> 
    <label for="name">name</label> 
</td> 
<td valign="top"> 
    <input type="text" name="name" maxlength="50" size="30" value="'.$selected_row['mem_name'].'"> 
</td>'; 

     } else { 
      echo "No member found"; 
     } 
    } else { 
     echo "name is empty";  
    } 
} 

...

老答案:

您检索数据,而会话,除非你存储在会话中的数据,并调用了这一点。

你不需要需要通过会话访问它,虽然它最好将它存储在某个地方(比如... session)而不是重复查询数据库。

+0

如果我不使用会话,那么变量将永远是未定义的,这是我想了解如何解决的问题 – Giant 2014-09-03 04:45:30

+0

请发布您的当前代码。如果你正在执行一个mysql查询并获取返回的数据,那么该变量将不会被定义。 – Chad 2014-09-03 04:46:57

+0

它是PHP的定义,但是当它在html中时,它是未定义的等待更新我将发布代码 – Giant 2014-09-03 04:48:03

0

没有必要使用会话来检索数据。会话仅用于存储应用程序级别访问的数据。

相关问题