使用Perl将数据从Web表单发送到MySQL数据库

时间:2016-08-29 19:56:12

标签: html mysql database forms perl

我试图创建一个地址簿,用于获取用户在表单中输入的数据,然后将其发送到数据库中的表。我不知道我是否正确行事,因为我还没有找到html for和perl代码的完整示例 - 只是片段。我收到错误(我会在代码后发布)。

和perl代码:

<!doctype html>
<html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Address Book</title>
   <link rel="stylesheet" href="stylesheet.css">
 </head>

<body>
<h2>Address Book</h2>
<form action="test2.pl" name="myForm" method="post">
    <fieldset>
        <legend>Contact Details</legend>
        <div>
            <label for="First_Name">First Name:  </label>
            <input type="text" id="First_Name" name="First_Name" placeholder="John" required><br>
        </div>

        <div>
            <label for="Last_Name">Last Name:  </label>
            <input type="text" id="Last_Name" name="Last_Name" placeholder="Doe" required><br>
        </div>

        <div>
            <label for="Address">Address:  </label>
            <input type="text" id="Address" name="Address" placeholder="123 My Street Anytown, US 45678" required><br>
        </div>

        <div>
            <label for="Phone">Phone:  </label>
            <input <input pattern="(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}" id="Phone" name="Phone" placeholder="(xxx)xxx-xxxx" maxlength="13" required> <br>
        </div>

        <div>
            <label for="Birthday">Birthday:  </label>
            <input type="date" id="Birthday" name="Birthday" value="" required><br>
        </div>

        <div>
            <label for="Email">Email:  </label>
            <input type="email" id="Email" name="Email" placeholder="johndoe@email.com" required><br>
        </div>

        <div>
            <label for="Relationship">Relationship:  </label>
            <input type="text" id="Relationship" name="Relationship" placeholder="brother" required><br>
        </div>

        <div>
            <input type="submit" value="Submit">
            <input type="reset" value="Reset">
        </div>
</form>
</body>
</html>

错误:

  

指定的CGI应用程序由于未返回完整的HTTP标头集而行为不端。它返回的标题是&#34; install_driver(mysql)失败:无法在@INC中找到DBD / mysql.pm(@INC包含:C:/ Program Files(x86)/ Parallels / Plesk / Additional /在(eval 3)第3行的Perl / site / lib C:/ Program Files(x86)/ Parallels / Plesk / Additional / Perl / lib。)也许DBD :: mysql perl模块还没有完全安装,或者也许是'mysql&#39;的大写。不对。可用的驱动程序:CSV,DBM,ExampleP,文件,Gofer,ODBC,Oracle,代理,SQLite,海绵。在G:\ PleskVhosts \ tonyalesher.com \ httpdocs \ project \ test2.pl第7行HTTP / 1.0 200 OK内容类型:text / html&#34;。

我从命令提示符下载了DBD,但是我找不到它提到的文件夹 - 它在我的计算机上不存在。我使用godaddy帐户(plesk)我不知道这是否重要。谢谢!

1 个答案:

答案 0 :(得分:-1)

您得到的错误是说没有安装DBD :: mysql,而您正在运行的perl实例正在等待它。你知道你是在使用ActiveState Perl,Strawberry Perl还是其他一些发行版?

使用ActiveState,最好使用预编译软件包的存储库:ppm。安装模块的命令类似于:

ppm install DBD::mysql

如果您使用的是Strawberry Perl,请参阅此question