user2438493
user2438493

Reputation: 47

Form not submitting to database

I'm tryng to get my form to submit to my database, but I'm really new to PHP and I can't seem to figure out where I'm going wrong. I know I'm connecting to the database, but once I click submit, I get This page cannot be displayed and no errors. I've reseached and read up on the PHP manual, but I'm still stuck.

<body><div id="form-container">
<h1 id="form-name">Application for Employment</h1>
<form action="senddata2.php" method="post" id="dynamic-form" class="ui-sortable">

        <div class="row" style="display: block; position: relative;">
        <label class="field" for="date">Date:<div class="rqrd">*</div></label>
        <span class="date"><span class="textField"><input type="text" id="date" name="date" data="{&quot;validate&quot;:{&quot;required&quot;:true,&quot;date&quot;:true,&quot;messages&quot;:{&quot;required&quot;:&quot;This field is required&quot;}}}"></span></div>

        <div class="row" style="display: block; position: relative;">  
        <label for="position">Position Applied For:<div class="rqrd">*</div></label>
        <input id="position" name="position" class="text" data="{&quot;validate&quot;:{&quot;required&quot;:true,&quot;messages&quot;:{&quot;required&quot;:&quot;This field is required&quot;},&quot;maxlength&quot;:&quot;50&quot;}}"></div>      

        <div class="row" style="display: block; position: relative;">  
        <label for="referral">Referral Source:<div class="rqrd">*</div></label>
        <span class="dropDown"><select id="referral" name="referral" data="{&quot;validate&quot;:{&quot;required&quot;:true,&quot;messages&quot;:{&quot;required&quot;:&quot;This field is required&quot;}}}"><option value="Advertisement ">Advertisement </option><option value="Employment Agency">Employment Agency</option><option value="Friend">Friend</option><option value="Walk-In">Walk-In</option><option value="Relative">Relative</option><option value="Other">Other</option></select></span></div>

<input type="submit" name="formSubmit" value="Submit" class="button blue" id="submit-form"> 
          <div class="clr"></div>


    </form>

<?php
$dbh = new pdo( 'sqlsrv:Server=XXXX,1433;database=XXX',
                'XXX',
                'XXX',

$tsql = "INSERT INTO testtable (Date, Position, Referral) VALUES (?, ?, ?)"; 

$stmt = $dbh->prepare($tsql);
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($db->errorInfo()); 
}
$stmt->execute(array($_REQUEST['Date'], $_REQUEST['Position'], $_REQUEST['Referral']));
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($stmt->errorInfo()); 
}

/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor(); 
// and now we're done; close it
$dbh = null;
?>

Upvotes: 1

Views: 198

Answers (2)

Rob W
Rob W

Reputation: 9142

A few things here...

  1. Your form field names are wrong
  2. You should catch your errors better
  3. Your PDO is missing a )

Wrap your PDO around try {} catch(PDOException $e) {} catch(Exception $e) {}

try {
    $dbh = new pdo( 'sqlsrv:Server=xxxx,1433;database=xxxx',
                'xxxx',
                'xxxx');
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $tsql = "INSERT INTO testtable (Date, Position, Referral) VALUES (?, ?, ?)"; 
    $stmt = $dbh->prepare($tsql);
    $stmt->execute(array($_REQUEST['date'], $_REQUEST['psition'], $_REQUEST['referral']));

    /* The following call to closeCursor() may be required by some drivers */
    $stmt->closeCursor(); 

    // and now we're done; close it
    $dbh = null;
} catch(PDOException $e) {
  die("PDO Exception: " . $e->getMessage());
} catch(Exception $e) {
  die("Exception: " . $e->getMessage());
}

Upvotes: 0

Quentin
Quentin

Reputation: 943142

You have $_REQUEST['Date'] but name="date"

D is not d.

You have similar problems with your other names.

Upvotes: 2

Related Questions