2009-04-01 3 views
0

사용자가 무언가를 확인하려면 링크를 클릭해야하는 시스템을 만드는 방법은 어떻게됩니까?PHP 및 MySQL로 시간 제한 유효성 검사 만들기

내 웹 사이트에서 각 사용자는 자신의 폴더가 공유되지 않는다고합시다. 나는 그들의 계정 페이지에서 각 사용자가 서로 다른 폴더에 액세스하기 위해 다른 사용자와 신뢰를 형성 할 수있는 옵션을 원합니다. 아마도 그들이 신뢰를 만들려는 사용자의 이름을 입력하면됩니다.

이 경우 사용자 Jim이 작성 신뢰 입력 상자 "Tom"에 입력하므로 신뢰를 설정해야합니다. 나는 A) 짐의 요청을 저장하는 것이 필요하다. B. B. 확인되지 않은 것으로 C를 지정하고, 마지막으로 톰에게 검증 링크를 보낸다. Tom이 메시지를 어떻게 든 수신합니까? (아직 확실하지 않음) 톰에 대한 확인 링크가 있는지 확인하고 확인할 수있는 항목이 있습니까? Tom은 전송 된 확인 링크를 클릭하여 Jim과 신뢰를 맺기를 원한다는 것을 확인합니다. 일단 Tom이 그것을 클릭하면, A. Tom이 수락 한 Jim의 요청이 무엇인지 알려주고, B. 확인 된 것으로 검증을 할당합니다. C. Tom에게 Tom의 요청이 수락 또는 거절되었음을 알립니다. 24 시간이 지나면 유효성 검사 저장소를 제거하는 방법입니다 (Tom은 24 시간이 지나면 Jim의 요청을 거절합니다).

아무도 도와 줄 수 있습니까? :)

답변

1

데이터베이스와 관련하여 좋은 직장입니다. 사용자 A가 공유를 요청하면 데이터베이스에 보류 중으로 입력됩니다. 사용자 B에게 알리면 스크립트가 링크를 클릭하여 데이터베이스에서 원본 요청을 확인하고 24 시간 이내에 있는지 확인하고, 그렇다면 데이터베이스에서 승인 또는 거부 된 것으로 업데이트됩니다. 24 시간이 지나면 레코드가 만료 됨으로 업데이트됩니다.

1

데이터베이스를 사용하는 경우 간단합니다. 각 요청에 대해 일종의 고유 한 ID를 생성하고 요청 (상태 "응답 대기 중"또는 유사)을 데이터베이스에 저장 한 다음 Tom의 고유 ID가있는 PHP 페이지 중 하나에 대한 링크가 포함 된 전자 메일을 Tom에게 보냅니다. 쿼리 문자열에서 요청.

이렇게하면 Tom이 이메일의 링크를 클릭 할 때마다 요청에 대한 "시간 허용"필드를 업데이트하고 상태를 "수락 됨"으로 변경할 수 있습니다.

논리적으로 24 시간이 경과했는지 확인하는 것은 간단하며이 기간 이후에는 신뢰할 수있는 공유에 대한 액세스를 거부 할 수 있습니다.

1

당신은 테이블 느릅 나무를 정의 할 수는 속성이 있습니다
- 독특한 ID를
(사람 1) -ID1
-ID2 (사람 2) (TRUE 또는 FALSE)
-Validated 주
- 이 기능을 필요로하는 시스템에
- 기타 정보 관련 요청 관계의 검증 해시 MD5 (이름 (ID1) + RANDOM (100,99999), 이름 (ID2))
- 날짜 및 시간 ...

그럼 너 같이 나아 간다. 고 밝혔다.
1) 2009 년 12 월 5 일 오후 5시 25 분 Tom (ID = 15)이 Mark (ID = 21)에게 네트워크 가입을 요청하면 스크립트가 다음과 같이 테이블에 데이터를 추가합니다.
-Unique ID : 15
-ID2 : 21
-Validated : 거짓
-Validation 해시 MD5 : MD5 ("톰"0.42574 자동 증가
-ID1에 의해 자동으로 할당."마크") = bedbcfc6e679be69ff3587f15213c83f
- 날짜 및 시간 : 2009년 12월 5일 오후 5시 25분
이 기능을 필요로하는 시스템에 관련 - 기타 정보에서 ...

것은 반드시 그 데이터를 설정하기 전에 데이터베이스에 복제본이 있는지 확인하십시오.
그 후에 날짜와 시간이 24 시간보다 오래된 모든 필드를 지우십시오 = D
2) 중복이없는 경우 md5 해시를 Get 속성으로 사용하여 페이지로 돌아 가기 링크가있는 메일로 메일 보내기 url. 수 있습니다은? 페이지 이름이 validate.php입니다 앉아 시간 =
3
bedbcfc6e679be69ff3587f15213c83f) 가져 오기 매개 변수 H = bedbcfc6e679be69ff3587f15213c83f
드 DB를 첵로 진행와 요청을 접수에 validate.php 스크립트.
해시가 있고 날짜와 시간이 24 시간을 넘지 않으면 Validated를 true로 설정하고 새 친구의 정보로 Tom의 이메일에 메일을 보내십시오.
해시가 존재하지 않으면 유효성 검사 페이지 결과를 표시하도록 알립니다.

확인. 그게 다야. 희망이 어떤 식 으로든 당신에게 유용합니다.

+0

당신은 나의 영웅입니다. XD! –

+0

=) 또한 다른 응답에서 말했듯이 만료 된 필드를 삭제하지 말고 만료 된 것으로 표시하여 일종의 통계를 가질 수 있습니다 =) – Gero