【问题标题】:How do I use HTML & PHP forms to insert data into a database?如何使用 HTML 和 PHP 表单将数据插入数据库?
【发布时间】:2015-02-27 06:36:06
【问题描述】:

所以我实际上并不确定我做错了什么,我确信这只是一些小错误,但我似乎无法让提交按钮获取表单中的信息并将其发送到数据库。

这是我的代码的样子。

这样我就可以成功连接到数据库了:

<?php

$mysql_host = 'localhost';
$mysql_pass = '';
$mysql_user = 'root';``

$mysql_db = 'blog';

if (! @mysql_connect($mysql_host, $mysql_user, $mysql_pass) || ! @mysql_select_db($mysql_db)){
die('Error');
}

?>

我可以通过将表格打印到屏幕上来查看表格的内容。

我相信问题出在这个简单的 html 表单中:

            <form action="index.php" method = "post">


            <div class="ui form">
                <div class="field" name = "title">
               <label>Title</label>
                <input type="text">
            </div>
              <div class="field" name = "post">
                <label>New Post</label>
                <textarea></textarea>
              </div>
            </div>
            <br>
            <div class="ui submit button" name = "submit">Submit New Post</div>


        </form>

我只是好奇应该使用哪个 php 代码来连接此表单,以便能够将表单的内容发送到数据库。

【问题讨论】:

  • 您需要为要从表单发布并在数据库中使用的值定义name 属性

标签: php mysql phpmyadmin wamp forms


【解决方案1】:

元素可以像元素一样设置样式,并且可以具有 type="submit" ,因此您可以使用 div 而不是 div 并避免属性和值之间的额外空格。而不是你的代码:

<div class="ui submit button" type="submit" name="submit">Submit New Post</div>

你可以使用:

<button class="ui submit button" type="submit" name="submit">Submit New Post</button>

就像:

<form action="index.php" method="post">
    <div class="ui form">
        <div class="field">
            <label>Title</label>
            <input type="text" name="title">
        </div>
        <div class="field">
            <label>New Post</label>
            <textarea type="text"  name="post"></textarea>
        </div>
    </div>
    <br>
    <button class="ui submit button" type="submit" name="submit">Submit New Post</button>
</form>

希望你能得到你想要的结果。

【讨论】:

    【解决方案2】:

    在 html 标签中提供名称字段,例如

        <form  action="index.php" method="post">
        <input type="text" name="title">
        <input type="text" name="Sub-title">
    <input type="submit" name="submit">
        </form>
    

    在 index.php 里面你可以写

    $title = $_POST['title'];
    $subtitle = $_POST['Sub-title'];
    

    【讨论】:

      【解决方案3】:

      字段和元素中缺少的 name 属性可以像元素一样设置样式,并且可以具有 type="submit" ,因此您可以使用 div 而不是 div 并避免属性和值之间的额外空格。

      并更改提交 div 的输入

      提交新帖子

      【讨论】:

        【解决方案4】:

        您在输入字段中缺少name 属性,如果您是使用普通PHP 表单提交,则submit 应该是一个输入

        <input type="text" name="title">
        

        并将提交 div 更改为输入

        <input type="submit" name="submit" value="Submit New Post" />
        

        【讨论】:

          【解决方案5】:

          您的表单字段中缺少name 属性:

          <input type="text">
          

          应该是这样的:

          <input type="text" name="title">
          

          这是强制性的,以便能够在 PHP 页面中检索您的 POST 数据,并且它适用于您需要在 PHP 页面中处理的每个输入(在这种情况下是您的 &lt;input&gt; 和您的 &lt;textarea&gt;元素)。

          完成此操作后,您将能够通过访问超全局数组 $_POST 来检索 PHP 页面中的每个特定 POST 值:

          $title = $_POST['title'];
          

          【讨论】:

            【解决方案6】:

            问题出在这里:

            <div class="ui submit button" name = "submit">Submit New Post</div>
            

            应该是:

            <div class="ui submit button" type="submit" name = "submit">Submit New Post</div>
            

            但是,我建议您使用 PDo 来更好地处理这个问题。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2021-05-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-06-16
              • 2017-10-20
              • 2019-10-04
              相关资源
              最近更新 更多