我使用" 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
问题是我无法查看特定电子邮件的详细信息。如果有人能告诉我它是如何完成的话,我将不胜感激
答案 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>';
从此我的评论开始。 你给我的链接是这个
最后一部分。它应该是
?电子邮件=东西
相反,你得到了?对开=某事。我不明白,因为我们正在使用电子邮件。在此链接的链接中。看到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>";
}
请注意,上述代码没有实现任何安全性,即检查电子邮件是否存在。