2016-04-04 5 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' для своей кнопки отправки. '' –

+1

Вы должны проверять все предоставленные пользователем данные, и вы уязвимы для атак SQL-инъекций, поскольку вы не используете подготовленные инструкции правильно – SpacePhoenix

+1

Обратите внимание, что код '< ? php $ _SERVER ['PHP_SELF']?> 'в атрибуте' action' 'вашей' формы' на самом деле не повторяет ничего, что приводит к 'action =" "'. Это работает, потому что пустая строка означает текущую страницу, но вы, вероятно, должны изменить ее на ''. – 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

У вас есть изменения в коде. Добавьте атрибут NAME для формы POST.

<input type="submit" name="submit"> 
Смежные вопросы