Selbstregistrierung
This commit is contained in:
parent
376170cce7
commit
2c7081b8ab
@ -63,8 +63,8 @@ if ($function == 'usersave') {
|
|||||||
$uid = $db->insert_id;
|
$uid = $db->insert_id;
|
||||||
if (!$sql1) {
|
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';
|
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++;
|
$error++;
|
||||||
|
exit;
|
||||||
}
|
}
|
||||||
for ($i = 0; $i < sizeof($rollen); $i++) {
|
for ($i = 0; $i < sizeof($rollen); $i++) {
|
||||||
$sql2 = $db->query("INSERT INTO jumi_admin_rollen_user_zuord ( rid
|
$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}
|
{else}
|
||||||
<title>JU & MI SängerIn bearbeiten</title>
|
<title>JU & MI SängerIn bearbeiten</title>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<title>JU & MI SängerIn erfassen</title>
|
|
||||||
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
|
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
<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">
|
<form name="form_id" id="form_id" action="javascript:void(0);" enctype="multipart/form-data">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<i class="fas fa-edit me-1"></i>
|
<i class="fa-solid fa-user"></i>
|
||||||
{if $create_edit == ''}
|
{if $create_edit == ''}
|
||||||
SängerIn erfassen
|
SängerIn erfassen
|
||||||
{else}
|
{else}
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<i class="fas fa-edit me-1"></i>
|
<i class="fa-solid fa-user"></i>
|
||||||
SängerIn bearbeiten
|
SängerIn bearbeiten
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<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