Php 如何在不使用会话的情况下以html格式显示数据库中的数据
我想知道是否有一种方法可以在不使用会话的情况下以html格式显示/显示数据库中的数据。例如,我有一个函数Php 如何在不使用会话的情况下以html格式显示数据库中的数据,php,html,session,echo,Php,Html,Session,Echo,我想知道是否有一种方法可以在不使用会话的情况下以html格式显示/显示数据库中的数据。例如,我有一个函数SelectMember,它将从成员表中选择一个成员,然后我想以html格式将该成员的详细信息显示为echo。有没有一种不用session的方法可以做到这一点?我可以用session来做,但这次我尽量不使用session。我所说的函数来自一个单独的页面,我包含在html的索引中。在html中,我想显示详细信息。如有任何建议,我们将不胜感激 我尝试在html中调用该函数,然后将变量放入echo中
SelectMember
,它将从成员表中选择一个成员,然后我想以html格式将该成员的详细信息显示为echo。有没有一种不用session的方法可以做到这一点?我可以用session来做,但这次我尽量不使用session。我所说的函数来自一个单独的页面,我包含在html的索引中。在html中,我想显示详细信息。如有任何建议,我们将不胜感激
我尝试在html中调用该函数,然后将变量放入echo中,但变量未定义
问题是如何在不使用会话的情况下修复未定义的变量问题
更新
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>
函数EventMember(){
全球$胸径;
如果(!空($\u POST['membername'])){
$membername=trim($_POST['membername']);
$stmt=$dbh->prepare(“从mem_name=?”的成员中选择*”;
$stmt->bindValue(1,$membername);
$stmt->execute();
$selected_row=$stmt->fetch(PDO::fetch_ASSOC);
如果($selected_行){
$\会话['id']=$选定的\行['mem\u id'];
$_SESSION['name']=$selected_行['mem_name'];
$_SESSION['age']=$selected_行['mem_age'];
$\会话['address']=$选定的\行['mem\ u address'];
$_SESSION['sex']=$selected_row['mem_sex'];
//$memid=$selected_行['mem_id'];
//$memname=$selected_行['mem_name'];
//$memage=$selected_行['mem_age'];
//$memaddress=$selected_行['mem_address'];
//$memsex=$selected_行['mem_sex'];
标题(“位置:searchresult.php”);
出口
}否则{
回显“未找到成员”;
}
}否则{
echo“名称为空”;
}
}
名称
另一个更新:所以你想在不使用会话的情况下将数据发送到另一个页面
最简单的方法是将header()语句更改为包含get参数。但是如果数据是敏感的,你不能这么做
header("Location: searchresult.php?name=".$selected_row['mem_name']);
然后在第二页,只需使用echo-isset($\u-GET['name'])$_获取['name']:“”代码>-请确保清理数据
除此之外,你将变得更加复杂,你试图如何做到这一点-如果上述不适合你,我强烈建议你采取不同的做法
更新:现在代码已经提供,我将把它添加到我的原始答案中
由于您不在试图访问的变量的范围内,因此会出现未定义的错误。您需要将html向上移动到if语句中。我这样做是为了你,但你应该用echo语句更好地格式化它
另外,您以前在if语句中有一个header()命令。如果不使用session或其他方法使重定向到的页面可以访问变量的值,则此操作将不起作用
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";
}
}
if($selected\u行){
回声'
名称
';
}否则{
回显“未找到成员”;
}
}否则{
echo“名称为空”;
}
}
旧答案:
检索数据时不使用会话,除非将数据存储在会话中并调用该会话
您不需要通过会话访问它,不过最好将它存储在某个地方(如…会话),而不是重复查询数据库。不需要使用会话来检索数据。会话仅用于存储用于应用程序级访问的数据。您提到了html是.html还是PHP页面?PHP还是html如果可能的话是可能的,如何实现?首先了解PHP和html的区别。它们的区别和局限性。它将回答你的问题。我使用php获取数据,然后使用html显示ui部分,我使用html显示所有用户界面,这就是为什么我使用html显示数据,我想在htmlHazy问题中回显数据。。。我回答了,但请参考帮助文档中有关编写适当问题的内容。如果我不使用会话,则变量将始终未定义。这是我想了解如何修复的问题。请发布您当前的代码。如果您正在执行mysql查询并获取返回的数据,那么这个变量就不会是未定义的。它是在php端定义的,但是在html中它是未定义的,等待我发布的更新code@I--我根据您对问题所做的编辑以及您发布的代码更新了我的答案。我正在检查,先生,我将就此与您联系。这是html中的代码,而不是数据库中的代码对..我在上面提到这两个文件是分开的,您考虑过吗?select语句在crud.php中,而echo在index.php中