У меня длинная контактная форма на моем веб-сайте автомобиля, так как вы можете видеть, что клиент должен заполнить форму с его или ее именем, автомобильным концом автомобиля и мобильным номером и т. Д., Как вы видите, у меня есть условие для электронной почты и если оно не действительно это дает массаж ошибки и очистить все предыдущие поля, которые заполнили клиент,контактная форма изменить только одно поле php
<?php
error_reporting(0);
include("config_mashin.php");
$namee = mysqli_real_escape_string($connect, $_POST['namee']);
$modell = mysqli_real_escape_string($connect, $_POST['modell']);
$tipp = mysqli_real_escape_string($connect, $_POST['tipp']);
$colorr = mysqli_real_escape_string($connect, $_POST['colorr']);
$exchangee = mysqli_real_escape_string($connect, $_POST['exchangee']);
$pricee = mysqli_real_escape_string($connect, $_POST['pricee']);
$loan = mysqli_real_escape_string($connect, $_POST['loan']);
$family = mysqli_real_escape_string($connect, $_POST['family']);
if (!empty($_POST['emaill'])) {
$emaill = $_POST['emaill'];
if (!preg_match("/^[_a-z0-9]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $emaill)){
$error .= "The e-mail address you entered is not valid. <br/>";
echo"$error";
}
}
$mobilee = mysqli_real_escape_string($connect, $_POST['mobilee']);
$phonee = mysqli_real_escape_string($connect, $_POST['phonee']);
if(isset($_POST['submit']) && empty($error)){
//insert to database
$insert =mysqli_query($connect,"INSERT INTO $db_table VALUES (i dont write this part to simplify code)");
}
?>
есть ли способ, чтобы сохранить другие поля нетронутыми и клиент просто изменить адрес электронной части. пожалуйста, помогите
Да, в вашем HTML-коде вы проверяете, что каждый из полей '$ _POST' имеет значение или нет, если оно заменяет значение в HTML – RiggsFolly
. Ваш скрипт подвержен риску [SQL Injection Attack] (http : //stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) Посмотрите, что случилось с [Little Bobby Tables] (http://bobby-tables.com /) Даже [если вы избегаете входных данных, это небезопасно!] (Http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) Используйте [ подготовленный оператор и параметризованные заявления] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) – RiggsFolly
Большое спасибо за ваш ответ. и о части впрыска sql. Я думал, потому что я использовал mysqli_real_escape_string, это безопасно. что еще я должен сделать? – Malekian