web-dev-qa-db-fra.com

Envoyer les données de formulaire HTML à la base de données SQL via PHP (en utilisant mysqli)

Je souhaite envoyer les données saisies sous une forme html à ma base de données SQL, c’est-à-dire créer une nouvelle ligne attribuant certaines valeurs à certaines colonnes. Je sais qu'il y a des questions similaires, j'ai lu les réponses mais rien ne semble fonctionner.

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>

mon db "posts" colonnes de table:

pid
title
contents
tags
category

pid a auto_increment sur

J'ai déjà essayé d'envoyer des valeurs à toutes les colonnes, y compris pid, et dans le "bon" ordre.

La partie mysqli_connect n'est pas le problème puisque je l'ai copié depuis un fichier .php différent de celui qui fonctionne.

La compatibilité serveur php-sql n’est pas non plus le problème, car j’ai réussi à récupérer un fichier .php différent, à partir de la base de données (données insérées manuellement).

13
Alex

change ça

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

à

<form action="send_post.php" method="post">
15
Yogesh Suthar
$connect = mysqli_connect("my Host","my user","my password","my db");

N'oubliez pas de corriger toutes les fautes d'orthographe, cela peut être un problème lorsque vous ne savez pas ce qui ne va pas. (mot de passe mal orthographié comme mot de passe)

0
Kosmic