Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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 建立一个;邮政ID“;注释离开系统的值_Php_Html_Comments - Fatal编程技术网

Php 建立一个;邮政ID“;注释离开系统的值

Php 建立一个;邮政ID“;注释离开系统的值,php,html,comments,Php,Html,Comments,我正在尝试将数字“post ID”值附加到注释,以便可以从数据库中检索它们并将其显示在适当的位置。如何在html表单中建立这个数值,作为发送到脚本并将其插入数据库的内容?我假设我需要使用GET或POST,但除了用户输入的文本之外,我不知道如何使用它们发送任何内容 这是我用来发送“姓名”和“评论”输入的表格: 名称 评论 将id放入表单中的隐藏字段中: <input type="hidden" name="post_id" value="id_goes_here" /> 如果您

我正在尝试将数字“post ID”值附加到注释,以便可以从数据库中检索它们并将其显示在适当的位置。如何在html表单中建立这个数值,作为发送到脚本并将其插入数据库的内容?我假设我需要使用GET或POST,但除了用户输入的文本之外,我不知道如何使用它们发送任何内容

这是我用来发送“姓名”和“评论”输入的表格:


名称

评论



将id放入表单中的隐藏字段中:

<input type="hidden" name="post_id" value="id_goes_here" />

如果您使用的是mysql,您不需要创建它,mysql可以在您插入新帖子时自动创建它

例如,我们可以创建一个表

CREATE TABLE `student` ( `student_id` INT( 3 ) NOT NULL AUTO_INCREMENT, `name` VARCHAR( 25 ) NOT NULL , `email` VARCHAR( 50 ) NOT NULL , UNIQUE ( `student_id` ) ); 创建表'student`( `学生id`INT(3)非空自动增量, `name`VARCHAR(25)不为空, `电子邮件'VARCHAR(50)不为空, 唯一(`student\u id`) ); 然后使用以下查询

INSERT INTO `student` ( `name` , `email` ) VALUES ( 'john', 'email' ); 在'student'('name','email')值中插入('john','email'); 如您所见,查询中未指定id,但字段具有AUTO_INCREMENT属性。当您插入一个没有id的学生时,它将获得最高id并添加一个。因此,如果您有空表并运行上面的insert查询,您将得到id为1、2和3的3行



更多信息请参阅mysql手册

p、 如果您使用的是不同的数据库,请指定哪个数据库

---编辑1--- 可能严重误读了问题(已经过了午夜,但这不是借口)
如果你想通过考试,你有几个选择 1.这里提到的是一个隐蔽的领域 2.如果您从另一个页面添加注释,则可以从comment.php?postid=13之类的内容中获取$_['postid'] 3.两者

但是不要忘记,在添加评论之前,该帖子是存在的

。。。我可以建议使用akismet库来减少垃圾邮件吗?


当你在wordpress.com注册时,你可以免费获得一个密钥。我建议不要将ID作为表单的一部分,而只使用数据库的自动增量功能。

既然你用PHP标记了这个问题,我猜这就是你在后端使用的语言。我所做的另一个假设是,您实际使用postID格式化您的请求查询字符串,类似于“”,请注意查询字符串中的postID,您只需将其传递,如下所示:

 <div class="comments">
 <form action="foxpost.php?postID=<%= $_GET['postID'] %>" method="post">

 <label for="name">Name</label><br>
 <input id="name" name="name" type="text" /><br>
 <label for="message">Comment</label><br>
 <textarea class="message" id="message" name="message"></textarea><br><br>

 <input type="Submit" value="Post Comment" />
 </form>
 </div>

名称

评论


使用

<%= $_GET['postID'] %>


只需将查询字符串中的posted直接回显到HTML中,也可以将其分配给变量

@Jimmy:请记住,虽然字段是隐藏的,但用户可以使用诸如等工具更改隐藏字段的值。这是不安全的。如果要从php生成id,则应在发送sql之前执行此操作,当您解析来自$_POST的注释并以友好方式创建值时,不将其公开给浏览器。OP希望将用户正在评论的帖子的id传递回服务器,如果你使用的是MySQL,它将是MySQL_insert_id()函数,在上面@vlad概述的insert语句之后调用。。。谢谢你,唐,忘了提那件事了。
<%= $_GET['postID'] %>