Pisze sobie skrypt do zarzadzania trescia strony, nie korzystam z zadnych szablonow jedynie pierw wykonuje kod php a na samym koncu dolaczam pliki .html z wygladem ogolnie zrobilem juz autoryzacja ktora dziala ok. Po zalogowaniu sie do panelu admina dodalem mozliwosci dodania kategori newsow, plik news_category.php wyglada tak:
<?php /** * @author Rafał Robakowski <rafal.robakowski@gmail.com> * @version 1.0 */ /** * news_category.php - dodawanie kategorii aktualności. */ // Ładowanie wszystkich niezbędnych plikow ( config oraz klasy ) include('../config.php'); include('../libs/engine.class.php'); include('../libs/sql.class.php'); include('../libs/access.class.php'); try { // Rozpocznij operacje na sesjach ( włacz automat sesji ) // Połącz się z baza danych sql_connect($config['db_host'], $config['db_user'], $config['db_password'], $config['db_name']); // Sprawdz czy jest już zalogowany if ( !Access_check_login() ) throw new system_Exception('Brak autoryzacji !'); // Sprawdz czy posiada uprawnienia if ( !Access_check_access('news') ) throw new system_Exception('Brak uprawnień !'); // Dodawanie kategorii if ( $_GET['action'] == add ) { throw new Exception('Nie podałeś danych potrzebnych do dodania kategorii news'a'); } else { Sql_query("INSERT INTO news_category VALUES('', '". trim(htmlspecialchars($_POST['name'])) ."', '". trim(htmlspecialchars($_POST['description'])) ."', '". $_POST['under_id'] ."')"); } } } } catch (system_Exception $sys_Ex) { include_once('../templates/' . $config['template'] . '/admin/header.html'); include_once('../templates/' . $config['template'] . '/admin/left.html'); include('../templates/' . $config['template'] . '/admin/system_Exception.html'); } catch (Exception $Ex) { include_once('../templates/' . $config['template'] . '/admin/header.html'); include_once('../templates/' . $config['template'] . '/admin/left.html'); include('../templates/' . $config['template'] . '/admin/Exception.html'); } include_once('../templates/' . $config['template'] . '/admin/header.html'); include_once('../templates/' . $config['template'] . '/admin/left.html'); include('../templates/' . $config['template'] . '/admin/news_category.html'); include('../templates/' . $config['template'] . '/admin/right.html'); include('../templates/' . $config['template'] . '/admin/footer.html'); ?>
No i plik news_category.html ktory wyglada tak:
<?php if ( $Access['is_logged'] === TRUE ) { ?> <div class="post"> <h2 class="title">Panel administracyjny</h2> <div class="entry"> <?php if ( $_GET['action'] == add ) { ?> <form action="news_category.php?action=add" method="POST"> <table border="0" cellspacing="5" cellpadding="0" width="100%"> <tr> <td width="18%" valign="top"><strong>Nazwa kategorii:</strong></td> <td width="82%"><input type="text" name="name" style="width:100%;"></td> </tr> <tr> <td valign="top"><strong>Opis kategorii:</strong></td> <td><textarea name="description" style="width:100%; height: 100px;"></textarea></td> </tr> <tr> <td valign="top"><strong>Podkategoria:</strong></td> <td><select name="under_id" style="width: 100%"> <option value='0'>Brak podkategorii</option> <?php Sql_query('SELECT id, name FROM news_category WHERE under_id="0"'); while ( Sql_assoc() ) { $rows = $Sql['rows']; } ?> </select> </td> </tr> <tr><td colspan="2" align="right"><input type="submit" name="submit" value=" Dodaj "></td></tr> </table> </form> <?php } ?> </div> </div> <?php } ?>
niby wszystko działa ok, jedyny problem w tym ze po kazdym dodaniu jakiejś kategorii dodaje ją podwójnie. Za kazdym razem, probowałem już wszystkich rzeczy jakie przyszły mi do głowy ale nic. Za każdym razem po dodaniu jakiejs kategori pozniej patrze w phpmyadminie i kazda kategorie jest dodana dwa razy , nie mam pojęcia dlaczego.
Pracuje na localu gdzie chodzi xampp 1.6.4 pod windows'em xp.