Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Ответы на вопросы из уроков по php [3]
Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
Я перенес все на сайт. Но там не заработало и технические специалисты мне сообщили:
У вас ошибка в коде. Приведите код в соответствие стандартам PHP 5.
В PHP я начинающий.
Если это возможно Поправьте пожалуйста 2 файла PHP
1. <?php
/* Ïğèíèìàåì äàííûå èç ôîğìû */
$name = $_POST["name"];
$page_id = $_POST["page_id"];
$text_comment = $_POST["text_comment"];
$name = htmlspecialchars($name);// Ïğåîáğàçóåì ñïåöñèìâîëû â HTML-ñóùíîñòè
$text_comment = htmlspecialchars($text_comment);// Ïğåîáğàçóåì ñïåöñèìâîëû â HTML-ñóùíîñòè
$mysqli = new mysqli("localhost", "root", "", "comments");// Ïîäêëş÷àåòñÿ ê áàçå äàííûõ
$mysqli->query("INSERT INTO `comments` (`name`, `page_id`, `text_comment`) VALUES ('$name', '$page_id', '$text_comment')");// Äîáàâëÿåì êîììåíòàğèé â òàáëèöó
header("Location: ".$_SERVER["HTTP_REFERER"]);// Äåëàåì ğåğèäåêò îáğàòíî
?>
2.<?php
$page_id = 150;// Уникальный идентификатор страницы (статьи или поста)
$mysqli = new mysqli("localhost", "root", "", "comments");// Ïîäêëş÷àåòñÿ ê áàçå äàííûõ
$result_set = $mysqli->query("SELECT * FROM `comments` WHERE `page_id`='$page_id'"); //Âûòàñêèâàåì âñå êîììåíòàğèè äëÿ äàííîé ñòğàíèöû
while ($row = $result_set->fetch_assoc()) {
echo $row['name'] . ' ';
echo $row['text_comment'] . ' ';
echo "<br /><br><br>";
}
?>
до уровня php5
Спасибо
GreenWorld
Отправлено: 20 Мая, 2013 - 16:24:43
Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Май 2013
Помог: 0 раз(а)
Добрый день, в уроке №2 (http://www.php.su/lessons/?lesson_2)
<?PHP
//$sName я опять же взял "откуда-то раньше"
if($sName=="EuGen")
{
echo("Да, это я");
}
elseif($sName=="Valenok");
{
echo("Теперь я точно уверен, это Valenok");
}
elseif($sName=="Champion");
{
echo("Это тоже наш автор, Champion");
}
else
{
echo("Я запутался..");
}
?>
нужны ли ";" в строчках с elseif?
EuGen
Отправлено: 20 Мая, 2013 - 16:35:00
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Внутри - да, после самого условия в elseif - нет. В оригинальном уроке этого не было, вероятно, некорректно перенесли на главную страницу, спасибо за сообщение.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
riosteyn
Отправлено: 28 Мая, 2013 - 18:54:51
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2013
Помог: 0 раз(а)
Доброго времени суток!
у меня возник вопрос по поводу первого урока!
а точнее - пункт 9, я, конечно, справился с задачей, НО
Альтернативное решение предложенное Eugen'ом - не используя третьей переменной - вот его я не могу понять
в нем активно используется действие (^), что оно делает?Я поэкспериментировал с ним - получается, что оно либо прибавляет, либо вычитает и это зависит от того, четное число или нет! Обычно так показывают степень, но здесь явно нечто совершенно другое!
Так вот мой вопрос что это за штука (^)
EuGen
Отправлено: 28 Мая, 2013 - 19:00:13
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
В PHP это оператор взаимоисключающего побитвоого "или" - оно же XOR. Подробнее об этом Вы можете прочесть в приложении к уроку №1.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
riosteyn
Отправлено: 28 Мая, 2013 - 19:16:29
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2013
Помог: 0 раз(а)
EuGenСпасибо, теперь все встало на свои места)
riosteyn
Отправлено: 01 Июня, 2013 - 18:23:47
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2013
$array[$i+1]=++$i;// если убрать + 1 ничего не изменится!!
}
while($i!= 10);
foreach($arrayas$key=>$val)
{
echo("Это элемент массива '".$key."' со значением: ".$val."</br>");
}
?>
ведь получается сначала -1+1=0(который выводится), а потом 0+1! и ключ к первому элементу это 1, а выводит 0!
DelphinPRO
Отправлено: 01 Июня, 2013 - 18:39:41
Активный участник
Покинул форум
Сообщений всего: 7190
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
(-1+1) = 0 - это первый ключ ($i не изменился)
потом -1++ = 0 - это первое значение ($i уже равен нулю)
новая итерация
0+1 - ключ
0++ = 1 значение ($i равен единице)
...
----- Чем больше узнаю, тем больше я не знаю.
riosteyn
Отправлено: 01 Июня, 2013 - 19:12:20
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2013
Помог: 0 раз(а)
DelphinPRO, спасибо за ответ!
Но к сожалению, я по прежнему не понимаю. Вот по тому, что вы написали, все ясно!
а если код будет
таким? почему первый ключ всеравно 0?
ведь будет уже -1 первый ключ!
И еще - получается, что сначала вычисляется действие из левой части выражения, а в шапке (в уроке 1 вопрос 2) сказано, что сначала вычисляется выражение справа!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.