Я создал базу данных в phpmyadmin. Я пытаюсь создать регистр и логин, но сначала создаю файл config.php, который вы можете увидеть ниже. Я использовал заполнители вместо имени пользователя и пароля. Однако, как только веб-страница загружается, она просто говорит, что не может подключиться.
<?php
$conn = mysqli_connect("localhost", "username", "password");
if($conn){
die("could not connect" . mysqli_error($conn));
}
mysqli_close($conn);
?>
Я не уверен, связан ли я с моей базой данных, поскольку я новичок в php. Я создал регистрационную форму, но в любое время, когда я набираю register.php на конец URL-адреса, он просто отображает, что не удалось подключиться. Он не отображает мою форму и ошибок в консоли нет. Ниже приведен php, который у меня есть для register.php. Я просто пытаюсь проверить это в минуту, но часть html вообще не отображается, поэтому я не могу ввести имя, чтобы увидеть, работает ли оно.
<?php
require_once('config.php');
$username = $_POST ['username'];
?>
PHP находится перед тегом head в html для register.php. Кто-нибудь имеет какие-либо предложения относительно того, почему моя регистрационная форма не появляется?
register.php
<?php
require_once('config.php');
$username = $_POST ['username'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Trip Guider</title>
<!-- Bootstrap core CSS -->
<link href="/bootstrap.min.css" rel="stylesheet">
<!-- Custom fonts for this template -->
<link href="/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Merriweather:400,300,300italic,400italic,700,700italic,900,900italic' rel='stylesheet' type='text/css'>
<!-- Plugin CSS -->
<link href="/magnific-popup.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="/creative.min.css" rel="stylesheet">
<link href="/style.css" rel="stylesheet">
</head>
<body id="page-top" >
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
<div class="container">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<div class="dropdown" id="myDropdown">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
Menu
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Home</a></li>
<li><a href="gallery.html">View Holiday Gallery</a></li>
<li><a href="itinerary.html">View Itinerary</a></li>
<li><a href="settings.html">Settings</a></li>
</ul>
</div>
</ul>
</div>
</div>
</nav>
<div class="container">
<div class="card card-container">
<a href="index.html">
<img id="profile-img" class="profile-img-card" src="//ssl.gstatic.com/accounts/ui/avatar_2x.png" alt="logo" />
</a>
<p id="profile-name" class="profile-name-card"></p>
<form class="form-signin" action="" method="post">
<input type="text" id="inputEmail" class="form-control" placeholder="Username" required autofocus>
<span id="reauth-email" class="reauth-email"></span>
<input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
<input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block btn-signin" type="submit">Register</button>
<button class="btn btn-lg btn-primary btn-block btn-signin" type="submit">Sign in</button>
</form><!-- /form -->
</div><!-- /card-container -->
</div><!-- /container -->
<script src="/creative.min.js"></script>
<script src="/jquery.js"></script>
</body>
</html>
Начните с включения первого отчета об ошибках PHP. Положите сразу после <?php
следующие шаги:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Попробуйте это: в config.php u havent включено имя базы данных
<?php
$conn = mysqli_connect("localhost", "username", "password","dbname");
if(!$conn){
die("could not connect" . mysqli_error($conn));
}
mysqli_close($conn);
?>
измените register.php как:
<?php
require('config.php');
$username = $_POST ['username'];
?>
Проблема заключается в инструкции if в сценарии подключения; Условие "if" возвращает true, а не false, поэтому используйте это вместо этого;
if (! $ conn) {
}
Ваше выражение здесь плохое:
if($conn){
die("could not connect" . mysqli_error($conn));
}
Вы должны проверить, нет ли соединения (!$conn)
, поэтому правильный метод:
if(!$conn){
die("could not connect" . mysqli_error($conn));
}
else{
//some code here
}
else
часть не нужна. Если что-то пойдет не так, этого никогда не произойдет.