“提交”用户名的表单和聊天室的文本似乎实际上并没有提交任何内容

zz2j4svz  于 2021-06-21  发布在  Mysql
关注(0)|答案(4)|浏览(302)

这个问题在这里已经有答案了

引用-这个错误在php中是什么意思(36个答案)
两年前关门了。
我为用户名和短信创建了一个表单,但是现在按submit实际上并没有提交任何东西,尽管它与我的登录和注册表单的代码很接近。代码:

<form id="myChatForm">
<input type= "text" placeholder= "Enter a name" name= "user_name" id= "user_name"><br>
<textarea placeholder= "type your message" name="message" id="message" cols="30" rows="3"></textarea><br>
<button type= "submit" name= "submit" value= "submit" class= "btn btn-succes btn-lg" id = "sendMessageBtn"> Send Message</button><br>
</form>
<?php
include("config.php");
if (isset($_POST['user_name']) && isset($_POST['message'])){
   if (isset($_POST['user_name'])) {
       $uname = ($_POST['user_name']);
    }
   if (isset($_POST['message'])) {
       $umessage = ($_POST['message']);
   }

   $query = "INSERT INTO chatroom (name, message) VALUES ('$uname', '$umessage')"; 
   $run = mysqli_query($con, $query);
   }
   ?>

因为据我所知,问题在于形式

if (isset($_POST['user_name']) && isset($_POST['message'])){

我会得到错误,说用户名和消息都是未定义的。

ia2d9nvy

ia2d9nvy1#

默认情况下,窗体的方法是get。您可以使用$\u get访问域,也可以将窗体的方法更改为post

<form id="myChatForm" method="POST">
ctrmrzij

ctrmrzij2#

<form id="myChatForm" method="POST" action="**??**">
...
</form

尝试将窗体“method”设置为post,并将“action”设置为希望窗体将值发布到的位置。

1l5u6lss

1l5u6lss3#

似乎您对html表单的工作方式有误解。
包含表单的网页和获取表单输入并对其执行操作的网页不是同一页/文件。表单网页通过使用 action 属性。
您可以将它们放在同一个html文件中,但我建议您先了解html表单如何与经典的“两个单独的文件”设计一起工作,然后再进一步使事情复杂化。

z31licg0

z31licg04#

向窗体中添加方法 method="post" ,在中搜索变量 $_POST[""] ,但默认情况下发送- GET ,所以写下:

<form id="myChatForm" method="post">

相关问题