Ich möchte die in ein HTML-Formular eingegebenen Daten an meine SQL-Datenbank senden, d. H. Eine neue Zeile erstellen, die bestimmten Spalten bestimmte Werte zuordnet. Ich weiß, dass es ähnliche Fragen gibt, ich lese die Antworten, aber nichts scheint zu funktionieren.
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>
meine db "posts" tabellensäulen:
pid
title
contents
tags
category
pid
hat auto_increment
an
Ich habe bereits versucht, Werte an alle Colunes zu senden, einschließlich pid
, und zwar in der "richtigen" Reihenfolge.
Der mysqli_connect
-Teil ist nicht das Problem, da ich ihn aus einer anderen .php-Datei von mir kopiert habe, die funktioniert.
Die Server-PHP-SQL-Kompatibilität ist nicht das Problem, da ich erfolgreich eine andere .php-Datei hatte, um Daten aus der Datenbank abzurufen (Daten, die manuell eingefügt wurden).
ändere das
<form onSubmit="send_post.php" method="post">
zu
<form action="send_post.php" method="post">
$connect = mysqli_connect("my Host","my user","my password","my db");
Vergessen Sie nicht, alle Rechtschreibfehler zu korrigieren. Es kann schwierig sein, wenn Sie nicht wissen, was falsch läuft. (falsch geschriebenes Passwort als Passwort)