Я новичок в кодировании. Чего я хочу добиться, так это:
- Когда пользователь открывает мой веб-сайт, ему нужно показать отказ от ответственности (причина: соблюдение закона).
- Он должен ввести свои данные. имя и адрес электронной почты для продолжения (причина: меры безопасности, обеспечивающие согласие).
- После проверки и отправки то же самое должно быть сохранено в CSV (или любых других рекомендациях?). Я думал о SQL, но кажется, что нужно предпринять множество мер безопасности.
- При каждой загрузке страницы я хочу убедиться, что у пользователя активен сеанс.
- ПослеПри следующем посещении я надеялся что-то сделать, чтобы пользователю не пришлось проходить этот процесс снова. Но, похоже, мне придется хранить печенье. И я хочу избежать чего-либо со стороны клиента.
Код выглядит так:
Отказ от ответственности:
<?php include(xxx_process.php) ?>
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="global template.css">
<title>Disclaimer </title>
</head>
<body>
<link rel="stylesheet" type="text/css" href="global template.css">
<main>
<h1>Disclaimer </h1>
<p>
Disclaimer content....
</p>
<form method="post">
<?php include("xxx_throwerror.php"); ?>
<p><label>Name</label>
<input type="text" name="name" value="<?php echo $name; ?>"></p>
<p><label>Email</label>
<input type="email" name="email" value="<?php echo $email; ?>"></p>
<p><input type="checkbox" required name="checkbox" value="check" id="agree" /> I have read and agree to the <a href="policies.php">Disclaimer and Policies </a></p>
<p><button type="submit" style="float:center" name="agree_continue">Agree and Continue</button></p>
</form>
</main>
</body>
</html>
Сценарий обработки
<?php
session_start();
$name = "";
$email = "";
$errors = array();
function clean_text($string)
{
$string = trim($string);
$string = stripslashes($string);
$string = htmlspecialchars($string);
return $string;
}
if (isset($_post["agree_continue"])) {
if (empty($name)) { array_push($errors, "Name is required"); }
if (empty($email)) { array_push($errors, "Email is required"); }
}
$name = clean_text($_post["name"]);
if(!preg_match("/^[a-zA-Z ]*$/",$name))
{ array_push($errors, "Only letters and white spaces are allowed"); }
$email = clean_text($_post["email"]);
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{ array_push($errors, "Invalid email format"); }
if (count($errors) == 0) {
$file_open = fopen("something.csv", "a");
$no_rows = count(file("something.csv"));
if($no_rows > 1)
{ $no_rows = ($no_rows - 1) + 1; }
$form_data = array(
"sr_no" => $no_rows, "name" => $name, "email" => $email,
);
fputcsv($file_open, $form_data);
$name = "";
$email = "";
$_session["name"] = $name;
$_SESSION["success"] ;
header("location: go.php");
}
?>
Код страницы ошибок:
<?php
if (count($errors) > 0) : ?>
<?php foreach ($errors as $error) : ?>
<p><?php echo $error ?></p>
<?php endforeach ?>
<?php endif ?>
Пожалуйста, не публикуйте скриншоты без описания, так как я не вижу глазами и использую программу для чтения с экрана, которая считывает то, что поставляетсяDOM.
Я очень плохо знаком с программистами, так как по профессии я корпоративный юрист из Индии и сертифицированный веб-специалист по недоступности.
Отдельно, если кто-то готов помочьс какой-то визуальной версткой в CSS, пожалуйста, дайте мне знать.
Наконец, я видел другие подобные вопросы, но, кажется, ничто не помогает мне в том, чего я пытаюсь достичь.
Спасибо.