2016-04-04 126 views
0
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST"> 
    <input type="text" name="duration" placeholder="Enter duration"> 
    <input type="text" name="budget" placeholder="Enter Budget"> 
    <input type="text" name="keyskills" placeholder="Enter Skills"> 
    <input type="text" name="jobdescription" placeholder="Enter Job Description"> 
    <input type="text" name="edate" placeholder="Click to enter expiry date"> 
    <input type="text" name="cdexmin" placeholder="Enter Minimum Experience"> 
    <input type="text" name="cdexmax" placeholder="Enter Maximum Experience"> 
    <input type="submit"> 
</form> 

<?php 
if(isset($_POST['submit'])) { 
    try { 
     // Establish server connection and select database 
     $username = $_SESSION['username']; 
     $stmt = $db->prepare("SELECT * FROM employer INNER JOIN company ON employer.cid = company.cid WHERE employer.username='$username' "); 
     $stmt->execute(); 
     $row = $stmt->fetch(PDO::FETCH_ASSOC); 
$cid=$row['cid']; 
     $eid = $row['eid']; 
     $duration = $_POST['duration']; 
     $budget = $_POST['budget']; 
     $keyskills = $_POST['keyskills']; 
     $jobdescription = $_POST['jobdescription']; 
     $edate = $_POST['edate']; 
     $cdexmin = $_POST['cdexmin']; 
     $cdexmax = $_POST['cdexmax']; 
     $stmt = $db->prepare("INSERT INTO job(cid,eid,duration,budget,keyskills,jdesc,edate,cdexmin,cdexmax) values('$cid','$eid','$duration','$budget','$keyskills','$jobdescription','$edate','$cdexmin','$cdexmax') "); 
     $stmt->execute(); 
     echo "JOB POSTED SUCCESSFULLY"; 
    } catch(PDOException $e) { 
     echo "Error occurs:". $e->getMessage(); 
    } 
} 
?> 

以下是我剛剛爲試圖將值插入數據庫的示例表單創建的代碼。我的問題是這些值沒有進入數據庫。表單提交不會將數據輸入到數據庫中

爲什麼它不起作用?有沒有我找不到的語法錯誤?

頁面解析很容易完成,它不會顯示任何錯誤,但值不會進入數據庫。

+3

爲您的提交按鈕添加一個'name'標籤。 ''input type =「submit」name =「submit」>' –

+1

您應該驗證所有用戶提交的數據,並且由於您沒有正確使用準備好的語句而容易受到SQL注入攻擊 – SpacePhoenix

+1

請注意,代碼'< ?php'_SERVER ['PHP_SELF']?>'在'form'的'action'屬性中並不實際回顯任何內容,導致'action =「」'。這是有效的,因爲空字符串表示當前頁面,但您應該將其更改爲'<?= $ _ SERVER ['PHP_SELF'];?>'。 – Antti29

回答

0

變化

<input type="submit"> 

<input type="submit" name="submit"> 
+0

你忘了'name'標籤:'name =「submit」' –

+0

謝謝..忘記吧:D .. @ LoganWayne –

+0

非常感謝你的工作 –

0

您正在使用$_POST['submit']但這個名稱沒有任何輸入。

添加名稱您輸入型提交如下

<input type="submit" name="submit"> 
0

你必須在代碼中的變化。爲POST表單添加NAME屬性。

<input type="submit" name="submit">