У меня есть документ html со страницей формы, которая отлажена и является правильной. Проблема в БД, я размещен на страто, но я думаю, что это скорее проблема кода, нежели проблема сервера. Документ html - это форма, которая отправляется в супер глобальных сообщениях POST, таких как имя, фамилия, адрес электронной почты, тема, адрес, PLZ и сообщение. Однако сообщение не попадает в БД, его отправят по почте на мою электронную почту поддержки. Я не настроил функцию mail, потому что сначала хотел отладить часть sql db. Все операторы if фильтруют ввод для правильной электронной почты и шаблонов, поэтому вам не разрешается вводить числа в форме html. Я знаю, что вы можете сделать шаблон в html, но я хочу 100% безопасности. После того, как входы пройдут все фильтры, которые будет подключено к моей БД, я хочу указать имя, фамилию, адрес электронной почты и тему, а также плз.
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
$subject = $_POST['thema'];
$address = $_POST['address'];
$plz = $_POST['plz'];
$text = $_POST['text'];
$pattern = "/^([a-zA-Z' äöü ÄÖÜ]+)$/";
$pattern_plz = "/[0-9]$/";
//VALID INPUT//
if(preg_match($pattern, $fname)){
if(preg_match($pattern, $lname)){
if($email == TRUE){
if(preg_match($pattern_plz, $plz)){
if(is_numeric($plz)){
$con = new mysqli($host, $db, $user, $passwd) or die ("Keine Verbindung konnte aufgebaut werden");
if($con){
$sql="INSERT INTO contact (fname, lname, email, thema, address, plz)
VALUES ($fname, $lname, $email, $subject, $address, $plz)";
if($con->mysqli_query($sql) == TRUE){
echo "success";
}else{mysqli_close($con); exit("Keine Verbindung konnte aufgebaut werden");}
}else{mysqli_close($con); exit("Keine Verbindung konnte aufgebaut werden");}
}else{exit("Inavlid PLZ");}
}else{exit("Inavlid PLZ");}
}else{exit("Inavlid email");}
}else{exit("Inavlid email");}
}else{exit("Inavlid lastname");}