-1

これまでの回答からコードを編集しましたが、これらのエラーが発生しています

警告: mysqli_num_rows() は、パラメーター 1 が mysqli_result であると想定します。これは、18 行目の C:\xampp\htdocs\Test\index.php で指定されたブール値です。

警告: mysqli_fetch_array() は、パラメーター 1 が mysqli_result であると想定します。これは、28 行目の C:\xampp\htdocs\Test\index.php で指定されたブール値です。

18号線 - $checkuser= mysqli_num_rows($query);

28行目 - while ($row = mysqli_fetch_array($query)) {

 <?php



require_once('config.php');  


if(isset($_POST['Login']) && isset($_POST['uname']) && isset($_POST['pass1'])) {
// Here check if all input are sent 

$uname = $sql-> real_escape_string($_POST['uname']);
$pass1 = $sql-> real_escape_string($_POST['pass1']);


 if ( !empty($uname) && !empty($pass1)) {
  // Check if you input are not empty

  $query= mysqli_query($sql, "SELECT uname, pass1 FROM login WHERE uname='$uname'");
  $checkuser= mysqli_num_rows($query);


  if($checkuser != 1) {


   $error = "Username doesn't exist in our database!";
  }

  // Change $login with $query
  while ($row = mysqli_fetch_array($query)) {
   $checkpass= $row['pass1'];
    

   // here i changed $pass1 to $checkpass
   if ($pass1 == $checkpass) {


    setcookie("user", $uname, time()+7200);
    $_SESSION['user'] = $uname;
    $_SESSION['start'] = time();
    $_SESSION['expire'] = $_SESSION['start'] + (60 * 60 * 60);
    header("Location: main.html");
    exit();
   } else {


    $error = "Incorrect password!";
   }
  }
 } else {

 $error = "Please enter a username and password.";
 }
}



?>
4

2 に答える 2

0
<input type="button" value="Login" name="Login" /> 

する必要があります

<input type="submit" value="Login" name="Login" /> 

また

<button type="submit" name="Login">Login</button>

ボタンをクリックしたときにフォームを送信するには、Javascript が必要でした。

フォームを送信する他のメカニズムがない限り、それがフォームが送信されない理由である可能性が最も高いです。それ以外に、抱えている問題についてより具体的に説明する必要があります。

于 2013-08-13T19:39:01.817 に答える
-2

これを試して、メッセージがあるかどうか教えてください:

require_once('config.php');  


if (isset($_POST['Login']) && isset($_POST['uname']) isset($_POST['pass1'])) {
// Here check if all input are sent 

$uname = mysqli_real_escape_string($_POST['uname']);
$pass1 = mysqli_real_escape_string($_POST['pass1']);


 if ( !empty($uname) && !empty($pass1)) {
  // Check if you input are not empty

  $query= mysqli_query("SELECT uname FROM login WHERE uname='$uname'");
  $checkuser= mysqli_num_rows($query);


  if($checkuser != 1) {


   $error = "Username doesn't exist in our database!";
  }

  // Change $login with $query
  while ($row = mysqli_fetch_array($query)) {
   $checkpass= $row['pass1'];


   // here i changed $pass1 to $checkpass
   if ($pass1 == $checkpass) {


    setcookie("user", $uname, time()+7200);
    $_SESSION['user'] = $uname;
    $_SESSION['start'] = time();
    $_SESSION['expire'] = $_SESSION['start'] + (60 * 60 * 60);
    header("Location: main.html");
    exit();
   } else {


    $error = "Incorrect password!";
   }
  }
 } else {

 $error = "Please enter a username and password.";
 }
}


?>
于 2013-08-13T19:44:07.407 に答える