Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 229
Alex Avatar asked Mar 11 '13 05:03

Alex


People also ask

How do I save HTML form data to database?

Moving information from an HTML form into a database is a two-step design process. First, create an entry HTML form capable of passing information to a secondary file. Next, create a Hypertext Preprocessor (PHP) file to accept the data and insert it into the database.

What method is used to transmit data from forms to PHP?

When the user fills out the form above and clicks the submit button, the form data is sent for processing to a PHP file named "welcome.php". The form data is sent with the HTTP POST method.


1 Answers

change this

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

to

<form action="send_post.php" method="post">
like image 152
Yogesh Suthar Avatar answered Sep 17 '22 17:09

Yogesh Suthar