登录脚本不工作,不知道如果它是SQL语句或其他


login script doesnt work, dont know if it is the sql statement or the rest?

我正在为我的调查网站创建一个登录脚本,但似乎不能让它工作。

log.php

<?php
// skapar en session
ob_start();
// Definererar mysql databas detaljer för att kunna göra en anslutning
$server = "127.0.0.1";
// vilken server
$user = "root";
// vad användaren heter
$password = "Redacted";
// Vad lösenordet är
$db = "LOL";
// vad databasen är
$conn = mysqli_query($server,$user,$password,$db) or die(mysqli_error($conn));
// Skapar en variable $conn och använder funktionen mysqli_query för att definera vad queryin ska använda för detaljer till databasen
// aka skapar en anslutning till databasen
// Post requests, som är parameterna fråm formerna som jag har skapat på log.php
$anv = $_POST['anv'];
$lose = $_POST['lose'];
// skyddar mot sql injection och lite xss, med hjälp av stripslahes som blockerar "arbiterary input"
$anv = stripslashes($anv);
$lose = stripslashes($lose);
/* använder mig själv av mysqli_real_escape_String, kan användas också av mysql_real_escape_string men har blivit depricerad.
 Detta sanitisera queryn jag skickar till databasen */
$anv = mysql_real_escape_string($anv);
$lose = mysql_real_escape_string($lose);
/* Specifierar min query, använder en wilcard * för att söka igenom alla rows från tabellen users och kollar sedan om $anv
 och $lose stämmer med det jag har skrivit in på mina parametrar. */
$query = "SELECT * FROM users WHERE anv = $anv and pass = $lose";
/* skickar nu min query med mysqli_query($conn, $query) som specifierar, först använder du databas detaljerna,
sedan använder du queryin som ska skickas. or die(mysqli_error($conn)); om det blir ett mysql fel så stänger den av anslutningen.
*/
$skicka = mysqli_query($conn, $query) or die(mysqli_error($conn));
// "skriker" eller som sagt "ekar" ;), variabeln $skicka.
// räknar sedan raderna, på variabeln $skicka och kollar om det finns någon record som stämmer in med min query.
$rakna = mysqli_fetch_array($skicka);
// Specifierar om mysql_num_rows hittar det jag har skrivit in i min query, med att använda en if och else, som kollar om $rakna
// hittar en rad med matchande.
if ($rakna == 1) {
  // Kunde inte använda session_register() för att den är deprekerad, som använda mig av $_SESSION för att registrera sessionen
  $_SESSION["username"] == $anv;
  $_SESSION["lose"] == $lose;
  // använder en redirect till enkat.php , har funderar på att göra en members area. Men vi får se.
  header("location:enkat.php");
}
else {
  // uHM, är ju självklart din kodapa.
  print "fel lösenord eller användarnamn";
}
ob_end_flush();
?>

由于用户名和密码都是字符,所以必须在查询中添加quotes。将查询更改为

$query = "SELECT * FROM users WHERE anv = '".$anv."' and pass = '".$lose."'";