2014-07-04 4 views
-2

어떤 이유로 든 양식을 제출할 때마다 입력 된 데이터가 데이터베이스에 추가되지 않습니다. 그것은 이전에 일하고 있었는데 ... 내가 생각하기에 가장 절망적 인 것은. 나는 그것을 몇 시간 후에 되돌아 왔고, 놀람! 데이터베이스에 새 행을 삽입하지 않습니다. 우연히 무의식적으로 실수했을 수도 있습니다. 그래도 내게는 두드러지지 않습니다. :(PHP 스크립트가 데이터베이스에 값을 삽입하지 않습니다.

refer.html : http://pastebin.com/d1xQUJLR

generator.php : http://pastebin.com/CE2UX8zs

main.js : 그냥 코드에서 몇 가지 버그를 수정 http://pastebin.com/CSQh9DKs

+1

추가' $ pdo-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);'연결이 열린 직후. 이제 거기 가서 타이거 디버그 해보세요! –

답변

1

)

<?php 
include_once "access.php"; 
$ref_email = $_POST["tf_ref_email"]; 
$ref_username = $_POST["tf_ref_username"]; 
$ref_ign = $_POST["tf_ref_ign"]; 

$access = new Access(); 
$crux = $access->getCrux(); 
$anchor = $access->getAnchor(); 
$user = $access->getUser(); 

try { 
    $pdo = new PDO($anchor, $user, $crux); 
    $stq = "INSERT INTO referred_users 
(ref_id, ref_email, ref_username, ref_ign, ref_awarded, new_email, new_awarded) 
VALUES (:ref_id, :ref_email, :ref_username, :ref_ign, :ref_awarded, :new_email, :new_awarded)"; 

    for($i = 0; $i < min(count($_POST["emails"]), 10); $i++) { 
     $ref_id = $_POST["ref_ids"][$i]; 
     $new_email = $_POST["emails"][$i]; 

     $new_ref_id = checkId($ref_id, $pdo); 

     $query = $pdo->prepare($stq); 
     $results = $query->execute(
      array(
       ':ref_id'  => $new_ref_id, 
       ':ref_email' => $ref_email, 
       ':ref_username' => $ref_username, 
       ':ref_ign'  => $ref_ign, 
       ':ref_awarded' => '0', 
       ':new_email' => $new_email, 
       ':new_awarded' => '0' 
      ) 
     ); 

     $to = $new_email; 
     $subject = "Check out this AMAZING Minecraft RP Server!"; 
     $message = "You have been invited to join " . $ref_ign . " in Arithia! Enter your Referral ID in the provided link to get a head start on your first character!" . "\n"; 
     $message .= "Referral ID: " . $new_ref_id . "\n"; 
     $message .= "Redeem Rewards: " . "http://www.graphicgoldfish.com/referral/referral.html" . "\n"; 
     $message .= "By redeeming your referral, you will get:" . "\n"; 
     $message .= "- 300 Credit Points" . "\n"; 
     $message .= "- 50 Ducats" . "\n"; 
     $message .= "- 25 Cooked Beef" . "\n"; 
     $message .= "- Identification Tome" . "\n"; 
     $message .= "We look forward to seeing you in Arithia! For more information, visit: http://www.arithia.com" . "\n"; 
     $headers = "From: $ref_email"; 
     mail($to, $subject, $message, $headers); 
    } 
} catch(PDOException $e) { 
    echo 'Error: ' . $e->getMessage(); 
} 

function checkId($id, $con) { 
    $stmt = $con->prepare("SELECT ref_id FROM referred_users WHERE ref_id = :ref_id"); 
    $stmt->bindParam(':ref_id', $id); 
    $stmt->execute(); 

    if($stmt->rowCount() > 0) { 
     $new_id = (string)rand(1000000, 9999999); 

     return checkId($new_id, $con); 
    } 

    return $id; 
} 
관련 문제