0
나는 다른 주차 공간의 수가 다른 주차 기술 응용 프로그램을 구축 중입니다. 이 번호는 관리자가 데이터베이스에서 설정합니다. 사용자는 데이터베이스에 추가되는 번호판을 입력 할 수 있습니다. 내가 원하는 것은 사용자가 모든 지점을 점유했을 때 번호판을 더 이상 삽입 할 수 없다는 것입니다.PHP는 변수를 증가 시킴
if(isset($_POST['number_plate'])){
$numberPlate = $_POST['number_plate'];
$user_id = $_SESSION['id'];
$query = mysql_query("SELECT `parking_spots` FROM `login` WHERE `id` = ".$user_id." ");
$row = mysql_fetch_assoc($query);
$totalNumberOfSpots = $row['parking_spots'];
$occupiedNumberOfSpots = 0;
$sql = "INSERT INTO amsterdam (numberplate, user_id) VALUES ('$numberPlate','$user_id')";
if(mysql_query($sql))
{
echo 'numberplate added';
$occupiedNumberOfSpots++;
if($occupiedNumberOfSpots == $totalNumberOfSpots)
{
echo "There are no more spots avialable";
}
}
else
{
echo 'Something went wrong!';
}
}
을하지만이 $ occupiedNumberOfSpots 변수를 에코 때 1을 반환 유지하고 내가 번호판을 추가 할 때마다 증가하지 않습니다
그러나, 지금은 순간에 다음과 같은 코드가 있습니다.
이 문제를 어떻게 해결할 수 있습니까?
PHP는 스크립팅 언어입니다; 스크립트가 끝나거나 페이지가로드되면 변수는 사라집니다. 지속성이 필요하면 예를 들어 데이터베이스에 저장해야합니다. 그리고 SQL 인젝션을 읽어야합니다. – jeroen
나는 뭔가를 놓친 것 같아. 누군가 당신의 코드를 트리거하는 양식을 제출할 때마다 스크립트는 위에서 아래로 실행됩니다. 이것은 몇 가지 것을 의미합니다. 1. $ occupiedNumberOfSpots = 0으로 설정하고 있습니다. 2. 스크립트에 메모리가 없습니다. +1 for SQL Injection – Arnolio
if가 루프에 있습니까? – aperpen