13

HTMLフォームに入力されたデータをSQLデータベースに送信したい、つまり、特定の値を特定の列に関連付ける新しい行を作成したい。同様の質問があることは知っています。回答を読みましたが、何も機能していないようです。

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#フォーム

<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>

私のデータベースの「投稿」テーブルの列:

pid
title
contents
tags
category

pid持っauto_incrementている

を含むすべての列にpid、「正しい」順序で値を送信しようとしました。

mysqli_connect動作する私の別の.phpファイルからコピーしたので、その部分は問題ではありません。

サーバーのphp-sqlの互換性も問題ではありません。別の.phpファイルでdbからデータを取得することに成功したからです(手動で挿入されたデータ)。

4

2 に答える 2

15

これを変える

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

<form action="send_post.php" method="post">
于 2013-03-11T05:03:46.010 に答える