290 lines
10 KiB
Plaintext
290 lines
10 KiB
Plaintext
<?php
|
|
#Datenbank Verbindung einbinden
|
|
require 'Connections/Connections.php';
|
|
#Include datei für Loginüberprüfung
|
|
include "Includes/Session.php";
|
|
|
|
#Update funktion
|
|
function update()
|
|
{
|
|
global $con;
|
|
global $Userid;
|
|
#zuweisen der Variablen des Formulars zu den Variablen des sql statements
|
|
$UpdateFName = $_POST['FirstName'];
|
|
$UpdateLName = $_POST['LastName'];
|
|
$UpdateEmail = $_POST['Email'];
|
|
$UpdateUsername = $_POST['Username'];
|
|
$UpdatePassword = $_POST['Password'];
|
|
$PW2 = $_POST['Password_confirm'];
|
|
#Nickname überprüfen
|
|
$result_verify_Username = $con->query("select * from user where Username = '$UpdateUsername' and isactive = 1");
|
|
$row = $result_verify_Username->fetch_array(MYSQLI_BOTH);
|
|
$fetchedUsername = $row['Username'];
|
|
$fetchedUserid = $row['UserID'];
|
|
#Eindeutigkeit des Users abfragen
|
|
if (!isset($fetchedUserid)){
|
|
if($UpdatePassword==$PW2){
|
|
$StorePassword = password_hash("$UpdatePassword", PASSWORD_BCRYPT, array('cost' => 10));
|
|
$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}', Password='{$StorePassword}' where UserID= $Userid");
|
|
#Weiter leitung auf eigene Datei (reload)
|
|
header('Location: Logout.php');
|
|
}else{
|
|
$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}'where UserID= $Userid");
|
|
#Weiter leitung auf eigene Datei (reload)
|
|
header('Location: Logout.php');
|
|
}
|
|
}
|
|
elseif ($fetchedUserid == $Userid AND $UpdateUsername == $fetchedUsername)
|
|
{
|
|
if($UpdatePassword==$PW2){
|
|
$StorePassword = password_hash("$UpdatePassword", PASSWORD_BCRYPT, array('cost' => 10));
|
|
$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}', Password='{$StorePassword}' where UserID= $Userid");
|
|
#Weiter leitung auf eigene Datei (reload)
|
|
header('Location: '.$_SERVER['REQUEST_URI']);
|
|
}else{
|
|
$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}'where UserID= $Userid");
|
|
#Weiter leitung auf eigene Datei (reload)
|
|
header('Location: '.$_SERVER['REQUEST_URI']);
|
|
}
|
|
#Wenn Username gelöscht werden will
|
|
}elseif($fetchedUsername == ""){
|
|
if($UpdatePassword==$PW2){
|
|
$StorePassword = password_hash("$UpdatePassword", PASSWORD_BCRYPT, array('cost' => 10));
|
|
$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}', Password='{$StorePassword}' where UserID= $Userid");
|
|
#Weiter leitung auf eigene Datei (reload)
|
|
header('Location: Logout.php');
|
|
}else{
|
|
$sql = $con->query("UPDATE user SET Fname='{$UpdateFName}', Lname='{$UpdateLName}', Email='{$UpdateEmail}', Username='{$UpdateUsername}'where UserID= $Userid");
|
|
#Weiter leitung auf eigene Datei (reload)
|
|
header('Location: Logout.php');
|
|
}
|
|
}else{
|
|
print "<script type='text/javascript' langeuage='javascript'>
|
|
alert('Username ist bereits in verwendung!');</script>";
|
|
}
|
|
}
|
|
|
|
|
|
function load_product()
|
|
{
|
|
global $con; # setzt die Variable CON für die Datenbank verbindung
|
|
global $Userid;
|
|
#Array für Zwischenspeicherung
|
|
$ArtNr = array();
|
|
$ArtName = array();
|
|
$ArtPreis = array();
|
|
$ArtImage = array();
|
|
$DefaultArtNr = array();
|
|
$DefaultNum = array();
|
|
#Int wert für while loop
|
|
$c = 0;
|
|
$sql = $con->query("SELECT produktid_fk, Anzahl FROM standard_bestellung where userid_fk='$Userid'");
|
|
|
|
while($row = mysqli_fetch_array($sql))
|
|
{
|
|
$DefaultArtNr[$c] = $row['produktid_fk'];
|
|
$DefaultNum[$c] = $row['Anzahl'];
|
|
$c++;
|
|
}
|
|
#Int wert für while loop
|
|
$i = 0;
|
|
#Datenbank auslesen
|
|
$query = $con->query("SELECT * FROM produkte");
|
|
#Datensätze in array schreiben
|
|
while($row = mysqli_fetch_array($query))
|
|
{
|
|
$ArtNr[$i] = $row['ArtNr'];
|
|
$ArtName[$i] = $row['Name'];
|
|
$ArtPreis[$i] = $row['Preis'];
|
|
$ArtImage[$i] = $row['produkt_image'];
|
|
$i++;
|
|
}
|
|
#Tabelle aufbauen
|
|
echo '<div class="mediacenter"><div class="table-container"><table class="tab_bestellen">';
|
|
echo '<tr>';
|
|
#Erste tabellen reihe ausgeben
|
|
for($x=0;$x<$i;$x++) { echo '<td><img src='.$ArtImage[$x].' width="120" height="82"/></td>'; }
|
|
echo '</tr><tr>';
|
|
#zweite tabellen reihe ausgeben
|
|
for($x=0;$x<$i;$x++) { echo "<td>$ArtName[$x]</td>"; }
|
|
echo '</tr><tr>';
|
|
#Dritte tabellen reihe ausgeben
|
|
for($x=0;$x<$i;$x++) { echo '<td>'.$ArtPreis[$x].'</td>'; }
|
|
echo '</tr><tr>';
|
|
#letzte tabellen reihe ausgeben
|
|
for($x=0;$x<$i;$x++) {
|
|
echo '<td><input name="'.$ArtNr[$x].'" type="text" required="required" class="NField" value="'.$DefaultNum[$x].'" /></td>';
|
|
}
|
|
echo '</tr></table></div></div>';
|
|
}
|
|
|
|
|
|
function set_default()
|
|
{
|
|
global $con; # setzt die Variable CON für die Datenbank verbindung
|
|
global $Userid;
|
|
#post array in normales schreiben
|
|
$post = $_POST;
|
|
#Array element button entfernen
|
|
unset($post['default']);
|
|
#Standard bestellung löschen um sie neu anzulegen
|
|
$con->query("delete from standard_bestellung where userid_fk='$Userid'");
|
|
#Für jedes produkt ein eintrag schreiben
|
|
foreach ($post as $key => $entry)
|
|
{
|
|
$con->query("insert into standard_bestellung (userid_fk,produktid_fk,Anzahl) VALUES ('$Userid','$key','$entry');");
|
|
}
|
|
}
|
|
|
|
function print_history()
|
|
{
|
|
global $con; # setzt die Variable CON für die Datenbank verbindung
|
|
global $Userid;
|
|
$ProduktSummen = array();
|
|
$i = 0;
|
|
#Daten aus Datenbank ziehen
|
|
$date = $con->query("select Timestamp as 'Datum' from user where UserID='$Userid'")->fetch_object()->Datum;
|
|
$name = $con->query("SELECT CONCAT(Lname, ' ',Fname) as 'Name' FROM user where UserID='$Userid'")->fetch_object()->Name;
|
|
$g_Preis = $con->query("SELECT sum(Preis) as 'G_Preis' FROM Bestell_history where Userid_fk='$Userid';")->fetch_object()->G_Preis;
|
|
$Produkte = $con->query("SELECT Distinct Produktid_fk from Bestell_history;");
|
|
|
|
echo "<h4>Konsum seit Registierung am $date</h4><br />";
|
|
echo '<div class="mediacenter"><table><thead><tr><th>Name</th>';
|
|
while($row = mysqli_fetch_array($Produkte))
|
|
{
|
|
$Produktid = $row['Produktid_fk'];
|
|
$Produktname = $con->query("SELECT Name FROM produkte where ArtNr='{$Produktid}'")->fetch_object()->Name;
|
|
$ProduktSummen[$i] = $con->query("Select sum(Anzahl) as 'Anzahl' from Bestell_history where Userid_fk='$Userid' and Produktid_fk='$Produktid'")->fetch_object()->Anzahl;
|
|
echo "<th>$Produktname</th>";
|
|
$i++;
|
|
}
|
|
echo "<th>Gesamt Ausgegeben</th></tr></thead><tbody><tr><td>$name</td>";
|
|
for($x=0;$x<$i;$x++) {echo "<td>$ProduktSummen[$x]</td>";}
|
|
echo "<td>$g_Preis €</td></tr></tbody></table></div>";
|
|
}
|
|
|
|
function delete_account()
|
|
{
|
|
global $con;
|
|
global $Userid;
|
|
$delete_user = $con->query("DELETE FROM user WHERE UserID = '$Userid' ");
|
|
unset($_SESSION["UserID"]);
|
|
session_destroy();
|
|
print "<script type='text/javascript' langeuage='javascript'>
|
|
alert('Du hast deinen Account erfolgreich gelöscht!');
|
|
window.location = 'index.php';</script>";
|
|
|
|
}
|
|
|
|
|
|
function augustiner_tageskarte()
|
|
{
|
|
global $con;
|
|
global $Email;
|
|
#zuweisen der Variablen des Formulars zu den Variablen des sql statements
|
|
if(isset($_POST['active'])){
|
|
$fetch="Select distinct(email) from tageskarte WHERE email='$Email';";
|
|
$answer = $con->query($fetch);
|
|
if(mysqli_num_rows($answer) == 0){
|
|
|
|
$sql="INSERT INTO tageskarte (email,hash,active) VALUES ('$Email','','1');";
|
|
$insert = $con->query($sql);
|
|
}
|
|
}else{
|
|
$sql="DELETE FROM tageskarte WHERE email = '$Email';";
|
|
$delete = $con->query($sql);
|
|
}
|
|
}
|
|
|
|
function check_tageskarte()
|
|
{
|
|
global $con;
|
|
global $Email;
|
|
|
|
$sql="Select distinct(email) from tageskarte WHERE email='$Email';";
|
|
$answer = $con->query($sql);
|
|
if(mysqli_num_rows($answer) > 0){
|
|
echo "checked";
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#Prüfung ob Buttons gedrückt wurden
|
|
if(isset($_POST['default'])){
|
|
set_default();
|
|
}
|
|
if(isset($_POST['Update'])){
|
|
update();
|
|
}
|
|
if(isset($_POST['remove'])){
|
|
delete_account();
|
|
}
|
|
if(isset($_POST['abo'])){
|
|
augustiner_tageskarte();
|
|
}
|
|
#Header und menü einbinden
|
|
$webpagetitle = "Einstellungen";
|
|
include "Includes/Header.php";
|
|
include "Includes/Menu.php";
|
|
#html Content ausgeben
|
|
?>
|
|
<div class="content">
|
|
<div class="Rahmen">
|
|
<div class="center">
|
|
<h4>Hier kannst du deine Accountdaten ändern. Oder deinen Account löschen <br /><br />
|
|
Um dein Kennwort zu ändern, gib dies bitte in das Passwort- und das Passwortbestätigungsfeld ein. <br /><br />
|
|
Wenn du deinen Username änderst ist ein erneutes Login notwendig</h4>
|
|
<br />
|
|
<form action="" method="post" name="Update">
|
|
<div class="FormElement">
|
|
<input name="FirstName" type="text" required="required" class="TField" value="<?php echo $Fname; ?>">
|
|
</div>
|
|
<div class="FormElement">
|
|
<input name="LastName" type="text" required="required" class="TField" value="<?php echo $Lname; ?>">
|
|
</div>
|
|
<div class="FormElement">
|
|
<input name="Email" type="email" required="required" class="TField" value="<?php echo $Email; ?>">
|
|
</div>
|
|
<div class="FormElement">
|
|
<input name="Username" type="text" placeholder="Username" class="TField" value="<?php echo $Uname; ?>">
|
|
</div>
|
|
<div class="FormElement">
|
|
<input name="Password" type="password" required="required" class="TField" value="dummypw">
|
|
</div>
|
|
<div class="FormElement">
|
|
<input name="Password_confirm" type="password" class="TField" id="password_confirm" placeholder="Passwort bestätigen">
|
|
</div>
|
|
<br />
|
|
<div class="FormElement">
|
|
<input name="Update" type="submit" class="button" value="Update Info">
|
|
</div>
|
|
</form>
|
|
<br />
|
|
<hr />
|
|
<form action="" method="post" name="default">
|
|
<?php load_product();?>
|
|
<input name="default" type="submit" class="button" value="set Default">
|
|
</form>
|
|
<hr />
|
|
<h1>Augustiner Tageskarte Email Abo</h1>
|
|
<form action="" method="post" name="abo">
|
|
<input type="checkbox" <?php check_tageskarte(); ?> name="active" value="1">
|
|
<input name="abo" type="submit" class="button" value="Bestätigen">
|
|
</form>
|
|
|
|
<hr />
|
|
<h1>Account Löschen?</h1>
|
|
<form action="" method="post" name="remove">
|
|
<input name="remove" type="submit" class="button" value="Account löschen!">
|
|
</form>
|
|
<hr />
|
|
<?php print_history();?>
|
|
|
|
<br />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php include "Includes/Footer.php";?>
|