【问题标题】:I cannot seem to connect my PHP page to my SQL test server and database我似乎无法将我的 PHP 页面连接到我的 SQL 测试服务器和数据库
【发布时间】: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 ;)

标签: php mysql database server


【解决方案1】:

你有没有尝试编辑你的 php :

isset($_POST['Submit']

并将其更改为:

isset($_POST['submit']

变量 $_POST 区分大小写,因此您应该使用与您在 html 代码中指定的名称完全相同的名称。

CMIIW

【讨论】:

  • 不仅$_POST 中的键区分大小写,PHP 中的所有变量也是如此。考虑到这一点,它应该始终是 $_POST 而不是 $_Post,因为它在一些 OP 的代码中
  • 啊。我已经更改了所有区分大小写的错误,我相信它现在可以正常工作了。
  • @Voken 考虑接受答案。以下是meta.stackexchange.com/questions/5234/… 然后返回此处并对勾号/复选标记执行相同操作直到它变为绿色的方法。这会通知社区,找到了解决方案。否则,其他人可能会认为问题仍然悬而未决,可能想要发布(更多)答案。
猜你喜欢
  • 2012-11-02
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多