Untitled
unknown
plain_text
3 years ago
9.9 kB
10
Indexable
<?php
//zapnutie vypisu chyb
error_reporting(E_ERROR | E_PARSE);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
//lokalny connector na databazu
//$conn = new mysqli("25.54.36.74", "root", "", "dds_projekt");
$servername = "25.54.36.74"; //ip adresa druheho pocitaca
$username = "PC2"; //username druheho usera
$password = "";
$dbname = "dt_projekt";
//pokial sa neviem pripojit k sebe kod skonci
/* if ($conn->connect_errno)
{
die("connection failed: " . $conn->connect_error);
} */
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("connection failed: " . mysqli_connect_error());
}
/*if ($conn) {
echo("connection OK ");
}*/
if(isset($_POST["submit"]))
{
$meno = $_POST["meno"];
$priezvisko = $_POST["priezvisko"];
$datum = $_POST["datum"];
$insert = "INSERT INTO formular (meno, priezvisko, datum) VALUES ('$meno','$priezvisko','$datum')";
//vykonas insert k sebe do DB
mysqli_query($conn,$insert);
//zistis si ake ID dostal posladny insert, id v zmysle aky primarny kluc dostal
$id_posledne = $conn->insert_id;
//zakodujes si dany insert, nie je to treba, ale vyzera to lepsie ked to mas v databaze zasifrovane
$insert_decode = base64_encode($insert);
//vlozis svoj insert do fronty a dam mu status 1, lebo na riadku 30 som ho vykonal
$vlozenie = "INSERT INTO rada (id_formular,id_prihlasenia, query, stav) VALUES ('$id_posledne','-1','$insert_decode', 1)";
//vykonam insert do fronty
$ret = mysqli_query($conn, $vlozenie);
if($ret)
{
//vytiahnem si udaje ku vsetkym vzdialenym uzlom
$q = "select * from prihlasenie";
//vykonam select
$logins = mysqli_query($conn, $q);
//v cykle prechadzam tolko krat, kolko uzlov mam
while($row = mysqli_fetch_array($logins))
{
//vyrobim si databazovy connector ku vzdialenemu uzlu
$conn_remote = new mysqli($row['server'], $row['pouzivatel'], $row['heslo'], $row['nazov_db']);
$id = $row['id_prihlasenia'];
//insert do fronty pre vzdialeny uzol, so statusom 0 lebo este nie je vykonany $insert_decode = toto je ten prikaz co treba dostat do kazdeho uzla, z riadku 36
$param = "INSERT INTO rada (id_formular, id_prihlasenia, query, stav) VALUES ('$id_posledne', '$id','$insert_decode', 0)";
//vykonam do svojej tabulky fronta
$fronta_log = mysqli_query($conn, $param);
//preverujem ci existuje spojenie na vzdialeny uzol, pokial nie preskakujem iteraciu a cyklus robi ako keby i++
if ($conn_remote->connect_error)
{
continue;
}
//vyberam vsetko z fronty pre dany uzol co este nie je vykonane
//totok musis urobit k by ti tam stalo vac nevykonanych query, lebo potrebujes aj tie spatne stojace vykonat a v dobrom poradi
$check_fronta = "SELECT * FROM rada WHERE stav = 0 and id_prihlasenia =" . $id . " ORDER BY `id_rada` ASC";
$check_fronta_list = mysqli_query($conn, $check_fronta);
//tutuok v cykle prechadzas vsetky tie nevykonane zaznamy
while($rows = mysqli_fetch_array($check_fronta_list))
{
//dekodujes si ten insert z riadkum 27, teda zas je to prikaz
$decode = base64_decode($rows['query']);
//vzyberes si posledny primarny kluc zo vzdialenej databazy
$q = "select max(id_rada) as max_id from formular";
$return = $conn_remote->query($q);
$id_remote_max_before = $return->fetch_assoc();
//vykonas ten dekodovany insert
$ret = mysqli_query($conn_remote, $decode);
//zase si zistit maximalne id z cudzieho
//VYSKUSAT BEZ
$q = "select max(id_rada) as max_id from formular"; //VYSKUSAT BEZ
//VYSKUSAT BEZ
$return = $conn_remote->query($q);
$id_remote_max_after = $return->fetch_assoc();
//pouzivas logiku ze to id z riadku 106 odpocitas od id z riadku 95 a musi ti dat vysledok 1, teda urcite vies ze insert do vzdialenej db prebehol
if($ret and ($id_remote_max_after['max_id'] - $id_remote_max_before['max_id']) == 1)
{
$idfronta = $rows['id_rada'];
$idremote = $id_remote_max_after['max_id'];
//tu uz vies ze inseret prebehol a len si u seba updatnes frontu na status = 1, lebo uz je to vykonane
$update = "update rada set stav = 1, id_remote = $idremote where id_rada = " . $idfronta;
mysqli_query($conn, $update);
}
}
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<style>
table, th, td {
border: 1px solid;
}
table {
width: 100%;
border-collapse: collapse;
}
.button {
background-color: black;
color: #e3dcd1 !important;
transition-duration: 0.4s;
cursor: pointer;
}
.button:hover {
background-color: #f2eae1;
color: black !important;
}
.modal-backdrop
{
opacity:0.5 !important;
}
</style>
<title>Projekt DT</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<link type="image/png" sizes="16x16" rel="icon" href="write.png">
</head>
<body style="background-color:#f5f0e9;">
<h2 style=" padding-top: 30px; justify-content: center; display: flex; align-items: center;">Distribuované technológie</h2>
<p style="justify-content: center; display: flex; align-items: center;">Prihlasovanie študentov na skúšku.</p>
<div class="btn-toolbar" style="padding-left: 15px; padding-top: 30px; justify-content: center; display: flex; align-items: center;">
</br>
<!--MODAL1-->
<button type="button" class="btn button col-sm" data-toggle="modal" data-target="#exampleModal2" style="border: 1px solid black">
Prihlásiť sa na skúšku
</button>
<div class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content" >
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p><b>Prihlásenie na skúšku </b></p>
<div class="container">
<form class="form-horizontal" action="test_projekt.php" method="POST">
<div class="form-group">
<label class="control-label col-sm-2" for="meno">Meno: </label>
<div class="col-sm-4">
<input type="meno" class="form-control" id="meno" placeholder="Zadajte meno" name="meno">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="priezvisko">Priezvisko: </label>
<div class="col-sm-4">
<input type="priezvisko" class="form-control" id="priezvisko" placeholder="Zadajte priezvisko" name="priezvisko">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="datum">Dátum: </label>
<div class="col-sm-4">
<select name="datum" id="datum" class="form-control" placeholder="Vyberte datum">
<option value="21.12.2022">21.12.2022</option>
<option value="3.1.2023">3.1.2023</option>
<option value="19.1.2023">19.1.2023</option>
<option value="27.1.2023">27.1.2023</option>
</select>
</div>
</div>
<!--<button onclick="myFunction()">Potvrd datum</button>-->
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" name="submit" onclick="myFunction"></input>
</div>
</div>
</form>
</div>
<!--<p id="demo"></p>-->
<script>
function myFunction() {
var vybrate = $("#datum option:selected").text();
///document.write(datum)
document.getElementById("demo").innerHTML = vybrate;
}
</script>
</div>
</div>
</div>
</div>
<!--MODAL2-->
<button type="button" class="btn button col-sm" data-toggle="modal" data-target="#exampleModal" style="border: 1px solid black">
Zobraziť prihlásených študentov
</button>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p><b>Prihlásení študenti</b></p>
<?php
$result = mysqli_query($conn,"SELECT * FROM formular order by id_formular DESC");
if(!empty($result))
{
?>
<div class="container" style="display:table; width: 100%; height: 100%">
<table>
<tr>
<td>ID</td>
<td>Meno</td>
<td>Priezvisko</td>
<td>Datum</td>
</tr>
<?php
$i=0;
while($row = mysqli_fetch_array($result))
{
?>
<tr>
<td><?php echo $row["id_formular"]; ?></td>
<td><?php echo $row["meno"]; ?></td>
<td><?php echo $row["priezvisko"]; ?></td>
<td><?php echo $row["datum"]; ?></td>
<!--<td><a href="delete.php?idform=<?php //echo $row["idform"]; ?>">Delete</a></td>-->
</tr>
<?php
$i++;
}
?>
</table>
</div>
<?php
}
?>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Editor is loading...