为什么当我 运行 我的 php 代码使用 mamp 时没有任何显示

why is nothing displaying when I run my php code using mamp

我创建了一个页面,其中包含显示 jQuery 的图像幻灯片。我还有一个搜索,用户可以从数据库中搜索房屋,并且此代码可以找到。当我添加 php 代码以便允许用户登录并尝试 运行 时,页面出现空白,这是为什么?

这是我的代码

session_start();

  include "connect.php";

  if (isset($_POST['username']) and isset($_POST['password'])){

$username = $_POST['username'];

$password = $_POST['password'];

$query = ($con "SELECT * FROM login WHERE username='$username' and password= '$password'");

$result = mysqli_query($query) or die(mysqli_error());

$count = mysqli_num_rows($result);

if ($count == 1){

$_SESSION['username'] = $username;

}else {

echo "Invalid Login Credentials.";

}


if (isset($_SESSION['username'])){

$username = $_SESSION['username'];

echo "Hello " . $username . "";
echo "This is the Members Area";

echo "<a href='logout.php'>Logout</a>";

}
?>

首先,您没有将您的连接传递给您的查询,并且您缺少一个大括号。

if (isset($_POST['username']) and isset($_POST['password'])) 的那个应该封装你的整个 PHP。

旁注:使用 $con 作为连接变量的参数。

<?php
session_start();

  include "connect.php";

  if (isset($_POST['username']) and isset($_POST['password'])){

$username = $_POST['username'];

$password = $_POST['password'];

$query = "SELECT * FROM login WHERE username='$username' and password='$password'";

$result = mysqli_query($con, $query) or die(mysqli_error());

$count = mysqli_num_rows($result);

if ($count == 1){

$_SESSION['username'] = $username;

}else {

echo "Invalid Login Credentials.";

}


if (isset($_SESSION['username'])){

$username = $_SESSION['username'];

echo "Hello " . $username . "";
echo "This is the Members Area";

}

} // closing brace for if (isset($_POST['username']) and isset($_POST['password']))

echo "<a href='logout.php'>Logout</a>";

?>

我注意到您可能以纯文本形式存储密码。如果是这种情况,非常不鼓励。

我推荐你使用CRYPT_BLOWFISH or PHP 5.5's password_hash() function. For PHP < 5.5 use the password_hash() compatibility pack