2016-04-04 25 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(); 
    } 
} 
?> 

Veritabanına değerleri girmeye çalışan örnek bir form için yeni oluşturduğum kodlarım. Sorunum, değerlerin veritabanına girmemesi.Form göndermek veriye veritabanına girmiyor

Neden çalışmıyor? Bulamadığım bir sözdizimi hatası var mı?

Sayfa ayrıştırma işlemi kolayca yapılabilir ve herhangi bir hata gösterilmiyor, ancak değerler veritabanına girmiyor.

+3

Gönder düğmeniz için bir 'isim 'etiketi ekleyin. '' –

+1

Kullanıcının gönderdiği tüm verileri doğrulamanız gerekir ve hazır ifadeleri düzgün kullanmadığınız için SQL injection saldırılarına karşı savunmasızsınızdır. – SpacePhoenix

+1

? php $ _SERVER [ 'PHP_SELF']?> 'da' form' en 'action' nitelik aslında' action = "" 'sonuçlanan şey yankılamamasını içinde. Boş dize geçerli sayfayı gelir, çünkü bu işler, ama muhtemelen <= $ _ SERVER [ 'PHP_SELF']??;> 'bu değişmelidir'. – Antti29

cevap

0

Değişim

<input type="submit"> 

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

'name' etiketini unutmuştunuz:' name = 'submit' ' –

+0

teşekkürler .. .. unuttum: D .. @ LoganWayne –

+0

Teşekkür ederim işinizi takdir ediyorum –

0

için Sen $_POST['submit'] kullanıyor ancak bu isimde hiçbir herhangi bir giriş yoktur.

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

Sen kodunda değişiklik var izleyin olarak giriş tipine

Ekleme adı gönderin. POST formu için NAME özniteliği ekleyin.

<input type="submit" name="submit"> 
İlgili konular