oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
После вставки на страницы php-кода:
<?php
require_once "start.php";
?>
денвер выводит пустую страницу с ошибкой:
Parse error: syntax error, unexpected '=' in Z:\home\mysite.local\www\lib\functions.php on line 2
В чём может быть причина? Код сверяла с видеоуроком
<?php
Smysqli = false;
function connectDB() {
global Smysqli;
Smysqli = new mysqli("localhost", "root", "", "mysite-local"
;
Smysqli->query("SET NAMES 'utf8'"
;
}
function getAllArticles() {
global Smysqli;
connectDB();
Sresult_set = Smysqli->query("SELECT * FROM `articles`"
;
closeDB();
return resultSetToArray(Sresult_set);
function resultSetToArray (Sresult_set) {
Sarray = array();
while ((Srow = Sresult_set->fetch_assoc()) != false)
Sarray[]= Srow;
return Sarray;
}
function closeDB() {
global Smysqli;
Smysqli-> close();
}
?>
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Что же Вы так невнимательно сверяете. У Вас же даже строчка указана, где стоит буква S вместо знака $ перед переменной.
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
Вот это да!))) СПАСИБО большое
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
После создании Гостевой книги по видеоурокам у меня при введении имени и комментария на странице появляется только 1 сообщение. При введении всех остальных сообщений выдаётся ошибка и они не появляются на странице, но в базе данных появляютя все. Подскажите пожалуйста, в чём может быть причина?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
А что за ошибка выдается? Наверняка просто в цикле вывода ошиблись.
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
Ошибки никакой не пишет. Я ввожу данные в поля имя и комментарий, нажимаю Добавить,они в базу данных уходят, но на странице только 1 комментарий самый первый появился ,а остальные не появляются. Ошибку так и не нашла. Если удаляю все комменты из базы данных- на странице выводится тот, который вводился самый последний
Error 404
Продвинутый
Дата регистрации:
28.07.2013 16:04:47
Сообщений: 48
А не могли бы Вы показать код вывода сообщений из БД?
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
<h2>Записи в гостевой книге</h2>
<div>
<?php
if (!empty($_POST["button_guestbook"])) {
$name = htmlspecialchars($_POST["name"]);
$comment = htmlspecialchars($_POST["comment"]);
if ((strlen($name) < 3) || (strlen($comment) < 3)) $success = false;
else $success = addGuestBookComment($name, $comment);
if (!$success) {
$alert = "Ошибка при добавлении новой записи";
include "alert.php";
}
}
$comments = getAllGuestBookComments();
for ($i = 0; $i < count(Scomments); $i++) {
$name = $comments[$i]["name"];
$comment = $comments[$i]["comment"];
include "blocks/guestbook_comment.php";
}
?>
</div>
Вывод функций:
function getAllGuestBookComments(){
global $mysqli;
connectDB();
$result_set = $mysqli->query("SELECT * FROM `guestbook`"
;
closeDB();
return resultSetToArray($result_set);
}
function addGuestBookComment($name, $comment) {
global $mysqli;
connectDB();
$success = $mysqli->query("INSERT INTO `guestbook` (`name`, `comment`) VALUES ('$name', '$comment')"
;
closeDB();
return $success;
}
Error 404
Продвинутый
Дата регистрации:
28.07.2013 16:04:47
Сообщений: 48
Я могу ошибаться, но ошибка скорей всего вот в этом блоке кода:
for ($i = 0; $i < count(Scomments); $i++) {
$name = $comments[$i]["name"];
$comment = $comments[$i]["comment"];
include "blocks/guestbook_comment.php";
}
а точнее:
include "blocks/guestbook_comment.php";
выведите подключение файла через include за пределы цикла:
for ($i = 0; $i < count(Scomments); $i++) {
$name = $comments[$i]["name"];
$comment = $comments[$i]["comment"];
}
include "blocks/guestbook_comment.php";
так попробуйте сделать.
и ОБЯЗАТЕЛЬНО тут
for ($i = 0; $i < count(Scomments); $i++)
измените count(Scomments) на count($comments). Переменные в PHP объявляются с ключевого символа $(доллара) а не с английской буквы S.
Из-за этого цикл проходит всего лишь 1 итерацию (при условии лишь только когда $i равна 0)и записывает всего лишь 1 запись.
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
Спасибо Вам большое! Ведь проверяла раз 10 код этот, а всё равно не заметила S вместо $. В этом была причина