mysql - PHP 루프에서 반복 입력 문제가 항상 발생합니다.
PHP中文网
PHP中文网 2017-05-24 11:30:40
0
4
602

사용자 정보를 배열로 저장한 후 루프를 사용하여 mysql 데이터베이스에 입력합니다. 그런데 가끔 개별 사용자의 정보가 두 번 입력되는 경우가 있는데, 어디에서 논리 오류가 발생하는지 조언해 주세요.
논리 코드는 다음과 같습니다

으아악

지금 이상한 점은 개별 사용자가 입력한 정보가 항상 두 번 실행된다는 점입니다. (예를 들어 제출된 배열에는 요소가 5개만 있는데 데이터베이스에 입력하면 10개의 레코드가 생성됩니다.)

항목의 90%는 정상입니다. 일부 사용자만 할 수 있습니다. 안내를 부탁드립니다

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(4)
给我你的怀抱

location.href를 사용하여 점프할 때 이런 일이 발생합니다. 일부 브라우저에서는 새로 고치자마자 양식을 두 번 다시 제출할 수 있습니다.
몇 가지 해결 방법이 있습니다.

  1. ajax 새로 고침 없음

  2. 프런트엔드가 제출하면 백엔드에서 토큰을 생성하여 세션에 저장합니다. 백엔드에 제출할 때 두 토큰을 비교합니다

  3. 데이터베이스 확인

  4. 백엔드는 301 또는 302를 사용하여 점프합니다.

巴扎黑

논리적으로 특별한 문제는 없다고 밖에 말씀드릴 수 없습니다. 프런트 엔드에서 두 개의 요청을 제출했을 수도 있고, 일반적으로 데이터를 삽입할 때 사용자가 데이터베이스에 존재하는지 여부를 판단하는 것이 일반적입니다. 이런 판단을 내리지 마세요. 이로 인해 정보도 10개나 등장하게 되었습니다

.
为情所困

생각해야 할 사항은 다음과 같습니다.

으아악
phpcn_u1582

삽입하기 전에 최소한 고유 인덱스로 데이터베이스의 가치를 판단하세요.

개별 입력 오류의 경우 $data에 있는 데이터에 따라 다릅니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿