2012-05-07 4 views
-2

메일받은 편지함에서 mysql 테이블 행을 삭제하고 싶습니다. 가능한 경우, 예, 메일 인 박스 계정에서 내 서버 데이터베이스의 테이블 행을 삭제할 수 있습니까? 솔루션메일받은 편지함에서 mysql 테이블 행을 삭제하는 방법

테이블 구조 :

id usrname password status usercat 
1 xxxxxxx xxxxxxx new 1 
2 uuuuuuu uuuuuuu new 5 

$del_qry= mysql_query("DELETE FROM table_name WHERE some_column=some_value") 

등록 후 내 사이트에서, 등록 된 사람은 경고 메일도 사이트 관리자가 등록되는 사용자 세부의 메일을 얻을. 따라서 관리자가 자신의 메일 계정에서 두 번째 사용자 (username - uuuuuu)를 삭제하려고합니다.

내가이 작업을 수행 할 수있는 방법, 당신이 사용자 목록과 관련하여 삭제의 이메일에 귀하의 사이트의 페이지의 링크를 추가해야합니다 생각 ... 내가 여기에 새로운 오전

+1

자세한 정보를 제공해야합니다. 테이블 구조, 시도한 예제 쿼리 및 기타 세부 정보는 문제 해결에 도움이 될 수 있습니다. 이 질문은 귀하가 더 많은 정보를 제공하지 않는 한 계속 답변을 얻지 못할 것입니다. – Namphibian

+0

질문하는 방법에 대한 FAQ를 읽어보십시오. 우리는 더 많은 정보가 필요합니다 :) – GuZzie

+0

'DELETE FROM table_name WHERE some_column = some_value'와 같이 정상적인 삭제 mysql 쿼리. 하지만 내 이메일받은 편지함에서이 쿼리를 실행하고 싶습니다. 나는 여기 새로운, plz 도와주세요! – user1379083

답변

0

을 알려주세요. 사용자가 링크를 클릭하면 특정 페이지로 리디렉션되어 링크 URL에서 해당 사용자 ID를 가져온 다음 삭제 작업을 수행 할 수 있습니다. 우편으로 데이터베이스에서 직접 연결할 수 없기 때문에 메일에서 사이트 페이지로 리디렉션해야합니다.

감사

는 관리자에게 보내는 이메일이 같은 링크를 포함해야합니다
2

: 123 등록 및 remove_account.php 된 사용자입니다

http://www.example.org/admin/remove_account.php?id=123 

이로드 될 스크립트입니다 링크가 클릭됩니다.

mysql_query("DELETE FROM table_name WHERE id=" . mysql_real_escape_string($_GET['id'])); 

주의주의

몇 단어 : 스크립트 내에서

이 같은 것을 할 것입니다. 위의 링크는 다음 중 하나에 의해 보호되어야한다 :

  • 서명 보호 (아래 예) (아파치 나 PHP를 사용 중)

    • 사용자 & 암호 보호

    서명 보호 방지 침해/서명을 추가하여 링크 매개 변수 단조 다음과 같이 작동 링크가 당신이있어 잘못된 손에 떨어지는 경우, 사용자의 관리 스크립트에 액세스하려는 사람으로부터 보호하지만,

    $secret = "some reasonably long string of random data"; 
    if (isset($_GET['id'], $_GET['sig'])) { 
        $calc_sig = hash_hmac('sha1', $_GET['id'], $secret); 
        if ($calc_sig === $_GET['sig']) { 
         // your delete query here 
        } 
    } 
    

    가 있다는 점 유의 하시길 바랍니다 :

    $secret = "some reasonably long string of random data"; 
    $id = "123"; // like above, the user id 
    
    $sig = hash_hmac('sha1', $id, $secret); 
    
    $link = 'http://www.example.org/admin/remove_account.php?' . http_build_query(array(
        'id' => $id, 
        'sig' => $sig, 
    )); 
    

    가 서명을 확인하려면 아직도 꽤 많이 망했다. 보안을 과소 평가하지 마십시오.