1

此脚本显示来自用户输入的特定电子邮件地址的数据。

下面的代码片段在页面顶部的文本字段中显示数据,但是我想在文本正文的文本字段中显示数据。

echo '<input name="login" type="text" value="' . $result['name'] . '>';

我在上面的代码中做了什么改变才能做到这一点。

<?php

$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name="orders"; // Table name  

$email = $_POST['textfield'];


        $db = new PDO('mysql:host='.$host.
                          ';dbname='.$db_name.
                          ';charset=UTF-8',
                    $username, $password);
        $stmt = $db->prepare('SELECT * FROM `orders` WHERE `email`=:email LIMIT 1');
        $stmt->bindValue(':email', $email, PDO::PARAM_STR);
        $stmt->execute();
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
    if($stmt->rowCount()>0)
{
echo '<input name="login" type="text" value="' . $result['name'] . '>';
}
else
{
    echo "Email not found in the database!";
}


  ?>

形式:

<form id="form_53" name="login" action="test.php">

   <input type="submit" value="Track">
   <input type="text" username="textfield" value="">
   <input type="text" name="name" value="<?php echo $result['name']?>"> //I want to display results here

</form>
4

4 回答 4

2

如果两个代码都存在于同一个文件中..这将起作用

<input type="text" name="name" value="<?php echo $result['name']?>">

如果你想检查是否有返回的行,你可以使用

<input type="text" name="name" value="<?php echo ($stmt->rowCount()>0) ? $result['name'] : "" ?>">

编辑了代码,这样你就知道你到底想做什么

第一:替换此代码

if($stmt->rowCount()>0)
{
    echo '<input name="login" type="text" value="' . $result['name'] . '>';
}
else
{
    echo "Email not found in the database!";
}

只要保持$result = $stmt->fetch(PDO::FETCH_ASSOC);

 if($stmt->rowCount()<=0) echo "Email not found in the database!";

第二:现在在 HTML 部分

<input type="text" name="name" value="<?php echo ($stmt->rowCount()>0) ? $result['name'] : "" ?>">
于 2013-04-30T19:58:11.183 回答
1

只要你不破坏$result,你可以这样做:

<input type="text" name="name" value="<?php echo $result['name']; ?>"> //I want to display results here
于 2013-04-30T19:58:52.710 回答
0
echo '<input name="login" type="text" value="' . $result['name'] . '">';

echo只需在'd 字符串中添加双引号即可。

于 2013-04-30T20:01:51.643 回答
0

这很容易实现。当然,请确保 $results 数组包含在您正在处理的所需 HTML 页面的会话中。

<form id="form_53" name="login" action="test.php">

  <input type="submit" value="Track">
  <input type="text" username="textfield" value="">
  <input type="text" name="name" value="<?php echo $results['name']?>"> //I want to display results here

</form>
于 2013-04-30T20:07:05.513 回答