PHP регистрационная форма, включая базу данных

Пока я обновляю свой браузер, записи регистрационной формы попадают в базу данных каждый раз, когда я нажимаю REFRESH, профессор сказал мне, чтобы решить эту проблему с помощью LAST_INSERT_ID(),

Я могу получить last_insert_id из базы данных, но не знает, что мне делать дальше с этим идентификатором.
Пожалуйста помоги..
введите описание изображения здесь

-1

Решение

Рекомендуемый способ — использовать Post / Redirect / Get шаблон.
Есть и другие способы достичь желаемого Вот.

Я не уверен, что ваш профессор просит сделать с последним идентификатором вставки. Может быть, он имеет в виду что-то вроде этого,

    if(isset($_SESSION['last_insert_id'])){ // At the beggining
//redirect to a another location
}

// Code for insertion goes here

$_SESSION['last_insert_id'] = $last_insert_id; // Get and store the insertion id as a  session
0

Другие решения

Я думаю, что вы используете ту же страницу для сохранения данных, если это так, то следуйте следующему методу:

<?php
if(isset($_POST[userName]))
{
// Put your Registration Operation Code Here

header('Location: ./Registrationform.php');
}
?>

После вставки базы данных он перенаправляет на ту же страницу. Теперь обновление выполняется методом GET, а не методом POST. Таким образом, вы можете удалить дубликаты записей таким способом.

0

В соответствии с вашим требованием я использовал последний введенный идентификатор для проверки перед вставкой записей в базу данных.

<?php
session_start();
if(isset($_POST[userID]))
{
$flag = false;
if(isset($_SESSION['last_insert_id']))
{
if($_SESSION['last_insert_id'] == $_POST[userID])
{
$flag = false;
header('Location: ./Registrationform.php');
}
else
{
$flag = true;
$_SESSION['last_insert_id'] = $_POST[userID];
}
}

if($flag == true)
{
// Put your Registration Operation Code Here
}
}
?>
0
По вопросам рекламы [email protected]