찾다

 >  Q&A  >  본문

mysql - PHP 루프에서 반복 입력 문제가 항상 발생합니다.

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

으아악

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

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

PHP中文网PHP中文网2749일 전594

모든 응답(4)나는 대답할 것이다

  • 给我你的怀抱

    给我你的怀抱2017-05-24 11:32:40

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

    1. ajax 새로 고침 없음

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

    3. 데이터베이스 확인

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

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-05-24 11:32:40

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

    .

    회신하다
    0
  • 为情所困

    为情所困2017-05-24 11:32:40

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

    으아악

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-05-24 11:32:40

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

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

    회신하다
    0
  • 취소회신하다