【问题标题】:Html Form can't deliver data to databaseHtml Form无法将数据传递到数据库
【发布时间】:2017-12-26 11:21:03
【问题描述】:

我想通过 html 表单将数据插入数据库。我尝试了一切,但在单击提交按钮后,我得到一个没有错误消息的空白页面。但是日期没有插入到数据库中。你能帮帮我吗?

register.php

<?php

if(isset($_GET["page"])){

    if($_GET["page"] == "2"){

     $user = strtolower($_POST["user"]);
     $pw   = md5($_POST["pw"]);
     $pw2   = md5($_POST["pw2"]);   

    if($pw != $pw2){

        echo "Deine Passwörter stimmen nicht über ein. Bitte wiederhole deine Eingabe... <a href='register.php'>zurück</a>";

    } else {

        $verbindung = mysql_connect("localhost", "user1", "") or die ("error");

        mysql_select_db("michael29") or die ("connection not possible");

        $control = 0;
        $abfrage = "SELECT user FROM login WHERE user = '$user'";
        $ergebnis = mysql_query($abfrage);
        while($row = mysql_fetch_object($ergebnis))
        {

            $control++;
        }
        if($control != 0){

            echo "Username schon vergeben. Bitte verwende einen anderen Usernamen... <a href='register.php'>zurück</a>";

        }


        mysql_close($verbindung);

    }

    }

}


?>

【问题讨论】:

  • 你的表格是什么?你在 php 中使用 method='post' 但 $_GET 吗?您在提交按钮上使用的名称是什么?
  • 这里没有INSERT。
  • 检查错误。你说你没有得到任何东西,这可能是因为你没有以任何方式检查它们。
  • 不要使用这个代码,它完全不安全。将 mysqli/pdo 与准备好的语句和 password_hash()/password_verify() 一起使用。
  • $_GET 仅用于 register.php?page=2 并且我使用 method='post' 从注册表单中获取数据。提交按钮上没有名字。

标签: php html mysql database forms


【解决方案1】:

您错过了连接数据库的第二个参数。此行有错误:

mysql_select_db("michael29") or die ("connection not possible");

替换为:

mysql_select_db("michael29", $verbindung) or die ("connection not possible");

并且您必须小心使用 mysql 的扩展。您在代码中使用的那些在 PHP 5.5.0 版本中已被弃用,并且自 PHP 7.0.0 版本以来它们已被删除。

【讨论】:

  • 非常感谢。我想我必须修改整个代码。祝你有美好的一天。
  • 没问题,兄弟。我很高兴我帮了忙!祝你有美好的一天!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-26
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-10
相关资源
最近更新 更多