В настоящее время я пытаюсь настроить страницу входа и регистрации на PHP и MySQL. У меня есть внешняя страница connection.php, которая подключается к БД и печатает изображение успеха (которое размещено вверху каждой веб-страницы, поэтому оно работает). В моем текущем коде я вообще ничего не получаю из тегов PHP. После нажатия на регистр я не получаю никаких сообщений об ошибках (если я попытаюсь сделать простое выражение echo, то ничего не будет напечатано). Страница просто перезагружается и все. Когда я проверяю свою БД, данные не вставляются. Я полагаю, что если я могу получить какой-то вывод, я могу отладить все остальное самостоятельно, но я даже не получаю это. Я попытался добавить "global $ conn;" чтобы увидеть, является ли проблема проблемой, но это не так.
<?php
include "connection.php";
if($_POST['register']) {
#Check to see which button was pressed
$username = $_POST['username'];
$password = $_POST['password'];
echo $username . " " . $password;
#First check to see if username is already selected
$query = $conn->prepare("SELECT * FROM accounts WHERE username=$username");
$query->execute();
if(mysqli_num_rows($query) >= 1) {
echo "Account already exists. Please try again.";
} else {
$insert = $conn->prepare('INSERT INTO accounts(username, password) VALUES (?, ?)');
$insert->bind_param("ss", $username, $password);
$insert->execute() or die (mysqli_error());
echo "Successfuly Registered";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>UND Bookstore Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
<meta name="author" content="Sai Peri"></meta>
<meta name="description" content="CSCI 457 Assignment 1"></meta>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- Latest jQuery libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<nav id="nav" class="navbar navbar-inverse text-center">
<ul class="nav navbar-nav">
<li><a href="index.php">Home</a></li>
<li class="active"><a href="login.php">Login</a></li>
<li><a href="search.php">Search</a></li>
<li><a href="#">Add/Delete/Edit</a></li>
</ul>
</nav>
</div> <!-- End col-md-12 -->
</div> <!-- End row (nav)-->
<div class="row">
<div class="col-md-12">
<div class="page-header">
<h3 class="text-center">Login below <small>Or register below</small></h3>
</div> <!-- End of page-header -->
</div> <!-- End col-md-12 -->
</div> <!-- End row (nav)-->
<div class="row" id="body">
<!-- Add text boxes and buttons -->
<form action="login.php" method="post">
<div class="form-group">
<label>Username</label>
<input type="text" class="form-control" id="inputUsername" placeholder="Username" name="username">
<label>Password</label>
<input type="password" class="form-control" id="inputPassword" placeholder="Password" name="password">
<button type="submit" class="btn btn-primary" name="login">Login</button>
<button type="submit" class="btn btn-primary" name="register">Register</button>
</div> <!-- End form-group -->
</form>
</div> <!-- End of row -->
<div class="row" id="footer">
<div class="col-md-12 text-center">
<footer>Created 2019 by Sai Peri</footer>
</div> <!-- End col-md-12 -->
</div> <!-- End row (nav)-->
</div> <!-- End container -->
</body>
</html>
РЕШЕНО: проблема была решена с помощью следующего оператора isset ($ _ POST ['register']) или с помощью! Empty ($ _ POST ...) и добавлением значений к входным тегам.