Привет всем. Вот начал делать гостевуху на пхп + мускул. Вот как всегда не работает ((
Файл config.php
| Код | <?php
$config['MySQLHost'] = "localhost"; //Хост MySQL $config['MySQLUser'] = "root"; // Имя поьзователя базы данных $config['MySQLPass'] = ""; // Пароль базы данных $config['MySQLDB'] = "guestbook"; //Имя базы данных $config['MySQLTN'] = "posts"; //Имя таблицы базы $config['MySQLPx'] = "zav"; //Перфикс
$admin['Login'] = "admin"; //Логин админа $admin['Pass'] = "admin"; // Пароль админа
$design['Title'] = "Мега гостевуха"; // <title> гостевухи $design['MsgPP'] = "10"; //Сообщений на страницу $design['CLNV'] = "1"; //Кол-во ссылок рядом с выделеной $design['NoP'] = "Сообщений нет"; // Текст когда нету сообщений
mysql_connect ($config['MySQLHost'], $config['MySQLUser'], $config['MySQLPass']) or die(mysql_error()); mysql_select_db($config['MySQLDB']) or die(mysql_error()); $TN = $config['MySQLPx']."_".$config['MySQLTN']; //Сосовляем перфикс+имя_таблицы //$TodayDate = date("Y-m-d h:месяц:s");
?>
|
Файл functions.php
| Код | <?
include ("config.php");
function Show () { //Функция сборки, ну хз как назвать! include ("./skin/header.tpl"); include ("./skin/index.tpl"); include ("./skin/footer.tpl"); }
$name = $_POST['name']; $city = $_POST['city']; $email =$_POST['email']; $icq = $_POST['icq']; $msg = $_POST['msg']; $npage = $_GET['page'];
function add($name, $city, $email, $icq, $msg) { //Функция добавления записи $errors = ""; if(empty($name)) { $errors = $errors."Вы не ввели имя.<br>"; } else { $name = trim($name); $name = htmlspecialchars(stripslashes($name)); } if(empty($msg)) { $errors = $errors."Вы не ввели сообщение.<br>"; } else { $msg = trim($msg); $msg = htmlspecialchars(stripslashes($msg)); /* Потом добавлю обработку.. */ } if ($errors == "") { $Query = ("INSERT INTO $TN VALUES ('$TodayDate', '$name', '$city', '$email', '$icq', '$msg')"); mysql_db_query ($TN, $Query, $SQLC); } }
// Считаем кол-во записей $sql = "SELECT * FROM `".$TN."`"; $query = mysql_query($sql) or die(mysql_error()); $count = mysql_num_rows($query);
//Вывод сообщений. function posts(){ if ($count == 0) { $posts = $design['NoP']; } else { $CP = ceil($count / $design['MsgPP']); $PError = "0"; if(empty($npage)) // Если не указана страница, показываем 1 { $npage = "1"; } if($npage > $CP) // Если ввели адрес вручную.. { $PError = "1"; $posts = "Hakers must die!!"; } if ($npage < $CP) // Если ввели адрес вручную.. { $PError = "1"; $posts = "Hakers must die!!"; } if($PError == 0) { if($design['MsgPP'] <= 1) { $posts = "Совсем дурак столько сообщений на страницу ставить?"; } else { $NFPOP = ($design['MsgPP'] * $npage) - ($design['MsgPP'] - 1); //Расчет номера 1 поста на странице. Пойми формулу! :) $NLPOP = $design['MsgPP'] * $npage; //Расчет номера последнего поста на странице for($NFPOP; $NFPOP <= $NLPOP; $NFPOP++) //Вывод сообщений {
$sql = "ALTER TABLE `".$TN."` ORDER BY `date` DESC"; //Сортируем по дате в обратном порядке (Свежее на верх) $query = mysql_query($sql) or die(mysql_error()); $sql = "SELECT * FROM `".$TN."` LIMIT '".$nfpop."', '".$nfpop."'"; //Берем нужную строку $query = mysql_query($sql) or die(mysql_error()); $row = mysql_fetch_object($query);
$Ndate = $row->date; if ($Ndate == "") break; //Если записи не существует, прекращаем цикл.
$Nname = $row->name; $Ncity = $row->city; $Nemail = $row->email; $Nicq = $row->icq; $Nmsg = $row->msg; $posts = $posts." <tr> <td><a href=\"mailto:$Nemail\">$Nname</a></td> <td>$Ndate</td> </tr> <tr> <td>Из города $Ncity</td> <td>ICQ - $Nicq</td> </tr> <tr> <td colspan=2>$Nmsg</td> </tr>"; } } } } echo $posts; }
?>
|
Файл index.php
| Код | <?
include ("functions.php");
echo (show());
?>
|
Я хотел сделать чтобы дизайн был отдельно от кода, попрбовал сделать чтото типа темплейтов. Но так как не очень шарю в этом, сделал не верно.
./skin/header.tpl
| Код | <html> <head> <title>
<? echo $design['Title']; ?>
</title> </head> <body> <table width=750 border=1 align=center> <tr height="150px"> <td colspan=2>Логос</td> </tr> <tr height="50px"> <td colspan=2>менюха</td> </tr>
|
./skin/index.tpl
./skin/footer.tpl
Конечно пока сделано мало, но по идее должно хотябы выводить надпись СООБЩЕНИЙ НЕТ. Забивал базу немного инфой, писал в index.php echo (posts()); Все равно ничего не работает. Помогите найти ощибки и дайте советы.
Зарание благодарен. |