Send html form data to sql database via php (using mysqli)

forms, html, mysqli, php, sql

Solution

change this

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

to

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

Problem

I want to send the data inputted into an html form to my sql database, i.e., create a new row attributing certain values to certain columns. I know there are similar questions, I read the answers but nothing seems to work. 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 ``` <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> ``` my db "posts" table colums: ``` pid title contents tags category ``` `pid` has `auto_increment` on I have already tried sending values to all colunes, including `pid`, and in the "right" order. The `mysqli_connect` part isn't the issue since I copied it from a different .php file of mine that works. Server php-sql compatibility isn't the issue either, since I successfully had a different .php file retrieve data from the db (data which was manually inserted).

Original source