Selbstregistrierung
This commit is contained in:
parent
376170cce7
commit
2c7081b8ab
@ -63,8 +63,8 @@ if ($function == 'usersave') {
|
||||
$uid = $db->insert_id;
|
||||
if (!$sql1) {
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Es gab ein Fehler in der Datenbank: Insert User</div>|***|error';
|
||||
exit;
|
||||
$error++;
|
||||
exit;
|
||||
}
|
||||
for ($i = 0; $i < sizeof($rollen); $i++) {
|
||||
$sql2 = $db->query("INSERT INTO jumi_admin_rollen_user_zuord ( rid
|
||||
|
153
controller/selfregistration.php
Normal file
153
controller/selfregistration.php
Normal file
@ -0,0 +1,153 @@
|
||||
<?php
|
||||
require_once("../config.inc.php");
|
||||
$function = $_POST['function'];
|
||||
|
||||
if ($function == 'membersave') {
|
||||
$vorname = trim($_POST['vorname']);
|
||||
$nachname = trim($_POST['nachname']);
|
||||
$mail = trim($_POST['mail']);
|
||||
$alter16 = trim($_POST['alter16']);
|
||||
$singstimme = $_POST['singstimme'];
|
||||
|
||||
$result = $db->query("SELECT count(*) Anz FROM jumi_admin WHERE mail = '$mail'");
|
||||
$row = $result->fetch_array();
|
||||
|
||||
#Fehlercheck
|
||||
$result = $db->query("SELECT count(*) Anz FROM jumi_chor_saenger WHERE mail = '$mail'");
|
||||
$row = $result->fetch_array();
|
||||
|
||||
if ($row['Anz'] != "0") {
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> User ist im System bereits vorhanden!</div>|***|error';
|
||||
exit;
|
||||
}
|
||||
if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Geben Sie eine gültige Mailadresse ein!</div>|***|error';
|
||||
exit;
|
||||
}
|
||||
|
||||
$error = 0;
|
||||
|
||||
$datum = date("Y-m-d H:i:s");
|
||||
$sql1 = $db->query("INSERT INTO jumi_chor_saenger ( vorname
|
||||
, nachname
|
||||
, mail
|
||||
, singstimme
|
||||
, alter16
|
||||
, selfreg_date
|
||||
)
|
||||
VALUES
|
||||
( '$vorname'
|
||||
, '$nachname'
|
||||
, '$mail'
|
||||
, '$singstimme'
|
||||
, '$alter16'
|
||||
, '$datum'
|
||||
)
|
||||
");
|
||||
if (!$sql1) {
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Es gab ein Fehler in der Datenbank: Insert User</div>|***|error';
|
||||
$error++;
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($error == 0) {
|
||||
$empfaenger = "$mail";
|
||||
$betreff = "Anmeldung JU & MI";
|
||||
if($alter16 == '1'){
|
||||
$text = "
|
||||
<html>
|
||||
<head>
|
||||
<title>Registrierung JU & MI</title>
|
||||
</head>
|
||||
<body>
|
||||
<font face='Arial' size='2'>
|
||||
Hallo $vorname!<br><br>
|
||||
schön, dass du dich für den Jugendchor registriert hast!<br><br>
|
||||
Im Anhang befindet sich eine Einverständniserklärung. Diese benötigen wir unter anderem,
|
||||
dass wir den Jugendchor im Livestream zeigen dürfen.<br>
|
||||
Wir würden uns ebenso freuen, wenn wir eure Zusage für unsere Kanäle in den sozialen Medien bekommen würden..<br>
|
||||
<br><br>
|
||||
Bitte unterschreibt das Formular und schickt es an uns zurück. Die Mailadresse lautet: <a mailto='info@ju-and-mi.de'>info@ju-and-mi.de</a>
|
||||
Falls ihr das Dokument nicht einscannen könnt, reicht ein gut lesbares Foto oder gebt uns das Formular <b>vor</b> einem Jugendgottesdienst zurück.
|
||||
<p>
|
||||
Vielen Dank,<br>
|
||||
euer JU & MI Team
|
||||
</body>
|
||||
</html>";
|
||||
$datei = "../media/Einwilligung_unter_16.pdf";
|
||||
}else{
|
||||
$text = "
|
||||
<html>
|
||||
<head>
|
||||
<title>Registrierung JU & MI</title>
|
||||
</head>
|
||||
<body>
|
||||
<font face='Arial' size='2'>
|
||||
Hallo $vorname!<br><br>
|
||||
schön, dass du dich für den Jugendchor registriert hast!<br><br>
|
||||
Im Anhang befindet sich eine Einverständniserklärung. Diese benötigen wir unter anderem,
|
||||
dass wir den Jugendchor im Livestream zeigen dürfen.<br>
|
||||
Wir würden uns ebenso freuen, wenn wir eure Zusage für unsere Kanäle in den sozialen Medien bekommen würden.
|
||||
<br><br>
|
||||
Da du noch keine 16 Jahre alt bist, müssen deine Eltern/Sorgesberechtigte auf dem beigefügten Formular unterschreiben.<br>
|
||||
Sobald ihr das Einverständnis habt, schickt es an uns zurück. Die Mailadresse lautet: <a mailto='info@ju-and-mi.de'>info@ju-and-mi.de</a>.<br>
|
||||
Falls ihr das Dokument nicht einscannen könnt, reicht ein gut lesbares Foto oder gebt uns das Formular <b>vor</b> einem Jugendgottesdienst zurück.
|
||||
<p>
|
||||
Vielen Dank,<br>
|
||||
euer JU & MI Team
|
||||
</body>
|
||||
</html>";
|
||||
$datei = "../media/Einwilligung_unter_16.pdf";
|
||||
}
|
||||
|
||||
|
||||
$result_absender = $db->query("SELECT wert FROM jumi_parameter WHERE pid = 1");
|
||||
$row_absender = $result_absender->fetch_array();
|
||||
if ($row_absender['wert'] == '') {
|
||||
$absender = 'info@ju-and-mi.de';
|
||||
} else {
|
||||
$absender = $row_absender['wert'];
|
||||
}
|
||||
$boundary = "PHP-mixed-".md5(time());
|
||||
#$headers = "MIME-Version: 1.0\n";
|
||||
#$headers .= "Content-type: text/html; charset=utf-8\n";
|
||||
$headers .= "From: Info JU & MI <$absender>\n";
|
||||
$headers .= "Reply-To: Info JU & MI <$absender>\n";
|
||||
$headers .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
|
||||
#$headers .= " boundary=\"".$boundary."\"\r\n";
|
||||
|
||||
$size = filesize($datei);
|
||||
$data = file_get_contents($datei);
|
||||
$type = mime_content_type($datei);
|
||||
$name = basename($datei);
|
||||
|
||||
$data = chunk_split(base64_encode($data));
|
||||
$boundWithPre = "\n--".$boundary;
|
||||
|
||||
$message .= "--".$boundary."\r\n";
|
||||
$message .= "Content-Type: text/html; charset=\"UTF-8\"\r\n";
|
||||
$message .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
|
||||
$message .= $text."\r\n";
|
||||
|
||||
# Anhang ab hier
|
||||
$message .= $boundWithPre;
|
||||
$message .= "\nContent-Type: application/octet-stream; name=\"".$name."\"";
|
||||
$message .= "\nContent-Transfer-Encoding: base64\n";
|
||||
$message .= "\nContent-Disposition: attachment\n";
|
||||
$message .= $data;
|
||||
$message .= $boundWithPre."--";
|
||||
|
||||
$return = @mail($empfaenger, $betreff, $message, $headers);
|
||||
|
||||
if (!$return) { // Abfrage ob Mailversand funktioniert hat
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Vielen Dank für die Registrierung. Es konnte allerdings <b>keine Mail</b> verschickt werden!</div>|***|success';
|
||||
exit;
|
||||
} else {
|
||||
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Vielen Dank für die Registrierung. Eine Mail mit weiteren Hinweisen wurde an dich geschickt.</div>|***|success';
|
||||
exit;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
40
js/components/selfregistration.js
Normal file
40
js/components/selfregistration.js
Normal file
@ -0,0 +1,40 @@
|
||||
function membersave(){
|
||||
var vorname = document.getElementById("vorname").value;
|
||||
var nachname = document.getElementById("nachname").value;
|
||||
var mail = document.getElementById("mail").value;
|
||||
var alter16 = document.querySelector('input[name="alter16"]:checked').value;
|
||||
//komma getrennte Werte bei Mehrfachauswahl
|
||||
var singstimme = $("#singstimme").val();
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '../controller/selfregistration.php',
|
||||
data: {
|
||||
'function': 'membersave',
|
||||
'vorname': vorname,
|
||||
'nachname': nachname,
|
||||
'mail': mail,
|
||||
'singstimme': singstimme,
|
||||
'alter16': alter16
|
||||
},
|
||||
success: function(result) { //we got the response
|
||||
if(result!=''){
|
||||
var a = result.split('|***|');
|
||||
if(a[1]=="success"){
|
||||
document.getElementById("vorname").value ="";
|
||||
document.getElementById("nachname").value ="";
|
||||
document.getElementById("mail").value ="";
|
||||
var elements = document.getElementById("singstimme").options;
|
||||
for(var i = 0; i < elements.length; i++){
|
||||
elements[i].selected = false;
|
||||
}
|
||||
}
|
||||
$('#msg1').show().delay(10000).fadeOut(500);
|
||||
$('#msg1').html(a[0]);
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, exception) {
|
||||
console.log(xhr);
|
||||
}
|
||||
});
|
||||
}
|
BIN
media/Einwilligung_unter_16.pdf
Normal file
BIN
media/Einwilligung_unter_16.pdf
Normal file
Binary file not shown.
72
selfregistration/index.php
Normal file
72
selfregistration/index.php
Normal file
@ -0,0 +1,72 @@
|
||||
<?php
|
||||
if (!isset($_SESSION)) {
|
||||
session_start();
|
||||
}
|
||||
/*
|
||||
# Fuer debugging
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', 1);
|
||||
#echo __LINE__."<br>";
|
||||
*/
|
||||
|
||||
|
||||
include_once '../classes/TestProjektSmarty.class_subdir.php';
|
||||
$_SESSION['cur_page'] = $_SERVER['PHP_SELF']; // Fals man Seite direkt aufruft und Autologin funktioniert
|
||||
require_once("../config.inc.php");
|
||||
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
|
||||
$smarty = new SmartyAdmin();
|
||||
if(!rechte(basename(__FILE__), $uid)){
|
||||
echo "<meta http-equiv=\"refresh\" content=\"0; URL=error.php\">";
|
||||
exit;
|
||||
}
|
||||
require_once "../language/german.inc.php";
|
||||
|
||||
|
||||
|
||||
|
||||
if(isset($_GET['action'])){
|
||||
$action = $_GET['action'];
|
||||
}else{
|
||||
$action = '';
|
||||
}
|
||||
|
||||
if($action == ''){
|
||||
|
||||
if(isset($_GET['editcsid']) and $_GET['editcsid'] != ''){
|
||||
# Aus externer Seite edit_user.php
|
||||
#echo "<br><br><br><br><br><br><br><br>-----------------------------------------------hier";
|
||||
$csid = $_GET['editcsid'];
|
||||
$smarty->assign('create_edit', $csid);
|
||||
|
||||
$result0 = $db->query("SELECT vorname, nachname, mail, singstimme, bemerkung
|
||||
FROM jumi_chor_saenger
|
||||
WHERE csid = $csid;");
|
||||
$row0 = $result0->fetch_array();
|
||||
$smarty->assign('member_anlegen_vorname', $row0['vorname']);
|
||||
$smarty->assign('member_anlegen_nachname', $row0['nachname']);
|
||||
$smarty->assign('member_anlegen_mail', $row0['mail']);
|
||||
$smarty->assign('member_anlegen_singstimme', $row0['singstimme']);
|
||||
$smarty->assign('member_anlegen_bemerkung', $row0['bemerkung']);
|
||||
|
||||
$query = "SELECT id, filename, originalname, date_format(datum, '%d.%m.%y - %H:%i') uploaddatum FROM jumi_chor_saenger_uploads WHERE csid='$csid' ORDER BY datum DESC";
|
||||
$result = $db->query( $query)
|
||||
or die ("Cannot execute query1");
|
||||
|
||||
while ($row = $result->fetch_array()){
|
||||
$value[] = $row;
|
||||
}
|
||||
$smarty->assign('table_data', $value);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$smarty->assign('action', "$action");
|
||||
$smarty->display("modern/selfregistration/$templatename");
|
||||
?>
|
@ -7,8 +7,6 @@
|
||||
{else}
|
||||
<title>JU & MI SängerIn bearbeiten</title>
|
||||
{/if}
|
||||
|
||||
<title>JU & MI SängerIn erfassen</title>
|
||||
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
@ -54,7 +52,7 @@
|
||||
<form name="form_id" id="form_id" action="javascript:void(0);" enctype="multipart/form-data">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-edit me-1"></i>
|
||||
<i class="fa-solid fa-user"></i>
|
||||
{if $create_edit == ''}
|
||||
SängerIn erfassen
|
||||
{else}
|
||||
|
@ -49,7 +49,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-edit me-1"></i>
|
||||
<i class="fa-solid fa-user"></i>
|
||||
SängerIn bearbeiten
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
77
templates/modern/selfregistration/index.html
Normal file
77
templates/modern/selfregistration/index.html
Normal file
@ -0,0 +1,77 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title>JU & MI Registrierung</title>
|
||||
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<!-- icons in nav-->
|
||||
<script src="../dashboard/js/all.js" crossorigin="anonymous"></script>
|
||||
<script src="../jquery/jquery-3.4.1.min.js"></script>
|
||||
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
|
||||
<link href = "../jquery/jquery-ui-themes-1.13.2/jquery-ui.css" rel = "stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<br>
|
||||
<main>
|
||||
<!--Anwendung-->
|
||||
<script src="../js/components/selfregistration.js"></script>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fa-solid fa-user"></i>
|
||||
JU & MI Registrierung
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12 col-md-4">Vorname:</div>
|
||||
<div class="col-12 col-md-8"><input type="text" class="form-control" name="vorname" id="vorname" value="{$member_anlegen_vorname}" required></div>
|
||||
</div>
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12 col-md-4">Nachname:</div>
|
||||
<div class="col-12 col-md-8"><input type="text" class="form-control" name="nachname" id="nachname" value="{$member_anlegen_nachname}" required></div>
|
||||
</div>
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12 col-md-4">Mailadresse:</div>
|
||||
<div class="col-12 col-md-8"><input type="email" class="form-control" name="mail" id="mail" value="{$member_anlegen_mail}" required></div>
|
||||
</div>
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12 col-md-4">Ich bin 16 Jahre alt oder älter?</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" value="1" type="radio" name="alter16" id="alter16_ja">
|
||||
<label class="form-check-label" for="alter16_ja">Ja, ich bin 16 Jahre alt oder älter</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" value="0" type="radio" name="alter16" id="alter16_no" checked>
|
||||
<label class="form-check-label" for="alter16_no">Nein, ich bin noch keine 16 Jahre alt</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12 col-md-4">Singstimme:</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<select name="singstimme"class="form-control" id="singstimme">
|
||||
<option value="1">Sopran</option>
|
||||
<option value="2">Alt</option>
|
||||
<option value="3">Tenor</option>
|
||||
<option value="4">Baß</option>
|
||||
<option value="5">Weiß ich nicht</option>
|
||||
</select>
|
||||
</div>
|
||||
<p align='center'>
|
||||
<button class="col-6 btn btn-primary btn-sm mt-3" id="save" onclick="membersave();">Speichern</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="msg"></div>
|
||||
<div id="msg1"></div>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user