LINUX.ORG.RU

Странно работают print/echo и вообще

 ,


0

1

копипаст сорца
надо, чтобы печаталось $msg. ЧЯДНТ?
И условие в 20 строке не работает как надо.
З.Ы. С php вожусь чуть больше недели, до этого писал 90% всего на C (около полутора лет)
а, забыл. Пытаюсь пресечь даблпостинг в том коде. Код - гостевуха

★★★

Последнее исправление: cetjs2 (всего исправлений: 2)

Код не смотрел. Не проще ли, например, брать хеш от последнего сообщения и класть его в пользовательскую сессию. При отправке сообщения считаем хеш, сравниваем с тем, что в аттрибутах сессии, если совпало, то не отправляем.

kovrik ★★★★★
()
Ответ на: комментарий от kovrik

спасибо за совет, но мне хочется реализовать это через обращение к базе.
да и основная соль вопроса в другом - почему глубже второго ифа текстовым переменным ничего не присваивается и почему оттуда же нихрена не принтится?

kostett ★★★
() автор топика
Ответ на: комментарий от kovrik

брать хеш от последнего сообщения и класть его в пользовательскую сессию

Да хеш не жалко и прямо в профиле пользователя в БД хранить :) Так обычно и делаю...

KRoN73 ★★★★★
()

по ссылке феерический звиздец. Автор, прочитай книжки по mvc и выкить пых пока не поздно.

PS Я не спец, но в 17-й строке раз не sql-инъекция?

true_admin ★★★★★
()
Ответ на: комментарий от ae1234

они не печатаются, вот в чем прикол-то!
запрос к мускулу проходит нормально, сообщение записывается, но в том же месте поставить принт - нихрена не работает
меня это уже нервировать начинает

kostett ★★★
() автор топика
Ответ на: комментарий от true_admin

я бы с радостью, да наш хостинг как бы не дружит с ним

sql-запросов? их там три штуки, в 17 строке самый первый.

kostett ★★★
() автор топика
Ответ на: комментарий от KRoN73

для гостевой книги заводить регистрацию - це мощно, да..

kostett ★★★
() автор топика

sql инъекция и нехватает точек с запятоц в конце запросов.

Зачем такой синтаксис условий и циклов, чем обычный со скобками не понравился? А ещё зачем гонять время из эпохи в мускульный и обратно?

условие в 20 строке не работает как надо

Ты фетчишь обычный массив, а потом обращаешься к нему как к ассоциативному, либо mysql_fetch_assoc(); либо rowlast[1]

Kalashnikov ★★★
()
Ответ на: комментарий от kostett

да печатаеться все - ты наверняка нетуда смотриш
и/или оно печаеться в каконибуть html тэг и его так просто невидно - посмотри на исходный код страници что получаеться - там наверняка все твои принты

и да - код несекурен - надо экранировать все спец символы при занесении в базу хотябы

ae1234 ★★
()
Ответ на: комментарий от true_admin

PS Я не спец, но в 17-й строке раз не sql-инъекция?

Да, он самый.

anonymous
()
Ответ на: комментарий от Kalashnikov

хм, у меня все и без этих точек с запятой в конце запросов работает О_о
такой синтаксис юзаю ибо нагляднее (личное восприятие).
про время не понял вопроса, можешь разъяснить как сделать правильно?
за уточнение про массивы спасибо большое :)

kostett ★★★
() автор топика
Ответ на: комментарий от ae1234

понимаешь, если в самое начало кода поставить $msg=«O_o», то после этого кода добавления сообщения такое же значение и останется, хотя оно должно стать «Сообщение отправлено.»

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

где угодно, только не на сайте универа в который ты пытаешься дырки засунуть и не на php.

python + лёгкий фреймворк в руки и вперёд делать себе сайт.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

сайт этот в паблике не будет еще долго, можно поразвлечься
тем паче что он даже не универа (:
я бы тренировался на локалхосте, но у меня как-то слишком строго проверяется синтаксис пхп, стоят фастцги/нгинкс

kostett ★★★
() автор топика
Ответ на: комментарий от ae1234

я вчера весь вечер протра*ался, пытаясь посмотреть те значения, дошло даже до wget'а и cat'а страницы с параметром /?save=mes, нифига не появляется, ни между тегами, ни где либо еще

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

я бы тренировался на локалхосте, но у меня как-то слишком строго проверяется синтаксис пхп

ппц. начти со чтения доков, что ли. Хотя ты гонишь по поводу «строгой проверки синтаксиса», нет там такого.

true_admin ★★★★★
()
Ответ на: комментарий от kostett
select * from guestbook where mail='$mail' order by unix_timestamp(`time`) desc limit 1;

insert into guestbook values ( ... ,now()) 

now() насколько я помню подставляет текущее время, у тебя поле time - специальный мускульный формат для времени, что не гибко и вообще по-моему костыльно, Эпоха во все поля.

Kalashnikov ★★★
()
Ответ на: комментарий от ae1234

да я уже плюнул, чертовщина там какая-то

kostett ★★★
() автор топика
Ответ на: комментарий от Kalashnikov

угу, убрал лишнее из запроса.. так лучше, спасибо)

kostett ★★★
() автор топика
Ответ на: комментарий от Tigger

эм, а как теперь выводить, чтобы экранированые символы превращались в нормальные? ну, чтобы печаталось не \", а "
городить костыли с str replace и прочим требуется?

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Что, на magic quotes нарвался? :)
Перед mysql_real_escape_string делай stripslashes. Можно так:

if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}

Tigger ★★★★★
()

И условие в 20 строке не работает как надо.

mysql_fetch_row — Возвращает массив строк с числовыми индексами, содержащий данные обработанного ряда
Замени его на mysql_fetch_assoc.

urxvt ★★★★★
()
Ответ на: комментарий от Tigger

хм. я ни на что не натыкался, просто при отправке сообщения вида

это сообщение с «кавычками» внутри

в базе оказывается сообщение

это сообщение с \«кавычками\» внутри

и при выводе этого сообщения через print на выходе получаем

это сообщение с \«кавычками\» внутри

хотя хотелось бы видеть

это сообщение с «кавычками» внутри

kostett ★★★
() автор топика
Ответ на: комментарий от urxvt

Калашников мне уже помог этот косяк исправить, спасибо)

kostett ★★★
() автор топика

Советую Drupal в качестве фреймворка. ставишь Drupal7, выкидываешь всё из папки modules, пишеш свой модуль. Получаешь неплохие: роут систему, форм систему, куерибилдер(недо-орм) систему, много приятных плюшек.

С голой пхпешной порнографией лучьше завязывать.

anonymous
()
Ответ на: комментарий от Tigger

угу, с гуглом распарсил твою мессагу, спасибо =)

kostett ★★★
() автор топика
Ответ на: комментарий от anonymous

я вот прям обязательно заставлю nthost.ru воплотить в жизнь твои пожелания, о анон

kostett ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.