2013-06-07 6 views
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; 
?> 
+0

... и 'senddata2.php' определенно существует на вашем сервере? Правильно? – naththedeveloper

+0

@FDL Правильно, да. – user2438493

ответ

0

Несколько вещей здесь ...

  1. Ваши имена полей формы неправильны
  2. Вы должны поймать ваши ошибки лучше
  3. Ваш PDO не хватает )

Оберните PDO около 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()); 
} 
+0

Спасибо! Я все еще очень новичок в PHP и учился на ходу. – user2438493

2

У вас есть $_REQUEST['Date'] но name="date"

D не d.

У вас похожие проблемы с другими именами.

+0

После исправления этого, все тот же вопрос. – user2438493

Смежные вопросы