【发布时间】:2016-02-10 21:53:18
【问题描述】:
我希望用户填写表格并将该信息发送到数据库。我在 Dreamweaver 中使用 html 和 php,并在 phpMyAdmin 中使用 WAM。
我已经尝试了所有方法,但我似乎无法让我的 .php 文件与我的本地主机测试服务器(或任何服务器)一起使用。是一个注册表单,有一个html文件和一个php文件,我把两个都包括进去:
HTML 表单:
<table width="15px" border="0">
<form form action="localhost.php" method="POST">
<tr>
<td>Username</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Skype Name</td>
<td><input type="text" name="skype" /></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="pass" /></td>
</tr>
<tr>
<td>Retype Password</td>
<td><input type="password" name="repass" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Submit"/></td>
</tr>
</form>
PHP 文件:
<?php
$hostname= "localhost";
$database = "boost";
$username = "root";
$password = "";
$localhost = mysqli_connect($hostname, $username, $password, $database);
if(mysqli_connect_errno())
{
die('Connection Failed'.mysqli_error());
}
?>
<html>
<head>
<title>Sign Up</title>
</head>
<body>
<?php
if(isset($_POST['Submit']))
{
$username=$_Post['username'];
$skype=$_Post['skype'];
$email=$_Post['email'];
$pass=$_Post['pass'];
$repass=$_Post['repass'];
if(empty($username) || empty($skype) || empty($email) || empty($pass) || empty($repass))
{
echo "Cannot leave any field blank";
}
elseif ($pass!=$repass)
{
echo "Passwords did not match! Please try again.";
}
else
{
$sql="INSERT INTO users(Username,SkypeID,Email,Password) " .
"VALUES ('$username','$skype','$email','$pass')";
$res=mysqli_query($localhost,$sql);
if(!$res)
{
die("Query Failed" .mysqli_error($localhost));
}
else
{
echo "Welcome";
}
}
}
当我在字段中输入数据进行测试时,数据不会发送到本地主机服务器(或连接到 WAM 的服务器)。我不知道我在这里做错了什么。我的 HTML 和 PHP 文档是否没有互连以共享值?代码有问题吗?我没有正确定义我的数据库吗?
解决方案:我的“POST”和“submit”不被视为区分大小写。感谢您的帮助。
【问题讨论】:
-
你遇到了什么错误?
-
您的提交按钮
name是“提交”(全部小写),但您正在检查$_POST['Submit'](大写“S”)。此外,POST 数据位于$_POST,而不是$_Post。投票结束作为一个简单的“typo” -
@Memor-X ...它是 php ;)