Witam na forum, bawię się od niedawna php i teraz przyszła kolej na bazy danych, udało mi sie uzyskać połączenie oraz wyświetlić zawartość bazy danych, ale nie mogę nic dodać przez formularz.
Baza danych w mysql: Komentarze
Tabela: komenty
Zmienne: tekstkoment (tylko tekst)
datakoment (data w formacie xxxx-xx-xx)
Wyświetlenie bazy danych: baza.php
<?php
$link = mysqli_connect('localhost', 'root', '11111');
if (!$link)
{
$error = 'Nie można się połšczyć z serwerem bazy danych.';
include 'error.html.php';
}
if (!mysqli_set_charset($link, 'utf8'))
{
$output = 'Nie można ustanowić kodowania dla połšczenia z bazš danych.';
include 'output.html.php';
}
if (!mysqli_select_db($link, 'komentarze'))
{
$error = 'Nie znaleziono bazy danych komenty.';
include 'error.html.php';
}
$result = mysqli_query($link, 'SELECT * FROM komenty');
if (!$result)
{
$error = 'Błšd odczytu kawałów: ' . mysqli_error($link);
include 'error.html.php';
}
while ($row = mysqli_fetch_array($result))
{
$jokes[] = $row['tekstkoment'];
$jokes[] = $row['datakoment'];
}
include 'komentarze.html.php';
include 'dodawanie.php';
?>
komentarze.html.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="mystyle.css" id='ss' /> <?php foreach ($jokes as $joke): ?>
<p><?php echo htmlspecialchars($joke, ENT_QUOTES, 'UTF-8');
<?php endforeach; ?>
Nieszczęsne niedziałające dodawanie: dodawanie.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$link = mysqli_connect('localhost', 'root', '11111');
if (!$link)
{
$error = 'Nie można się połšczyć z serwerem bazy danych.';
include 'error.html.php';
exit();
}
if (!mysqli_set_charset($link, 'utf8'))
{
$output = 'Nie można ustanowić kodowania dla połšczenia z bazš danych.';
include 'output.html.php';
exit();
}
if (!mysqli_select_db($link, 'komentarze'))
{
$error = 'Nie znaleziono bazy danych komenty.';
include 'error.html.php';
exit();
}
if (isset($_POST['komenty']))
{
echo '<div>Dane z formularza dotarły
</div>';
var_dump($_POST); //Wyświetlamy całą zawartość
$tekstkoment = $_POST['tekstkoment'];
$zapytanie = 'INSERT INTO komenty VALUES ("'.$tekstkoment.'")';
if(!mysql_query($zapytanie))
{
echo '
<pre>'.mysql_error().'
</pre>'; //Na wypadek błędu
}
}
?>
<form action="?" method="post"> <input type="text" name="tekstkoment" /> <input type="submit" name="dodaj" value="dodaj" />
Proszę o jakąś pomoc w tym temacie, wałkowałem dużo postów w tym temacie, ale po prostu nie kumam jak to ma działać. pozdrawiam