Próbowałem połączyć kilka rzeczy (logowanie, newsy) znalezione w internecie. Jestem zielony w php, czy ktoś mógłby mi wyjaśnić, dlaczego wysłany komentarz nie trafia do bazy danych?
<?php
include "config.php";
db_connect();
check_login();
$user_data = get_user_data();
$adres = $_SERVER['REQUEST_URI'];
$a = $_GET['kom'];
$id = $_GET['id'];
{
echo '<script>window.location.href="main.php"</script>'; # Przekierowanie, kiedy zmienna $_GET['id'] jest pusta }
$sql1 = mysql_query("SELECT * FROM news WHERE id=$id LIMIT 1"); $sql2 = mysql_query("SELECT * FROM comments WHERE post_id=$id");
echo'<h2>'.$news['tytul'].'</h2> <h3>'.$news['data'].'</h3>
<p> '.$news['tresc'].'</p>
<p align="right"><a href="news.php?id='.$news['id'].'">Komentarze ['.$nr.']</a>';
if(isset($a) && $a == 'dodaj') {
$nazwa = $user_data['user_name'];
$data = date("F j, Y , g:i a"); $ip=$_SERVER['REMOTE_ADDR'];
if(empty($_POST['message'])) {
}
if(!empty($_POST['name']) && ($_POST['message'])) {
$sql = mysql_query("INSERT INTO `comments` (`id`,`post_id`, `autor`, `data`, `tresc`) VALUES (0,'$id','$nazwa,'$data','$msg')"); echo '<script>window.location.href="news.php?id='.$news['id'].'"</script>'; }
}
if($nr == 0)
{
echo 'Brak komentarzy.<br />'; }
else
{
include 'templates/comment.php';
}
include 'templates/form.php';
?>
form.php
<?php
#wygląd formularza
#pole z nickiem musi mieć name="name"
#pole z tekstem musi mieć name="message"
#akcja do której formularz prowadzi musi być 'action="'.$adres.'&kom=dodaj"'
<h4>Skomentuj</h4>
<form action="'.$adres.'&kom=dodaj" method="post">
<input id="name" name="name" type="text" style="display: none;" />
<label for="message">Wiadomość</label>
<textarea id="message" name="message" rows="10" cols="20" size="255"></textarea>
<input class="button" type="submit" value="Dodaj" />
</form>';
?>
comment.php
<?php
# Plik reprezentuje ogólny wygląd komentarzy. To co jest między {} po while oznacza wygląd jednego komentarza.
#zmienne:
# $nr - Liczba komentarzy
# $adres - adres strony do kotwicy
# $kome['id'] - id komentarza
# $kome['data'] - data dodania komentarza
# $kome['tresc'] - treść komentarza
# $kome['ip'] - IP osoby która komentuje
echo'<h4>'.$nr.' wpisów</h4>'; echo '<fieldset><legend>'.$nazwa.' Pisze:</legend> <br/>
<small>'.$kome['data'].'</small>
<p>'.$kome['tresc'].'</p>
</fieldset>';} #nie usuwać
?>
config.php
<?php
// definiujemy dane do połączenia z bazą danych
define('DBHOST', 'mysql.hostinger.pl'); define('DBUSER', 'u310643226_asd'); define('DBNAME', 'u310643226_asd');
function db_connect() {
// połączenie z mysql
mysql_connect(DBHOST
, DBUSER
, DBPASS
) or
die('<h2>ERROR</h2> MySQL Server is not responding'); // wybór bazy danych
}
function db_close() {
}
function clear($text) {
// jeśli serwer automatycznie dodaje slashe to je usuwamy
}
$text = trim($text); // usuwamy białe znaki na początku i na końcu return $text;
}
function codepass($password) {
// kodujemy hasło (losowe znaki można zmienić lub całkowicie usunąć
return sha1
(md5($password).'#!%Rgd64'); }
// funkcja na sprawdzanie czy user jest zalogowany, jeśli nie to wyświetlamy komunikat
function check_login() {
if(!$_SESSION['logged']) {
die('<script>window.location.href="notloged.php"</script>'); }
}
// funkcja na sprawdzenie czy user jest niezalogowany
function check_login2() {
if($_SESSION['logged']) {
die('<script>window.location.href="main.php"</script>'); }
}
// funkcja na pobranie danych usera
function get_user_data($user_id = -1) {
// jeśli nie podamy id usera to podstawiamy id aktualnie zalogowanego
if($user_id == -1) {
$user_id = $_SESSION['user_id'];
}
$result = mysql_query("SELECT * FROM `users` WHERE `user_id` = '{$user_id}' LIMIT 1"); return false;
}
}
// startujemy sesje
// jeśli nie ma jeszcze sesji "logged" i "user_id" to wypełniamy je domyślnymi danymi
if(!isset($_SESSION['logged'])) { $_SESSION['logged'] = false;
$_SESSION['user_id'] = -1;
}
function showNews()
{
$sql1 = mysql_query("SELECT * FROM news ORDER BY id DESC"); {
$id = $news['id'];
$sql2 = mysql_query("SELECT id FROM comments WHERE post_id=$id"); echo'<h2>'.$news['tytul'].'</h2> <h3>'.$news['data'].'</h3>
<p> '.$news['tresc'].'</p>
<p align="right"><a href="news.php?id='.$news['id'].'">Komentarze ['.$nr.']</a>';
}
}
?>
Ten post edytował sher 28.08.2014, 21:54:15