How to make a html button execute a php script ?
I am working on a login system where only one user can login and whenever other users try to login, it should give them the warning pop up message saying another user is already logged in - Do you want to take over from them?
- If
userA
is already logged in anduserB
tries to login then it should show on the popup asuserA is already logged in, do you want to take over?
. - Now for
userA
behind the scene, we will take away write access and show them another popup message that your write access is revoked.
Second point I can handle it later on but as of now I am focus on doing the point one. Below is my code in which I am trying to achieve the first point at LINE A
-
if (isset($_POST['user_name'], $_POST['user_pass']) && $_POST['user_login'] == 1) {
//Assigning posted values to variables.
$username = $_POST['user_name'];
$password = $_POST['user_pass'];
//Checking the values are existing in the database or not
$stmt = $connect->prepare("SELECT user_pass FROM userspanel WHERE user_name=?");
$stmt->bind_param('s', $username);
$stmt->execute();
$result = $stmt->get_result();
$user_from_db = $result->fetch_object();
if ($user_from_db && password_verify($password, $user_from_db->user_pass)) {
$_SESSION['user_name'] = $username;
$sql = "SELECT * FROM trace_users where open='true'";
$result1 = mysqli_query($connect, $sql);
if($result1 = mysqli_query($connect, $sql)){
if(mysqli_num_rows($result1) > 0){
while($row = mysqli_fetch_array($result1)){
if($row['open'] == "true") {
if(!isset($_SESSION['pageadmin'])) {
$message = "user " . $row['user_name'] . " is logged in. Do you want to take over ?";
// LINE A
// how to show pop up button which shows $message on it
// and add action on ok and cancel button here?
}
break;
}
}
} else{
$_SESSION['pageadmin'] = true;
$open = "true";
$read_access = "1";
$write_access = "1";
$stmt = $connect->prepare("UPDATE trace_users SET open=?, read_access=?, write_access=? WHERE user_name=?");
$stmt->bind_param('ssss', $open, $read_access, $write_access, $username);
$stmt->execute();
}
}
} else {
echo "Invalid username and password";
}
}
I want to achieve the following tasks but I am confused on how to achieve it -
- At
LINE A
, I want to show a pop up message saying"Previous user is logged in. Do you want to take over?"
with Ok and Cancel buttons. - Once I click on
Ok
button on that pop up message then I want to execute certain code in php let's say printhello world
for now and if I click thecancel
button on that pop then I don't want to do anything.
In short, I want to achieve two things:
1. Create a popup message with Ok and Cancel buttons at Line A.
2. On clicking Ok button, I want to execute php script and on clicking Cancel button I don't want anything to happen.
Basic scenario:
.txt
file in the following format (as JSON):user_id
andcreated_at
fields in the file when a user attempts to sign in.user_id
field is same as theid
of the user who attempts to log in andcreated_at
field is not older than 12 hours ago (or your custom logic), just updatecreated_at
field in the file and log the user in.user_id
field is same as theid
of the user who attempts to log in, but passed more than 12 hours (or your custom logic), ask the user if he/she want to take over another user.user_id
field is not same as theid
of the user who attempts to log in ask the user if he/she want to take over another user.Basic implementation:
.txt
file in your project directory.helpers.php
in my case):login.php
in my case):index.php
in my case):check.php
in my case):confirmed.php
in my case):Tested and works fine. But you should customize it for your needs.