php 中的登录页面错误

问题描述 投票:0回答:3

我正在用 php 创建登录页面,但其中出现一些错误。当我输入错误的用户名或密码时,会出现空白窗口,不会显示错误消息,当两个字段都为空时,会显示错误消息。

这是登录页面代码

<?php
session_start();
if(isset($_POST['submit']))
{
	 mysql_connect('localhost','root','') or die(mysql_error());
	 mysql_select_db('ganga_hms') or die(mysql_error());
	 	
	$login_type=mysql_real_escape_string($_POST['login_type']);
	$username=mysql_real_escape_string($_POST['username']);
	$password=mysql_real_escape_string($_POST['password']);
	
	 if($username!=''&&$password!='')
	 {

		$query="SELECT username, password, account_type FROM login WHERE username='$username'and password='$password' and account_type='$login_type'";
		$sql=mysql_query($query) or die(mysql_error());
		$rows=mysql_num_rows($sql)or die(mysql_error());
		
		if($rows==1)
		{
			$_SESSION['user_id'] = $row[0];
			$_SESSION['username']=$username;
			$_SESSION['login_type']=$login_type;
			header('location:first_index.php');
				
		}
		else
		{
				echo "<script type='text/javascript'>alert('Plz enter correct username or password');</script>";
				header('location:index.php');
		}	
	 }
	 else
	{
		
		echo "<script type='text/javascript'>alert('enter username or password');</script>";
		echo "<meta http-equiv='refresh' content='0;url=index.php'>";	
	 }
}
?>

javascript php
3个回答
0
投票

在其他条件下你有一个额外的“}”:尝试下面的代码

$sql=mysql_query($query) or die(mysql_error());
$rows=mysql_num_rows($sql)or die(mysql_error());

if($rows==1)
{
    $_SESSION['user_id'] = $row[0];
    $_SESSION['username']=$username;
    $_SESSION['login_type']=$login_type;
    header('location:first_index.php');

}
 elseif($rows!=1)
{
        echo "<script type='text/javascript'>alert('Plz enter correct username or password');</script>";
        header('location:index.php');
}   
else
{

echo "<script type='text/javascript'>alert('enter username or password');   </script>";
echo "<meta http-equiv='refresh' content='0;url=index.php'>";   
 }

0
投票

添加会话从顶部开始

session_start();

-1
投票
<?php
require("conn.php");
// Fetch departments for dropdown
$departments = $conn->query("SELECT * FROM departments");

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['action']) && $_POST['action'] == 'insert') {
        $salutation = $_POST['salutation'];
        $name = $_POST['name'];
        $gender = $_POST['gender'];
        $phone = $_POST['phone'];
        $email = $_POST['email'];
        $department_id = $_POST['department'];
        $doctor_id = $_POST['doctor'];
        
        $insert_query = "INSERT INTO patients (salutation, name, gender, phone, email, department_id, doctor_id) VALUES ('$salutation', '$name', '$gender','$phone', '$email', '$department_id', '$doctor_id')";
        if ($conn->query($insert_query) === TRUE) {
            echo json_encode(['status' => 'success', 'message' => 'Record inserted successfully']);
        } else {
            echo json_encode(['status' => 'error', 'message' => 'Error inserting record: ' . $conn->error]);
        }
        exit;
    } else if (isset($_POST['edit_id'])) {
        $edit_id = $_POST['edit_id'];
        $salutation = $_POST['salutation'];
        $name = $_POST['name'];
        $gender = $_POST['gender'];
        $phone = $_POST['phone'];
        $email = $_POST['email'];
        $department_id = $_POST['department'];
        $doctor_id = $_POST['doctor'];
    
        $update_query = "UPDATE patients SET salutation = '$salutation', name = '$name', gender ='$gender', phone = '$phone', email = '$email', department_id = '$department_id', doctor_id = '$doctor_id' WHERE id = '$edit_id'";
        
        if ($conn->query($update_query) === TRUE) {
            echo json_encode(['status' => 'success', 'message' => 'Record updated successfully']);
        } else {
            echo json_encode(['status' => 'error', 'message' => 'Error updating record: ' . $conn->error]);
        }
        exit;
    }  else if (isset($_POST['del_id'])) { 

        $id = $_POST['del_id'];
        $query = "DELETE FROM patients WHERE id = $id";
     

        if ($conn->query($query) === TRUE) {
            echo json_encode(['status' => 'success', 'message' => 'Record deleted successfully']);
        } else {
            echo json_encode(['status' => 'error', 'message' => 'Error inserting record: ' . $conn->error]);
        }
        exit;

    }
    
}

?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Patient Form</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div class="container mt-5">
    <h2 class="text-center">Patient Registration</h2>
    <form id="patientForm">
        <div class="form-row">
            <div class="form-group col-md-2">
                <label for="salutation">Salutation</label>
                <select id="salutation" name="salutation" class="form-control">
                    <option>Mr</option>
                    <option>Mrs</option>
                    <option>Ms</option>
                    <option>Dr</option>
                </select>
            </div>
            <div class="form-group col-md-5">
                <label for="name">Full Name</label>
                <input type="text" class="form-control" id="name" name="name" placeholder="Enter Full Name" required>
            </div>
            <div>
                <lable >Gender</lable><br>
                  <input type="radio" id="gender" name="gender" value="Male">
                  <label for="gender">Male</label>
                  <input type="radio" id="gender" name="gender" value="Female">
                  <label for="gender">Female</label>
                  <input type="radio" id="gender" name="gender" value="Others">
                  <label for="gender">Others</label>

            </div>
            <div class="form-group col-md-5">
                <label for="phone">Phone</label>
                <input type="text" class="form-control" id="phone" name="phone" placeholder="Phone Number" required>
            </div>
        </div>

        <div class="form-row">
            <div class="form-group col-md-6">
                <label for="email">Email</label>
                <input type="email" class="form-control" id="email" name="email" placeholder="Email" required>
            </div>
            <div class="form-group col-md-3">
                <label for="department">Department</label>
                <select id="department" name="department" class="form-control">
                    <option value="">Select Department</option>
                    <?php while ($row = $departments->fetch_assoc()) { ?>
                        <option value="<?php echo $row['id']; ?>"><?php echo $row['department_name']; ?></option>
                    <?php } ?>
                </select>
            </div>
            <div class="form-group col-md-3">
                <label for="doctor">Doctor</label>
                <select id="doctor" name="doctor" class="form-control">
                    <option value="">Select Doctor</option>
                </select>
            </div>
        </div>

        <button type="submit" class="btn btn-primary">Submit</button>
    </form>

    <h3 class="text-center mt-5">Patient Records</h3>
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Gender</th>
                <th>Phone</th>
                <th>Email</th>
                <th>Department</th>
                <th>Doctor</th>
                <th>Actions</th>
            </tr>
        </thead>
        <tbody id="patientTableBody">
            <!-- Table rows to be populated via AJAX -->
        </tbody>
    </table>
</div>

<script>
$(document).ready(function() {
    // Fetch doctors based on department


    $('#department').change(function() {
        var departmentId = $(this).val();
        $.ajax({
            url: 'fetch_doctors.php',
            type: 'POST',
            data: { department_id: departmentId },
            success: function(data) {
                $('#doctor').html(data);
            }
        });
    });

    // Submit form via AJAX
    $('#patientForm').submit(function(e) {

        e.preventDefault();
        var action = $('#edit_id').length  ? 'update' : 'insert';

        $.ajax({
            url: 'index.php',
            type: 'POST',
            data: $(this).serialize() + '&action=' + action,
            success: function(response) {
                var res = JSON.parse(response);
                alert(res.message);
                if (res.status == 'success') {
                    $('#patientForm')[0].reset();
                    $('#patientForm').find('#edit_id').remove();
                    
                    loadTable(); // Reload the table
                }
            }
        });
    });

    $(document).on('click', '.btn-edit', function() {
    var id = $(this).data('id');


    $.ajax({
        url: 'fetch_patients.php',
        type: 'POST',
        data: { id: id },
        success: function(response) {
            var data = JSON.parse(response);
            
           
            $('#salutation').val(data.salutation);
            $('#name').val(data.name);
            $("#gender[value=" + data.gender + "]").prop('checked', true);
            $('#phone').val(data.phone);
            $('#email').val(data.email);
            $('#department').val(data.department_id).change(); 
            $('#doctor').val(data.doctor_id);

            if ($('#edit_id').length === 0) {
                $('<input>').attr({
                type: 'hidden',
                id: 'edit_id',
                name: 'edit_id',
                value: id
                }).appendTo('#patientForm');
            }

            
        }
    });
    
    });

    $(document).on('click', '.btn-delete', function() {
        var id = $(this).data('id');

        $.ajax({
            url: 'index.php',
            type: 'POST',
            data: $(this).serialize() + '&del_id=' + id,
            success: function(response) {

                var data = JSON.parse(response);
                alert(data.message);
                loadTable(); 
            }
        });
    });


    // Load patient records
    function loadTable() {
        $.ajax({
            url: 'fetch_patients.php',
            type: 'GET',
            success: function(data) {
                $('#patientTableBody').html(data);
            }
        });
    }

    loadTable(); // Initial table load
});
</script>
</body>
</html>
-------------------
<?php

require("conn.php");

if(isset($_POST['id'])) {
    $id = $_POST['id'];
    $query = "SELECT * FROM patients WHERE id = $id  ORDER BY id ";
    $result = $conn->query($query);
    
    if ($result->num_rows > 0) {
        $row = $result->fetch_assoc();

     
        echo json_encode([
            'id' => $row['id'],
            'salutation' => $row['salutation'],
            'name' => $row['name'],
            'gender' => $row['gender'],
            'phone' => $row['phone'],
            'email' => $row['email'],
            'department_id' => $row['department_id'],
            'doctor_id' => $row['doctor_id']
        ]);
    } else {
        echo json_encode(['status' => 'error', 'message' => 'Record not found']);
    }
} else {

    $patients = $conn->query("SELECT p.id, CONCAT(p.salutation, ' ', p.name) AS name,p.gender, p.phone, p.email, d.department_name, doc.doctor_name 
        FROM patients p 
        JOIN departments d ON p.department_id = d.id 
        JOIN doctors doc ON p.doctor_id = doc.id");
    
    while ($row = $patients->fetch_assoc()) {
        echo "<tr>
            <td>{$row['id']}</td>
            <td>{$row['name']}</td>
            <td>{$row['gender']}</td>
            <td>{$row['phone']}</td>
            <td>{$row['email']}</td>
            <td>{$row['department_name']}</td>
            <td>{$row['doctor_name']}</td>
            <td>
                <button class='btn btn-info btn-edit' data-id='{$row['id']}'>Edit</button>
                <button class='btn btn-danger btn-delete' data-id='{$row['id']}'>Delete</button>
            </td>
        </tr>";
    }
}

?>
fetch_patients.php
-----------
<?php

require("conn.php");


$department_id = $_POST['department_id'];
$doctors = $conn->query("SELECT * FROM doctors WHERE department_id = $department_id");

while ($row = $doctors->fetch_assoc()) {
    echo "<option value='{$row['id']}'>{$row['doctor_name']}</option>";
}
?>

fetch_doctors.php
© www.soinside.com 2019 - 2024. All rights reserved.