PHP表单不像上周那样工作
我的主机供应商刚刚将PHP从5.3升级到5.4,所以我不确定这是否影响了我网站上的任何表单,因为它上周运行良好 这是我的表格PHP表单不像上周那样工作,php,wordpress,forms,upgrade,Php,Wordpress,Forms,Upgrade,我的主机供应商刚刚将PHP从5.3升级到5.4,所以我不确定这是否影响了我网站上的任何表单,因为它上周运行良好 这是我的表格 <form action="insert.php" method="post"> <label for="artist">1. Artist Name: </label><input id="artist" name="artist" type="text" /> <label for="song">2. S
<form action="insert.php" method="post">
<label for="artist">1. Artist Name: </label><input id="artist" name="artist" type="text" />
<label for="song">2. Song Name: </label><input id="song" name="song" type="text" />
<label for="label">3. Label: </label><input id="label" name="label" type="text" />
<label for="genre">4. Genre: </label>
<select name="genre"><option value="RnB">RnB</option></select>
<select name="genre"><option value="Hip Hop">Hip Hop</option></select>
<select name="genre"><option value="Reggae">Reggae</option></select>
<select name="genre"><option value="Gospel">Gospel</option></select>
<select name="genre"><option value="Dance">Dance</option></select>
<select name="genre"><option value="Jazz">Jazz</option></select>
<select name="genre"><option value="Afrobeats">Afrobeats</option></select>
<select name="genre"><option value="Soul">Soul</option></select>
<label for="genre">5. Country/Area: </label>
<select name="country"><optgroup label="Country"><option value="UK">UK</option> </optgroup></select>
<select name="country"><optgroup label="Country"><option value="US">US</option></optgroup></select>
<select name="country"><optgroup label="Country"><option value="CANADA">CANADA</option> </optgroup></select>
<select name="country"><optgroup label="Country"><option value="JAMAICA">JAMAICA</option></optgroup></select>
<select name="country"><optgroup label="Area"><option value="CARIBBEAN">CARIBBEAN</option></optgroup></select>
<select name="country"><optgroup label="Area"><option value="S.AMERICA">S.AMERICA</option></optgroup></select>
<select name="country"><optgroup label="Area"><option value="AFRICA">AFRICA</option></optgroup></select>
<select name="country"><optgroup label="Area"><option value="EUROPE">EUROPE</option></optgroup></select>
<select name="country"><optgroup label="Area"><option value="AUS">AUS</option></optgroup></select>
<select name="country"><optgroup label="Area"><option value="ASIA">ASIA</option></optgroup></select>
<label for="songlink">6. Song Link (Youtube Only): </label><input id="songlink" name="songlink" size="50" type="text" />
<label for="artistphoto">7. Artist Photo Link (Square): </label><input id="artistphoto" name="photolink" size="35" type="text" />
<label for="email">8. Email Address: </label><input id="email" name="email" type="text" />
<input type="submit" />
</form>
1.艺人姓名:
2.歌曲名称:
3.标签:
4.类型:
RnB
嘻哈舞曲
雷盖音乐
福音
跳舞
爵士乐
黑人
灵魂
5.国家/地区:
英国
我们
加拿大
牙买加
加勒比海的
美国
非洲
欧洲
澳大利亚
亚洲
6.歌曲链接(仅限Youtube):
7.艺术家照片链接(广场):
8.电邮地址:
这是我的insert.php文件的大部分
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get values from form
$Artist=$_POST['artist'];
$Song=$_POST['song'];
$Label=$_POST['label'];
$Genre=$_POST['genre'];
$Country=$_POST['country'];
$SongLink=$_POST['songlink'];
$PhotoLink=$_POST['photolink'];
$Email=$_POST['email'];
// Insert data into mysql
$sql="INSERT INTO $tbl_name(artistname, songname, label, genre, country, songlink, photolink, email)VALUES('$artist','$song','$label','$genre','$country','$songlink','$photolink','$email')";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful".
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='index.php'>Back to main page</a>";
}
else {
echo "ERROR";
}
?>
<?php
// close connection
mysql_close();
?>
//连接到服务器并选择数据库。
mysql_connect(“$host”、“$username”、“$password”)或die(“无法连接”);
mysql_select_db($db_name)或die(“无法选择db”);
//从表单中获取值
$Artist=$_POST['Artist'];
$Song=$_POST['Song'];
$Label=$_POST['Label'];
$GREEP=$_POST['GREEP'];
$Country=$_POST['Country'];
$SongLink=$_POST['SongLink'];
$PhotoLink=$_POST['PhotoLink'];
$Email=$_POST['Email'];
//将数据插入mysql
$sql=“在$tbl_名称(艺人名称、歌曲名称、标签、流派、国家/地区、歌曲链接、照片链接、电子邮件)中插入值(“$artist'、“$song'、“$label'、“$genre'、”$country'、“$songlink'、“$photolink'、“$email”);
$result=mysql\u查询($sql);
//如果成功地将数据插入数据库,则显示消息“Successful”。
如果($结果){
呼应“成功”;
回声“
”;
回声“;
}
否则{
回声“错误”;
}
?>
当我现在提交表单时,它在我的sql数据库中显示为空。您的POST变量的字母大小写与您的值不匹配
$Artist=$_POST['artist'];
$Song=$_POST['song'];
$Label=$_POST['label'];
$Genre=$_POST['genre'];
$Country=$_POST['country'];
$SongLink=$_POST['songlink'];
$PhotoLink=$_POST['photolink'];
$Email=$_POST['email'];
你的价值观呢
('$artist','$song','$label','$genre','$country','$songlink','$photolink','$email')
不匹配。它们区分大小写
将其更改为:
('$Artist','$Song','$Label','$Genre','$Country','$SongLink','$PhotoLink','$Email')
脚注:
将错误报告添加到文件顶部
错误报告(E_ALL)
ini设置(“显示错误”,1)代码>在开发时
mysql.*
函数弃用注意事项:
从PHP5.5.0开始,此扩展就不推荐使用,不建议用于编写新代码,因为它将在将来被删除。相反,应该使用或扩展名。在选择MySQL API时,请参阅以获取更多帮助
这些函数允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»
MySQL的文档可以在»中找到。将错误报告添加到文件顶部错误报告(E\u ALL);ini设置(“显示错误”,1)代码>mysql的可能性是
函数已被弃用。这可能与此有关,但可能性很小。不过值得一试。顺便说一下,我不知道你为什么要重复
和其他,你只需要一次。重要的是价值观。另一件事。您的POST变量与您的值不匹配。例如:$Artist=$\u POST['Artist']
和'$artist'
这些变量区分大小写。这需要更改为“$Artist”
,并对其他人执行相同的操作。嗨,Fred,我认为更新将这一点放在了我的代码中,因为输出到处都是,我按照你说的取出了重复的代码,它按预期显示,但仍然没有在数据库中记录任何值。请参见我上面的内容。这就可以解释了。@Darren谢谢Darren。我已经学会了带着一点幽默和一丝不苟地看待它;-)FWIW,一个大的新手错误是用贵重物品做首字母大写。这只会导致这样的错误。我的经验法则是变量总是小写&只有在非常特殊的情况下才大写。像静态常数或可以被视为静态常数的项目。@Fred ii-回答得好+1@JakeGould我同意,杰克。我总是用小写表示变量(尽我所能),用大写表示插入到。。。WHERE等。更容易区分。@Fred ii-我认为所有的答案都需要更多的幽默;)