registrace v1

This commit is contained in:
Milan Toman
2024-02-28 00:15:34 +01:00
parent a4d23b6845
commit 70458017bb
4 changed files with 160 additions and 36 deletions

View File

@@ -32,7 +32,20 @@ html,body,h1,h2,h3,h4,h5,h6 {font-family: "Roboto", sans-serif; margin:0px; padd
}
</style>
<body>
<?
if(isset($_GET['write_success'])){
?>
<div class="w3-row w3-black" id="ERROR BOX">
<div class="w3-full w3-center <? if($_GET['write_success'] == 'false') echo "w3-red";else echo "w3-green"; ?>"> <? echo $_GET['reason']; ?> </div>
<script>
setTimeout(function () {
window.location.replace("http://<? echo $_SERVER['HTTP_HOST']; ?>");
}, 10000);
</script>
</div>
<?
}
?>
<!-- First Grid: Logo & About -->
<div class="w3-row w3-black" id="title">
<div class="w3-full w3-center w3-black">
@@ -213,7 +226,7 @@ html,body,h1,h2,h3,h4,h5,h6 {font-family: "Roboto", sans-serif; margin:0px; padd
</th>
</th>
</p>
<p><input type="submit" disabled class="w3-button w3-green w3-round-large" id="send" name="Send" value="Poslat"></p>
<p><input type="submit" class="w3-button w3-green w3-round-large" id="send" name="Send" value="Poslat"></p>
</form>
</div>
</div>

View File

@@ -20,8 +20,15 @@
while($row = $result->fetch_assoc()) {
$races[] = $row;
}
}else{
echo "0 results";
}
// would be nice to check if the name / nick / email exists
$sql = "SELECT ID, NAME, SURNAME, EMAIL from REGISTERED where EMAIL_CHECK like '".$email_check."'";
$result = $conn->query($sql);
if ($result->num_rows > 0){
$unique_email = False;
}
else{
$unique_email = True;
}
$conn->close();
//var_dump($races);

View File

@@ -0,0 +1,57 @@
<?
$servername = "db";
$username = 'kalskeborec';
$password = 'Kalskeborec1!23$';
$db = 'kalskeborec';
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// would be nice to check if the name / nick / email exists
$sql = "SELECT ID, NAME, SURNAME, EMAIL from REGISTERED where EMAIL_CHECK like '".$email_check."'";
$result = $conn->query($sql);
if ($result->num_rows > 0){
$unique_email = False;
}
else{
$unique_email = True;
}
// Geting the values from the script above. -< register.php
if($unique_email){
$stm = $conn->prepare("INSERT INTO REGISTERED (ID, NAME, SURNAME, EMAIL, PHONE, NICK, RACE, TIME, TRACKLOG, EMAIL_CHECK, CONFIRMED, PAID)
values (NULL,?,?,?,?,?,?,'[None]','[None]',?,'0','0')");
$stm->bind_param('sssssss',$fname, $lname, $email, $phone, $nick, $race_to_write, $email_check);
if ($stm->execute() === TRUE) {
//echo "New record created successfully";
$sql = "SELECT ID, NAME, SURNAME, EMAIL, PHONE, NICK, RACE from REGISTERED where EMAIL_CHECK like '".$email_check."'";
$result = $conn->query($sql);
if ($result->num_rows == 1){
while($racer = $result->fetch_assoc()) {
$racers[] = $racer;
}
$write_success = ["result"=> True, "reason" => "Prihlaseno"];
$logged_racer = $racers[0];
}
else{
$write_success = ["result"=> False, "reason" => "Error: Duplikatni zaznam zavodnika, napis Ventilovi"];
}
} else {
$write_success = ["result"=> False, "reason" => "Error: " . $stm . ": " . $conn->error];
}
}
else {
$write_success = ["result"=> False, "reason" => "Zavodnik_s_timto_emailem_uz_existuje"];
}
$conn->close();
?>

View File

@@ -1,13 +1,36 @@
<?
$rnd_link = md5($_POST['email']);
include './lib/get_races.php';
//echo var_dump($_SERVER);
$base_url = $_SERVER['HTTP_HOST'];
if(isset($_POST['race'])) $race_to_write = $_POST['race'];else header("Location: http://$base_url");
$email_check = md5($_POST['email']);
include './lib/get_races.php'; //contains list of races, and checks if the email has already is present in DB
foreach($races as $race){
if($race['ID'] == $_POST['race']){
$selected_race['NAME'] = $race['NAME'];
$selected_race['ID'] = $race['ID'];
$race_blob[$race['ID']] = $race['NAME'];
}
if(isset($_POST['fname']) && strlen($_POST['fname']) > 0){ $fname = $_POST['fname'];} else header("Location: http://$base_url/?write_success=false&reason=Jmeno_je_potreba_vyplnit");
if(isset($_POST['lname']) && strlen($_POST['lname']) > 0){ $lname = $_POST['lname'];} else header("Location: http://$base_url/?write_success=false&reason=Prijmeni_taky");
if(isset($_POST['email']) && strlen($_POST['email']) > 0){ $email = $_POST['email'];} else header("Location: http://$base_url/?write_success=false&reason=Bez_mailu_to_nepude");
if(isset($_POST['phone']) && strlen($_POST['phone']) > 0){ $phone = $_POST['phone'];} else header("Location: http://$base_url/?write_success=false&reason=Telefon_potrebuji");
if(isset($_POST['nick']) && strlen($_POST['nick']) > 0){ $nick = $_POST['nick'];} else header("Location: http://$base_url/?write_success=false&reason=Nejak_se_jemnovat_musite");
if(isset($_POST['confirm'])){
if($_POST['confirm'] == "true"){
include "./lib/write_registered.php";
//if($write_success['result']){
// header("Location: http://$base_url/?write_success=true&reason=".$write_success['reason']."");
//}
//else{
// header("Location: http://$base_url/?write_success=false&reason=".$write_success['reason']."");
// //echo "Error: " . $stm . "<br>" . $conn->error;
//}
//die();
}
else {
echo "Oops.";
}
}
?>
<!DOCTYPE html>
@@ -25,6 +48,42 @@ foreach($races as $race){
<body class="w3-black w3-center">
<div class="w3-content w3-padding">
<h1>Rekapitulace Registrace</h1>
<?
if(isset($_POST['confirm'])){
if($write_success['result']){
echo "<h2 class=\"w3-green\">".$write_success['reason']."</h2>";
?>
<table class="w3-table w3-striped w3-bordered w3-border w3-white">
<tr>
<th>ID</th>
<th>Jméno</th>
<th>Email</th>
<th>Telefon</th>
<th>Přezdívka / Team</th>
<th>Závod</th>
</tr>
<tr>
<td><? echo $logged_racer['ID']; ?></td>
<td><? echo $logged_racer['NAME'].' '.$logged_racer['SURNAME']; ?></td>
<td><? echo $logged_racer['EMAIL']; ?></td>
<td><? echo $logged_racer['PHONE']; ?></td>
<td><? echo $logged_racer['NICK']; ?></td>
<td><? echo $race_blob[$logged_racer['RACE']]; ?></td>
</tr>
</table>
<h3><a href="../">Zpátky na hlavní stránku</a></h3>
<?
}
else{
echo "<h2 class=\"w3-red\">".$write_success['reason']."</h2>";
echo "<h3><a href=\"../\">Zpátky na hlavní stránku</a></h3>";
}
}
else{
if(!$unique_email){
echo "<h2 class=\"w3-red\">Email existuje</h2>";
}
?>
<table class="w3-table w3-striped w3-bordered w3-border w3-white">
<tr>
<th>Jméno</th>
@@ -32,46 +91,34 @@ foreach($races as $race){
<th>Telefon</th>
<th>Přezdívka / Team</th>
<th>Závod</th>
<th>Email check link</th>
</tr>
<tr>
<td><? echo $_POST['fname'].' '.$_POST['lname']; ?></td>
<td><? echo $_POST['email']; ?></td>
<td><? echo $_POST['phone']; ?></td>
<td><? echo $_POST['nick']; ?></td>
<td><? echo $selected_race['NAME']; ?></td>
<td><a href="<? echo $_SERVER['HTTP_REFERER'].$_SERVER['PHP_SELF'].'?link='.$rnd_link; ?>"><? echo $_SERVER['HTTP_REFERER'].$_SERVER['PHP_SELF'].'?link='.$rnd_link; ?></a></td>
<td><? echo $race_blob[$race_to_write]; ?></td>
</tr>
</table>
</div>
<div class="w3-padding">
<form method="post" action="./register.php">
<input type="hidden">
<input type="submit" class="w3-button w3-green w3-round-large" value="Potvrzuji">
<input type="hidden" name="confirm" value="true">
<input type="hidden" name="fname" value="<? echo $_POST['fname']; ?>">
<input type="hidden" name="lname" value="<? echo $_POST['lname']; ?>">
<input type="hidden" name="email" value="<? echo $_POST['email']; ?>">
<input type="hidden" name="phone" value="<? echo $_POST['phone']; ?>">
<input type="hidden" name="nick" value="<? echo $_POST['nick']; ?>">
<input type="hidden" name="race" value="<? echo $race_to_write; ?>">
<input type="hidden" name="email_check" value="<? echo $rnd_link; ?>">
<input type="submit" class="w3-button w3-green w3-round-large" value="Jo, to vypadá dobře, Potvrzuji účast">
</form>
</div>
<?
// konec predregistracni casti
}
?>
</body>
</html>
<?
// / $servername = "db";
// / $username = 'kalskeborec';
// / $password = 'Kalskeborec1!23$';
// / $db = 'kalskeborec';
// /
// / // Create connection
// / $conn = new mysqli($servername, $username, $password, $db);
// /
// / // Check connection
// / if ($conn->connect_error) {
// / die("Connection failed: " . $conn->connect_error);
// / }
// /
// /
// / $conn->close();
?>