【发布时间】:2018-08-12 08:03:25
【问题描述】:
好的,所以我搜索了一下,似乎找不到任何我正在寻找的东西。
我正在努力完成的背景: 我有一个不需要登录信息的网站,因为它是一个机密网站,我不希望发布任何链接到任何 ONE 帐户的内容。所以我计划这项工作的方式是每当有人创建帖子时,您必须填写表格,例如...标题 - 信息 - 密码(简单的单词) - 密码(5位数字)从 10000 - 99999).
现在可以稍后访问的原因是,他们可以在创建帖子后编辑或删除帖子,而无需如上所述链接帐户来识别他们。
我有简单的以下代码来编辑代码,但我如何让它说 (passPhrase 和 passCode) 必须匹配以提取相关数据?在我进入编辑页面输入正确信息之前,我会有一个表格。
进入编辑页面的表单
<div id="form-holder">
<form action="function/example.php" method="post">
<h3>Pass ID:</h3>
<input type="text" name="ID" id="ID">
<h3>Passcode:<br /></h3>
<input type="text" name="passcode" id="passcode">
<p><input class="button" type="submit" value="Edit"></p>
</form>
</div>
编辑页面:
<?php
$server = "*****";
$user = "*****";
$pass = "*****";
$dbname = "*****";
//Creating connection for mysqli
$conn = new mysqli($server, $user, $pass, $dbname);
//Checking connection
if($conn->connect_error){
die("Connection failed:" . $conn->connect_error);
}
$article_id = $_GET['id'];
if( ! is_numeric($article_id) )
die("Looks like you are lost! <a href='#'>Back to Home</a> ");
$query = "SELECT * FROM `DBname` WHERE `ID` =$article_id LIMIT 0 , 30";
$comments = mysqli_query($conn,$query);
while($row = mysqli_fetch_array($comments, MYSQL_ASSOC))
{
$title = $titleHere['title'];
$info = $infoHere['info'];
$title = htmlspecialchars($row['title'],ENT_QUOTES);
$info = htmlspecialchars($row['info'],ENT_QUOTES);
echo "<form action='function/update-post.php?id=$article_id' method='post'>";
echo "<h3>Title:</h3>";
echo "<input type='text' name='title' id='title' value='$title'>";
echo "<h3>info:</h3>";
echo "<textarea name='info' id='info'>$info</textarea>";
echo "<p><input class='button' type='submit' value='Update'></p>";
echo "</form>";
}
?>
我找到了许多关于基于帐户的解决方案的指南,我想这就是这个请求不同的原因,因为没有帐户。而且用户确实没有能力知道帖子的Key ID。
我们将不胜感激,希望其他人能从中受益。
【问题讨论】:
-
只需在包含帖子数据的行上保存密码的hash?在更新表格之前首先检查密码和/或密码是否正确。
-
假设您的用户将发布文章 - 只是一个示例,.为用户创建一个表单以编写文章并附加自动凭据生成器,例如用户 ID 和密码,但您需要向用户询问您将发送访问密钥的电子邮件地址。要访问那里的作品,一个简单的链接将起作用并使用登录表单限制页面,以便该作品的所有者可以编辑它或做任何事情。我想你明白了。
-
除了我不希望以任何方式将用户链接到他们创建的帖子之外,这将起作用。