2013-03-11 28 views
13

Tôi muốn gửi dữ liệu được nhập vào biểu mẫu html vào cơ sở dữ liệu sql của tôi, tức là tạo một hàng mới phân bổ giá trị nhất định cho các cột nhất định. Tôi biết có những câu hỏi tương tự, tôi đọc câu trả lời nhưng không có gì có vẻ hiệu quả.Gửi dữ liệu biểu mẫu html tới cơ sở dữ liệu sql qua php (sử dụng mysqli)

send_post.php

<?php 
//Connecting to sql db. 
$connect = mysqli_connect("my host","my user","my passwrod","my db"); 
//Sending form data to sql db. 
mysqli_query($connect,"INSERT INTO posts (category, title, contents, tags) 
VALUES ('$_POST[post_category]', '$_POST[post_title]', '$_POST[post_contents]', '$_POST[post_tags]')"; 
?> 

post.html # hình thức

<form onSubmit="send_post.php" method="post"> 
    <h3>Category:</h3> 
    <input type="text" name="post_category"> 
    <h3>Post title:</h3> 
    <input type="text" name="post_title"> 
    <h3>Post tags (a,b,c...):</h3> 
    <input type="text" name="post_tags"> 
    <h3>Post (use html):</h3> 
    <textarea rows="20" cols="50" name="post_contents"></textarea> 
    <input type="submit"> 
</form> 

db của tôi "viết" colums bảng:

pid 
title 
contents 
tags 
category 

pidauto_increment trên

Tôi đã thử gửi các giá trị tới tất cả các colunes, bao gồm pid và theo thứ tự "đúng".

Phần mysqli_connect không phải là vấn đề vì tôi đã sao chép nó từ tệp .php khác của tôi hoạt động.

Tính tương thích của máy chủ php-sql cũng không phải là vấn đề, vì tôi đã có tệp .php khác truy xuất dữ liệu từ db (dữ liệu được chèn thủ công).

+0

Khi bạn nói không có gì có vẻ hiệu quả, những gì không hoạt động? Bạn đang nhận được một lỗi, dữ liệu sai trong db, vv? –

+0

Tôi có nghĩa là không có giải pháp nào được cung cấp bởi các câu trả lời từ các câu hỏi khác nhau. Tôi đã không nhận được đầu ra lỗi. – Alex

Trả lời

15

thay đổi này

<form onSubmit="send_post.php" method="post"> 

để

<form action="send_post.php" method="post"> 
+1

Đó là nó. Tôi đã quá tập trung vào .php Tôi không bao giờ nghi ngờ về điều đó. Tôi không hiểu tại sao nó lại tạo nên sự khác biệt. Cảm ơn bạn. – Alex

+0

@ user117893 welcome .. :) –

+2

@ user117893 onSubmit gọi một hàm javascript khi nút gửi được nhấn, hành động của biểu mẫu là trang url để gửi biểu mẫu tới. –

0
$connect = mysqli_connect("my host","my user","my password","my db"); 

Đừng quên để sửa chữa tất cả các lỗi chính tả, có thể là một rắc rối khi bạn không biết những gì đang xảy ra sai. (mật khẩu sai chính tả dưới dạng mật khẩu)

Các vấn đề liên quan