显示特定用户的详细信息

时间:2014-09-17 10:00:01

标签: php mysql sql-server database phpmyadmin

我使用" sessions"制作了登录和退出表单。有2个用户管理员和零售商。管理员登录后,他可以看到在其网站上创建帐户的零售商列表。

我使用以下代码显示了列表

<?php
con=mysqli_connect("abc.com","abc","abc","abc");
// Check connection
if (mysqli_connect_errno()) 
 {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }
   $result = mysqli_query($con,"SELECT * FROM retailerregister");
   echo "<table id='admin'>
         <tr>
     <th>ID</th>
     <th>Name</th>
     <th>Email</th>

     </tr>";
   while($row = mysqli_fetch_array($result)) 
    {
      echo "<tr>";
      echo "<td>" . $row['id'] . "</td>";
      echo "<td>" . $row['name'] . "</td>";
      echo "<td><a href='admin_view_retailer_profile.php'>" . $row['email'] . "</td>";

      echo "</tr>";
    }
      echo "</table>";
mysqli_close($con);
?>

显示的页面如下所示

ID  Name             Email   
1   retailer1   email1@gmail.com
2   retailer2   email2@gmail.com

当管理员点击电子邮件时,它会被重定向到另一个页面,即admin_view_retailer_profile.php,该页面应显示与该特定电子邮件相关的详细信息。本页代码的一部分是

$result = mysqli_query($con,"SELECT * FROM retailerregister where email='email'");
while($row = mysqli_fetch_array($result)) 
{
echo "Name: " . $row['name'] . "<br>";
echo "Email: " . $row['email'] . "<br>";
echo "Phoneno: " . $row['phoneno'] . "<br>";
echo "Country: " . $row['country'] . "<br>";
echo "Street: " . $row['street'] . "<br>";
echo "City: " . $row['city'] . "<br>";
echo "State: " . $row['state'] . "<br>";
echo "Zipcode: " . $row['zipcode'] . "<br>";                
}

数据库视图

id  name       email             password  phoneno   country   street   city   state   zipcode
1   retailer1  email1@gmail.com  email1    phoneno1  country1  street1  city1  state1  zipcode1
2   retailer2  email2@gmail.com  email2    phoneno2  country2  street2  city2  state2  zipcode2

问题是我无法查看特定电子邮件的详细信息。如果有人能告诉我它是如何完成的话,我将不胜感激

2 个答案:

答案 0 :(得分:0)

替换此行

echo "<td><a href='admin_view_retailer_profile.php'>" . $row['email'] . "</td>";

echo '<td><a href=\'admin_view_retailer_profile.php?email='.$row['email'].'\'>'.$row['email']. '</td>';

从此我的评论开始。 你给我的链接是这个

  

http://ww2.company.in/?folio=7PO8W4MMJ;

最后一部分。它应该是

  

?电子邮件=东西

相反,你得到了?对开=某事。我不明白,因为我们正在使用电子邮件。在此链接的链接中。看到echo语句。这是我们提供的链接。

href=\'admin_view_retailer_profile.php?email='.$row['email'].'\'>

第二点是你检查链接。没有admin_view_retailer。您在评论部分中给我的链接。所以我对此感到有点困惑。因为我测试了我的localhost中的代码。它的工作原理。尝试新的echo语句。如果它仍然不起作用,您需要与您的服务对话。供应商。因为我什么都做不了。

因为我给你的解决方案很好。我检查了一下。如果你想,你也可以检查你的本地服务器。

新评论现在结束。 如果陈述是最后一个,请带上你的查询

if(isset($_GET['email']))

{
$email=$_GET['email'];
    //change this line in your query as well
$result = mysqli_query($con,"SELECT * FROM retailerregister where email='email'");

//To

$result = mysqli_query($con,"SELECT * FROM retailerregister where email='$email'");
}

答案 1 :(得分:0)

要获取与该特定电子邮件相关的详细信息,其中一种方法是通过URL提供该电子邮件。 例如: - 查看下面的代码

<?php
con=mysqli_connect("abc.com","abc","abc","abc");
// Check connection
if (mysqli_connect_errno()) 
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM retailerregister");
echo "<table id='admin'>
     <tr>
 <th>ID</th>
 <th>Name</th>
 <th>Email</th>

 </tr>";
while($row = mysqli_fetch_array($result)) 
{
  echo "<tr>";
  echo "<td>" . $row['id'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td><a href='admin_view_retailer_profile.php'>" . $row['email'] . "</td>";
  echo "</tr>";
}
  echo "</table>";
mysqli_close($con);
?>

在上面的代码中, admin_view_retailer_profile.php 不知道提取的电子邮件 所以改变是下面给出的代码。

echo "<table id='admin'>
     <tr>
 <th>ID</th>
 <th>Name</th>
 <th>Email</th>

 </tr>";
while($row = mysqli_fetch_array($result)) 
{
  echo "<tr>";
  echo "<td>" . $row['id'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td><a href='admin_view_retailer_profile.php?email=<?php echo $row['email'];?>'>" . $row['email'] . "</td>";
  echo "</tr>";
}
  echo "</table>";

现在 admin_view_retailer_profile.php 更改为 admin_view_retailer_profile.php?email=email1@gmail.com

admin_view_retailer_profile.php 上首先检查是否已设置$ _GET ['email']变量。如果已设置,则继续查询数据库。 例如: -

if(isset($_GET['email'])){
$email = $_GET['email'];


$result = mysqli_query($con,"SELECT * FROM retailerregister where email={$email}");
while($row = mysqli_fetch_array($result)) 
{
echo "Name: " . $row['name'] . "<br>";                 
}

请注意,上述代码没有实现任何安全性,即检查电子邮件是否存在。