Fomulare multiple-Spalte, Admin Panel Auth angefangen
This commit is contained in:
@@ -4,10 +4,42 @@ include("../../mysqlverbinden.php");
|
||||
|
||||
if(!isset($_POST["internalformid"])) die("POST internalformid fehlt");
|
||||
$formid=$_POST["internalformid"];
|
||||
print_r($_POST);
|
||||
|
||||
if(mysqli_execute_query($db_id,"SELECT * FROM `formulare` WHERE `id`=?;",[$formid])->fetch_assoc()["multiple"]==0) {
|
||||
foreach(mysqli_execute_query($db_id,"SELECT `id` FROM `formulare-ergebnisse`;") as $row){
|
||||
$same=true;
|
||||
$checkedKeys=[];
|
||||
foreach(mysqli_execute_query($db_id,"SELECT `name` FROM `formulare-fields` WHERE `formular`=?;",[$formid]) as $fieldName){
|
||||
$name=$fieldName["name"];
|
||||
$nameStripped=$name;
|
||||
if(substr($name,-2)=="[]"){
|
||||
$nameStripped=substr($name,0,-2);
|
||||
}
|
||||
$row2=mysqli_execute_query($db_id,"SELECT `name`,`value` FROM `formulare-ergebnis` WHERE `ergebnisid`=? AND `name`=?;",[$row["id"],$name])->fetch_assoc();
|
||||
if(isset($row2["value"])!=isset($_POST[$nameStripped])){
|
||||
$same=false;
|
||||
continue;
|
||||
}
|
||||
$value=$_POST[$nameStripped];
|
||||
if(is_array($value)){
|
||||
$value=json_encode($value,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
|
||||
}
|
||||
if(!is_string($value)) $value=strval($value);
|
||||
if($value!=$row2["value"]){
|
||||
$same=false;
|
||||
}
|
||||
$checkedKeys[]=$name;
|
||||
|
||||
}
|
||||
if($same) die("Fehler: Doppelte Einträge sind nicht erlaubt");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
mysqli_execute_query($db_id,"INSERT INTO `formulare-ergebnisse` (`formular`) VALUES (?);",[$formid]);
|
||||
$id = mysqli_insert_id($db_id);
|
||||
echo $id;
|
||||
|
||||
|
||||
foreach($_POST as $key => $value){
|
||||
if($key=="internalformid") continue;
|
||||
|
||||
Reference in New Issue
Block a user