1

我试图让我的表单提交到我的数据库,但我对 PHP 真的很陌生,我似乎无法弄清楚我哪里出错了。我知道我正在连接到数据库,但是一旦我点击提交,我得到这个页面无法显示并且没有错误。我已经研究并阅读了 PHP 手册,但我仍然卡住了。

<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;
?>
4

2 回答 2

2

你有$_REQUEST['Date']name="date"

D不是d

你的其他名字也有类似的问题。

于 2013-06-07T14:40:28.737 回答
0

这里有几件事...

  1. 您的表单字段名称错误
  2. 你应该更好地发现你的错误
  3. 您的 PDO 缺少)

包裹你的 PDOtry {} 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());
}
于 2013-06-07T14:45:24.780 回答