13

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

2
  • When you say nothing seems to work, what isn't working? Are you getting an error, wrong data in the db, etc? Commented Mar 11, 2013 at 5:03
  • I meant none of the solutions provided by answers from different questions worked. I was getting no error output. Commented Mar 11, 2013 at 5:08

2 Answers 2

16

change this

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

to

<form action="send_post.php" method="post">
Sign up to request clarification or add additional context in comments.

3 Comments

That was it. I was so focused on the .php I'd never suspect of that. I don't understand why it'd make a difference, though. Thank you.
@user117893 onSubmit calls a javascript function when the submit button is pressed, the action of a form is the url page to submit the form to.
Oh alright. I was working with javascript before that, that's why I had onSubmit. Thank you, Eli.
0
$connect = mysqli_connect("my host","my user","my password","my db");

Don't forget to correct all spelling mistakes, can be a hassle when you don't know what is going wrong. (misspelt password as password)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.