【问题标题】:Connection phpmyadmin and html连接phpmyadmin和html
【发布时间】:2018-10-21 09:47:31
【问题描述】:

尊敬的程序员,我在连接 mydatabase 时遇到问题。我在一个数据库下创建了三个表。我把三个表的关系。在我放好之后,我添加了 phpcode 来连接它。但它不想工作。在此之前,我尝试连接使用该代码。有用。但为此它不想要。我不知道是因为表格关系还是我的 html 表单上有任何错误。任何开发人员请帮助我告诉我的问题。非常感谢。

<?php
session_start();
$_SESSION['message'] = '';
$mysqli=new MySQLi('127.0.0.1','root','','accounts');

if($_SERVER["REQUEST_METHOD"] == "POST") {

$option1 = $_POST['option1'];
$option2 = $_POST['option2'];
$option3 = $_POST['option3'];
$option4 = $_POST['option4'];
$option5 = $_POST['option5'];
$option6 = $_POST['option6'];


                $sql ="INSERT INTO menubar(option1,option2,option3,option4,option5,option6)"
                ."VALUES ('$option1','$option2','$option3','$option4','$option5','$option6')";

                if($mysqli->query($sql)=== true) {
                          $_SESSION['message'] ='Registration successful!
                          Added to the database!';
                     header("location:confirmnormal.php");
                      }
                      else {
                          $_SESSION['message'] = "User could not be added to the database!";
                      }
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Normal</title>
</head>
<body>
<div>
<?=$_SESSION['message']?>
<table align="center" >
<form method="post" action="" enctype="multipart/form-data" autocomplete="off">
<tr>
<td>
 Enter Menu Bar:
</td>
 &nbsp;<td> 
<input type="text" placeholder="Personal Information" name="option1" required/>

<tr><td></td><td>
<input type="text" placeholder="Career Aspirations" name="option2" required />
</td></tr>
 <tr><td></td><td> 
 <input type="text" placeholder="Educational Background" name="option3" required />
 </td></tr>
 <tr><td></td> <td> <input type="text" placeholder="Skills" name="option4" required /></td></tr>
  <tr><td></td> <td><input type="text" placeholder="Language Proficiency" name="option5" required /></td></tr>
<tr><td></td><td><input type="text" placeholder="Job Preference" name="option6" required /></td>
</tr>
<tr>
<td align="center">
<input type="submit" name="login" value="register" class="btn-login"/>
</td>
</tr>
</tr>
</tr>
</form>
</table>
</div>
</body>
</html>

【问题讨论】:

  • 错误信息是什么?
  • 最大的问题是在尝试将$_POST 变量插入数据库之前,您没有检查它们是否设置为isset()。如果它们没有设置,你会抛出一个错误(你没有捕捉到)。确保添加fallback logic 以调试问题。您还应该真正使用prepared statements 来防止避免SQL注入,并且您的HTML无效(尽管这不会导致任何问题)。

标签: php html sql phpmyadmin relational-database


【解决方案1】:

使用isset()检查POST,也使用表单提交检查POST

if(isset($_POST['submit'])) 
{
    $option1 = $_POST['option1'];
    $option2 = $_POST['option2'];
    $option3 = $_POST['option3'];
    $option4 = $_POST['option4'];
    $option5 = $_POST['option5'];
    $option6 = $_POST['option6'];


            $sql ="INSERT INTO menubar(option1,option2,option3,option4,option5,option6)"
            ."VALUES ('$option1','$option2','$option3','$option4','$option5','$option6')";

            if($mysqli->query($sql)=== true) {
                      $_SESSION['message'] ='Registration successful!
                      Added to the database!';
                 header("location:confirmnormal.php");
                  }
                  else {
                      $_SESSION['message'] = "User could not be added to the database!";
                  }
}

【讨论】:

    猜你喜欢
    • 2012-03-24
    • 2021-12-07
    • 2012-07-15
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2017-04-29
    • 2018-08-15
    相关资源
    最近更新 更多