【发布时间】:2016-05-22 13:23:33
【问题描述】:
我是 stackoverflow 的新手,我正在尝试在我公司的网站上设置一份简历表格,潜在员工可以使用该表格向我们发送他们的简历和信息。我有基本的 HTML 设计经验,但我所学的 MySQL 和 PHP 几乎没有经验必须用于从表单框中提取数据并将其存储在数据库中。
我已经制作了一个表单,并且我已经尝试让我的 PHP 代码完成其工作已有数周了,并且在网上搜索了无济于事的解决方案。
这是我的 HTML 表单:(请注意,因为它强制换行,我必须手动设置一些表单的空间——特别是在 1-4 列表上)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Resume Storage.</title>
</head>
<body bgcolor="#ffffff">
<form name="ResumeDatabase" action="ResumeDB.php" method="POST">
<img src="Logo.png" alt="img" width="250" height= "150" /> <br><br>
<p style="color:#6699FF;" style="font-family: sans-serif"><font
size="6"><b>Hello, welcome to Blank, Inc.</font></b> </p>
<p style="color:black;" style="font-family: sans-serif" ><font
size="3"><b>Please
enter your information in the form below and the attach your resume.
</font></b> </p>
1) First Name: <input type="text" name="firstName" maxlength="15"
size="15" style="background-color: white ;color:black"> <br/><br/>
2) Last Name: <input type="text" name="lastName" maxlength="15"
size="15" style="background-color: white ;color:black"> <br/><br/>
3) Email Address: <input type="text" name="emailAddress"
maxlength="40" size="45" style="background-color: white
;color:black"> <br/><br/>
4) Years of Experience Acquired: <input type="text"
name="yearsExperience" maxlength="2" size="5" style="background-
color: white ;color:black"><br/>
<p style="color:red;" >*Please only submit Resumes of the PDF file
type* </br> </p>
<input type="file" name="Resume">
<br/><br/>
<input type="submit" value="Submit Resume Form" onClick="aa();">
</form>
为了便于讨论上面的 HTML 表单,
-form name... 是第 10 行
-1) 名字是第 21 行
- 输入类型提交是第 32 行
现在我将发布我的 PHP 代码,相信我,我已经检查了文件名,以确保代码在提交“操作”的领域具有相同的文件名。
我没有费心修复这个间距,但请记住,这可能是代码或修复的混合,以解析来自至少 10 个不同来源的错误。如果我通常只需要使用完全不同的代码,我不会感到惊讶。仅供参考,NT 和 1 是用户名和密码。
<?php
if( $_POST )
{
$con = mysql_connect("localhost","NT","1");
if (!$con)
{
die('Could not connect to the database: ' . mysql_error());
}
mysql_select_db("test", $con);
}
$fName = $_POST['firstName'];
$lName = $_POST['lastName'];
$emailAdd = $_POST['emailAddress'];
$yExperience = $_POST['yearsExperience'];
$fName = mysql_real_escape_string($fName);
$lName = mysql_real_escape_string($lName);
$emailAdd = mysql_real_escape_string($emailAdd);
$yExperience = mysql_real_escape_string($yExperience);
$query = "
INSERT INTO 'NT'.'resume-storage' ('firstName', 'lastName', 'emailAddress', 'yearsExperience')
VALUES (NULL, '$fname', '$lName', '$emailAdd', '$yExperience');";
mysql_query($query);
echo "<h2>Thank you, your information has been stored in our Database.</h2>";
msql_close($con);
?>
为了便于讨论上面的 PHP 代码,
-mysql_select_db 是第 10 行
-$lname=POST 是第 15 行
-$lname=mysql_real_escape 是第 20 行
-INSERT INTO 是第 25 行
-echo 是第 30 行
这是我在代码内外测试过的一些代码 sn-ps,但我可能在错误的地方使用它们:(同样我没有手动编辑间距)
//mysql_connect("localhost", "NT", "1") or die(mysql_error());
//mysql_select_db("test") or die(mysql_error());
//mysql_query("insert into 'test'.'resume-storage' ('firstName', 'lastName','emailAddress', 'yearsExperience')");
#$connect = mysql_connect(“localhost”, "testadmin", ); if (!connect) { die('Connection Failed: ' . mysql_error()); { mysql_select_db(“test”, $connect);
//$sql = "INSERT INTO resume-storage (firstName, lastName, emailAddress, yearsExperience)
//VALUES ('$first_Name', '$last_Name', '$email_Address', '$yearsExperience')";
//mysql_query(“INSERT INTO resume-storage) VALUES($FirstName, $LastName, $EmailAddress, $YearsExperience)";
//if (!mysql_query($user_info, $connect))
//{
//echo “Your information was added to the database.”;
//die('Error: ' . mysql_error());
//}
//mysql_close($connect);
#('$first_Name', '$last_Name', '$email_Address', '$years_Experience')
/>
这是我最近收到的错误,好像没有正确获取表单中输入的文本。
Notice: Undefined index: firstName in C:\xampp\htdocs\ResumeDB.php on line 14
Notice: Undefined index: lastName in C:\xampp\htdocs\ResumeDB.php on line 15
Notice: Undefined index: emailAddress in C:\xampp\htdocs\ResumeDB.php on line 16
Notice: Undefined index: yearsExperience in C:\xampp\htdocs\ResumeDB.php on line 17
Notice: Undefined variable: fname in C:\xampp\htdocs\ResumeDB.php on line 26
Thank you, your information has been stored in our Database.
Fatal error: Call to undefined function msql_close() in C:\xampp\htdocs\ResumeDB.php on line 32
欢迎提供任何帮助,我推测没有对简历提交按钮进行任何操作可能会导致提交失败——但这是一个猜测。
谢谢,
内特
【问题讨论】:
-
这些错误是不言自明的。您的
INSERT语句是错误的,请删除表名和列名周围的引号。$fName和$fname是两个不同的变量。最后,msql_close($con);应该是mysql_close($con); -
@RajdeepPaul - 你的意思是
mysql_ -
@OliverQueen 是的,这是一个错字。 :-)
-
与其他人充分建议无关,但认真考虑使用 mysqli_ 函数或 - 最好 - 使用数据库的 PDO :)
-
我按照你们所有人的建议进行了更改,并且很好地返回了“谢谢,....”消息,没有任何错误。但是,该信息似乎并未实际提交到数据库。是不是所有东西都连接到 MySQL 数据库,但它没有从空白中检索内容?
标签: php html mysql forms apache