Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在不使用会话的情况下以html格式显示数据库中的数据_Php_Html_Session_Echo - Fatal编程技术网

Php 如何在不使用会话的情况下以html格式显示数据库中的数据

Php 如何在不使用会话的情况下以html格式显示数据库中的数据,php,html,session,echo,Php,Html,Session,Echo,我想知道是否有一种方法可以在不使用会话的情况下以html格式显示/显示数据库中的数据。例如,我有一个函数SelectMember,它将从成员表中选择一个成员,然后我想以html格式将该成员的详细信息显示为echo。有没有一种不用session的方法可以做到这一点?我可以用session来做,但这次我尽量不使用session。我所说的函数来自一个单独的页面,我包含在html的索引中。在html中,我想显示详细信息。如有任何建议,我们将不胜感激 我尝试在html中调用该函数,然后将变量放入echo中

我想知道是否有一种方法可以在不使用会话的情况下以html格式显示/显示数据库中的数据。例如,我有一个函数
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中