首页 > 解决方案 > PHP 将表单数据发送到 Wordpress 中的特定 Mysql 数据库

问题描述

主要问题:无法从 html 表单将数据插入我的数据库。

我有一个 WordPress 网站,我需要从特定数据库存储和获取数据。所以我有 WP 使用的 WP 数据库,并且我在同一台服务器上有第二个数据库来存储特定数据。从第二个数据库中,我设法恢复了这样的数据:

<?php
$servername = "localhost";
$username = "my_user_name";
$password = "my_password";

echo "<table>";
echo "<tr>";
echo "<td><strong>ID</strong></td>";
echo "<td><strong>Nom d'équipe</strong></td>";
echo "<td><strong>TOP</strong></td>";
echo "<td><strong>JUNGLE</strong></td>";
echo "<td><strong>MID</strong></td>";
echo "<td><strong>ADC</strong></td>";
echo "<td><strong>SUPPORT</strong></td>";
echo "<td><strong>ELO</strong></td>";
echo "</tr>";


if( is_user_logged_in() ) {
    global $current_user;
    #print('Hello, ' . esc_html($current_user->display_name) ."<br />\n");

    try {
        $conn = new PDO("mysql:host=$servername;dbname=dbName", $username, $password);
        // set the PDO error mode to exception
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
    catch(PDOException $e)
        {
        echo "La connexion à la base de données a échouée. Veuillez réessayer plus tard.";
        }

    $stmt = $conn->query("SELECT * FROM team WHERE id_owner = $current_user->ID");

    while ($row = $stmt->fetch()) {
echo "<tr>";
        print("<td><i>".$row['id_team']."</i></td>");
        print("<td>".$row['name']."</td>");
        print("<td>".$row['top']."</td>");
        print("<td>".$row['jgl']."</td>");
        print("<td>".$row['mid']."</td>");
        print("<td>".$row['adc']."</td>");
        print("<td>".$row['supp']."</td>");
        print("<td>".$row['elo']."</td>");
echo "</tr>";
    }
}
else {
    print('Vous devez être connecté pour accéder à cette page !');
}

echo "</table>";

?>

这项工作完美无缺,我根据连接的用户获取我的信息:

在此处输入图像描述

但是现在,我需要将数据插入到我的数据库中,所以我有一个 HTML 表单:

<form action="inscription.php" method="post">
  <div>
    <label for="name">Nom d'équipe :</label>
    <input id="name" name="user_name" type="text"></div>
  <div>
    <label for="mail">Pseudo TOP :</label>
    <input id="mail" name="top" type="text"></div>
  <div>
    <label for="mail">Pseudo JUNGLE :</label>
    <input id="mail" name="jgl" type="text"></div>
  <div>
    <label for="mail">Pseudo MID :</label>
    <input id="mail" name="mid" type="text"></div>
  <div>
    <label for="mail">Pseudo ADC :</label>
    <input id="mail" name="adc" type="text"></div>
  <div>
    <label for="mail">Pseudo SUPPORT :</label>
    <input id="mail" name="supp" type="text"></div>
  <div>
    <label for="msg">Élo moyen de l'équipe :</label>
    <select name="nom" size="1">
      <option>Iron</option>
      <option>Silver</option>
      <option>Gold</option>
      <option>Platinum</option>
      <option>Diamond</option>
      <option>Master</option>
      <option>Grand-Master</option>
      <option>Challenger</option>
    </select></div>
  <input type="submit" class="button" name="insert" value="insert">
  <div class="reset"><input type="reset" value="Reset"></div>
</form>

而且我不知道下一步该做什么。我不能在这里添加PHP代码,所以我想创建一个PHP文件,我可以在其中放置一个函数,但是我不知道如何调用该函数,我不知道在哪里存储我的PHP文件,如何从表单中获取 HTML 数据以及我需要如何编写函数...有人可以在这方面帮助我吗?我会很感激 !

标签: phpmysqlwordpressforms

解决方案


将 PHP 文件存储在与 HTML 文件相同的目录中。只需将其命名为您想要的名称并设置表单的操作(yourfilename.php)。当您提交此表单时,它将尝试调用 PHP 文件。现在您可以使用 $_POST[''] 获取输入字段的值。在引号内,您必须放置输入字段的名称。从这里开始,您可以使用 INSERT 查询插入数据。

这是您正在寻找的答案吗?

这可能会更清楚: https ://www.w3schools.com/tags/tag_form.asp https://www.w3schools.com/php/php_superglobals_post.asp


推荐阅读