My main html file creates somewhat like a login form. The data which was used as input there is redirected to the PHP file, where it should be printed and also stored in the database.
<?php error_reporting(E_ALL);
function db_con($data_array){
$db = mysqli_connect("localhost", "root", "", "form") or die("Fehler beim Herstellen der Verbindung zur Datenbank!");
mysqli_set_charset($db, 'utf8');
mysqli_query($db, "
INSERT INTO 'data'
(
'E-Mail', 'Name', 'Bewertung', 'Kommentar', 'Thema'
)
VALUES
(
'".$data_array['E-Mail']."',
'".$data_array['Name']."',
'".$data_array['Buchbewertung']."',
'".$data_array['Kommentar']."',
'".$data_array['Lieblingsthema']."'
)
") or die("Fehler beim Schreiben der Datensätze!");
}
if(isset($_POST['name'], $_POST['email'], $_POST['rating'], $_POST['comment'], $_POST['interest'])){
$data_array = array(
"Name" => $_POST['name'],
"E-Mail" => $_POST['email'],
"Buchbewertung" => $_POST['rating'],
"Kommentar" => $_POST['comment'],
"Lieblingsthema" => $_POST['interest']
);
echo "Folgende Daten wurden übermittelt: ";
echo "
Biggest problem with arrays is no output and debug Use this:
<?php print_r($_POST); print_r($_GET); ?>
This will show you POST and GET values/ Also can use print_r($data_array). Use the pre tags so it formats. First step is to make sure something is in POST. “I don;t see a form or where you get your user inputs from”. Normally a form asks this and then you assign the POST values to variable
i.e. $name = $_POST[‘name’]);
So add those lines in a php page and then see if array empty or not. Likely it is. If not then you need to see if the fail is mysql insert and you can set some debug there to fail if no insert. I am new but still your layout and detail can’t be answered without more.
Why are you sending a self created array to your function? You already have the global POST array available, just use it.
Your query is failing. Turn on error reporting and check your error log. Php is more than happy to tell you EXACTLY what is wrong if you ask it nicely.
I recommend you use PDO. You are not correctly using Mysqli anyways. Here is a good PDO tutorial to get you going. https://phpdelusions.net/pdo