Jednak co do tematu. Problem jest tak, że wyskakują błędy takie jak:
Kod
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\news\admin.php on line 110
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\news\admin.php on line 112
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\news\admin.php on line 112
Ogólnie baza danych jest postawiona jako kamik_news w phpMyAdmin, jednak ten cały Panel Administracyjny nie do końca działa - niby news dodaje, ale już w bazie go nie dodaje.
Tak jak mówiłem jest tu coś, jednak dużo do poprawki i razem z Wami chciałbym to poprawić tak aby to działało, tak aby ktoś z takiego systemu mógł korzystać, tylko trzeba wiele poprawek. Niektóre już naniosłem, ponieważ PHP poszło do przodu i niektóre zmienne jak mysql na mysqli trzeba było pozmieniać - jednak to amatorka to co robię
Liczę na Waszą pomoc (z tego względu że są ograniczenia co do liczby znaków w poście będę musiał troszke podublować odpowiedzi tak aby to wszystko było zgrane z tematem)
Plik config.php
<?php function connect() { $mysqli_server = "localhost"; $mysqli_admin = "root"; $mysqli_pass = "haslo"; $mysqli_db = "kamik_news"; @mysqli_connect($mysqli_server, $mysqli_admin, $mysqli_pass) @mysqli_select_db($mysqli_db) } ?>
Plik functions.php
<?php function showNews() { $sql1 = mysqli_query('SELECT * FROM news ORDER BY id DESC'); while($news = mysqli_fetch_assoc($sql1)) { $id = $news['id']; $sql2 = mysqli_query('SELECT id FROM comments WHERE post_id=$id'); $nr = mysqli_num_rows($sql2); '<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>'; } } ?>
Plik 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"> <label for="name">Nick (wymagane)</label> <input id="name" name="name" value="Nick" type="text" size="32" /> <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>' ; ?>
Plik 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 while($kome = mysqli_fetch_assoc($sql2)) { '<fieldset><legend><a name="comment'.$kome['id'].'" href="'.$adres.'#comment'.$kome['id'].'">'.$kome['autor'].'</a> Pisze:</legend><br/><small>'.$kome['data'].'</small><p>'.$kome['tresc'].'</p></fieldset>'; } ?>
Plik news.php
<?php require ('config.php'); $adres = $_SERVER['REQUEST_URI']; $a = $_GET['kom']; $id = $_GET['id']; { exit; } $sql1 = mysqli_query("SELECT * FROM news WHERE id=$id LIMIT 1"); $sql2 = mysqli_query("SELECT * FROM comments WHERE post_id=$id"); $nr = mysqli_num_rows($sql2); $news = mysqli_fetch_assoc($sql1); <h3>'.$news['data'].'</h3> <p> '.$news['tresc'].'</p> <p align="right"><a href="news.php?id='.$news['id'].'">Komentarze ['.$nr.']</a>'; { $ip=$_SERVER['REMOTE_ADDR']; { } { } { } { $sql = mysqli_query("INSERT INTO comments VALUES (0,'$id','$nazwa','$data','$msg','$ip')"); } if($sql) { exit; } } if($nr == 0) { } else { include 'templates/comment.php'; } include 'templates/form.php'; ?>
Plik admin.php
<?php /////////////////////////////////////////////////////////////////////////////////////// $user = 'test'; $haslo = 'test'; $cookie = hash(sha512, $haslo); /////////////////////////////////////////////////////////////////////////////////////// $a = $_GET['id']; $b = $_GET['nr']; $c = $_GET['co']; $d = $_GET['n']; /////////////////////////////////////////////////////////////////////////////////////// if($_GET['action']=="logout") { } elseif($_GET['action']=="login") { if ($_POST['username']== $user&&$_POST['password']==$haslo) $_SESSION['login']=$cookie; } /////////////////////////////////////////////////////////////////////////////////////// if ($_SESSION['login'] != $cookie AND $_COOKIE['login'] != $cookie) { <head> <meta charset="UTF-8"> <title>System newsów</title> </head> <body class="log"> <fieldset class="login"><form method="POST" action="?action=login"> <label for="username">Nazwa użytkownika</label><input type="text" id="username" name="username" size="20" /> <label for="password">Hasło</label><input id="password" name="password" type="password" size="20" /> <label for="zapamietaj">Zapamiętaj logowanie</label><input id="zapamietaj" name="zapamietaj" type="checkbox"/> <input type="submit" value="Loguj"> </form> </fieldset></body></html>'); } /////////////////////////////////////////////////////////////////////////////////////// require ('config.php'); echo'<div style="width:800px;margin:20px auto;"><div style="float:left;"><a href="admin.php?id=dodaj">Dodaj Newsa</a><br><a href="admin.php?id=pokaz">Zarządzaj Newsami</a><br><a href="admin.php?action=logout">Wyloguj</a></div><div style="float:right;">'; /////////////////////////////////////////////////////////////////////////////////// $tytul = $_POST['tytul']; $tresc = $_POST['tresc']; mysqli_query("INSERT INTO news VALUES(0,'$tytul','$tresc','$data')"); echo '<fieldset><legend>Udana Akcja</legend>Pomyślnie dodałem newsa o tytule: <b>'.$tytul.'</b> i o treści: <b>'.$tresc.'</b></fieldset>'; $sql = mysqli_query("DELETE FROM news WHERE id='$b'"); $sql = mysqli_query("DELETE FROM comments WHERE post_id='$b'"); if($sql)echo '<fieldset><legend>Udana Akcja</legend>Pomyślnie usunąłem newsa numer '.$b.' oraz komentarze do niego!</fieldset>'; else echo '<fieldset><legend>Akcja Nie udana</legend>Nie udało się usunąć newsa<br> '.mysql_error().'</fieldset>'; } /////////////////////////////////////////////////////////////////////////////////////// echo '<form method="POST" action="admin.php?id=add"> <label for="tytul">Tytuł:</label><input id="tytul" type="text" name="tytul" size="64"><br> <label for="tresc">Tresć:</label><textarea id="tresc" rows="5" name="tresc" cols="42"></textarea><br> <input type="submit" value="Dodaj"></form></fieldset>'; } /////////////////////////////////////////////////////////////////////////////////////// { $link=mysqli_query("SELECT * FROM news WHERE id='$b'"); $wiersz=mysqli_fetch_array($link, MYSQL_ASSOC); <label for="tytul">Tytuł:</label><input id="tytul" type="text" name="tytul" size="64" value="'.$wiersz['tytul'].'"><br> <label for="tresc">Tresć:</label><textarea id="tresc" rows="5" name="tresc" cols="42">'.$wiersz['tresc'].'</textarea><br> <input type="submit" value="Edytuj"> </form></fieldset>'; } /////////////////////////////////////////////////////////////////////////////////////// $link=mysqli_query('SELECT * FROM news ORDER BY id desc'); while($wiersz=mysqli_fetch_array($link, MYSQL_ASSOC)) { $numer = $wiersz['id']; $sql = mysqli_query("SELECT id FROM comments WHERE post_id='$numer'"); echo $wiersz['tytul'].' - '.$wiersz['data'].'| <a href="admin.php?id=edytuj&nr='.$wiersz['id'].'">Edytuj</a> | <a href="admin.php?id=usun&nr='.$wiersz['id'].'">Usuń</a> | <a href="admin.php?id=komentarze&nr='.$numer.'">Zarządzaj Komentarzami['.$nr.']</a><br>'; } $sql = mysqli_query("SElECT * FROM comments WHERE post_id='$b'"); while($wiersz = mysqli_fetch_assoc($sql)) { echo'<fieldset><legend>'.$wiersz['id'].'. Autor: '.$wiersz['autor'].' Data:'.$wiersz['data'].'</legend><p><strong>IP:</strong> '.$wiersz['ip'].'</p><p>'.$wiersz['tresc'].'</p><p><a href="admin.php?id=komentarze&co=usun&n='.$wiersz['id'].'">Usuń Komentarz </a></p></fieldset>'; } $sql = mysqli_query("DELETE FROM comments WHERE id='$d'"); if($sql) else $tytul=$_POST['tytul']; $tresc=$_POST['tresc']; $sql = mysqli_query("UPDATE news SET tytul='$tytul' tresc='$tresc' WHERE id='$b'"); if($sql) echo '<fieldset><legend>Udana Akcja</legend>Pomyślnie wyedytowałem newsa! <br> Jego nowy tytuł to: <b>'.$tytul.'</b>, a treść: <b>'.$tresc.'</b></fieldset>'; else echo '<fieldset><legend>Akcja Nie udana</legend>Nie udało się edytować newsa<br> '.mysql_error().'</fieldset>'; } ?>
Czekam na waszą pomoc - łatki, poprawki, rozwiązywanie problemów, tak aby to pięknie funkcjonowało

To będzie też dobry temat dla tych co szukają takiego systemu, odświeżonego z tego roku
