[quote=Voodoo][/quote]
Благодарю за помощь. Проблема возникла из-за очень глупой ошибки. Длину поля под IP varchar брал 12, а нужно 15, поэтому с ip локального сервера работало, а внешним нет.
mysql_query("UPDATE access SET number=$new,date=NOW() WHERE ip='$ip'");
}else{
// Если за последние 60 минут ошибок не было, то вставляем новую запись в таблицу "access"
mysql_query("INSERT INTO access (ip,date,number) VALUES ('$ip',NOW(),'1')");
}
На локальном сервере этот код работает. Но когда переношу на хостинг, почему-то сравнение ip из базы и $ip переменной всегда возвращает ложь и для одного и того же ip каждый раз создается новая строка.
Может это связано с тем, что как-то криво записано условие равенства? Есть идеи?
С уважением.
[quote=soffrick][/quote]
Ну, моя цель не стать потрясным, качественным программистом, а сделать сайт- развлечения ради. Поэтому я скорее ищу шаблоны и переделываю их под себя, нежели изучаю базовую фундаментальную теорию языка и прочие тонкости. Если есть очень грубые ошибки, с радостью, выслушаю.
[quote=DelphinPRO][/quote]
У меня такой кусок кода:
[quote=DelphinPRO][/quote]
Понял, спс.
[quote=soffrick][/quote]
Это копипаст из гугла, меняю только имя переменных и немного добавляю условия. Что не так? Как нужно правильно?
Если echo вместо exit(), то это будет некорректно в отношении кода (ибо с эхо машина продолжить выполнять скрипт), а если внутри exit, то не вижу разницы.
Есть, конечно, еще вариант внутри каждого exit() целиком вставлять html код текущей страницы (к примеру, входа) + поле об ошибке. Но в случае, к примеру, регистрации, у меня есть exit() в количестве 5 или более и 5 раз дублировать код страницы с разницей лишь в тексте сообщения об ошибке- я, конечно, новичек, но мне все таки кажется это извращением и что есть другие способы?
Можно ли вывести причину операции exit() оставаясь на странице отправки?
Единственное, что мне приходит в голову, это редирект с id ошибки и далее, в зависимости от id также выводить поля ошибки, как и поля об успехе.
Но мне кажется это не совсем клевый способ, ведь в этом случае, юзер может сам в строке набрать при юзании ЧПУ строку /signin/email и получит окно с формой ошибки.
Может есть какие-нибудь другие методы?
Спасибо.
$result=mysql_query("SELECT COUNT(DISTINCT f1+f2+f3) as rank FROM table WHERE f1+f2+f3 >= (SELECT f1+f2+f3 FROM table WHERE login='$login' LIMIT 1)",$db);
$result = mysql_query("SELECT COUNT(*) FROM table WHERE f1+f2+f3 < (SELECT f1+f2+f3 FROM table WHERE login = '$login') ",$db);
$myrow = mysql_fetch_array($result);
?>
<tr class="info">
<td>
<?php echo $myrow['rank']; ?>
</td>
Но почему-то в ответ пустота. Мб ордер куда-нибудь добавить?
Может быть вы знаете, можно ли в MySql добавить столбец значение, в котором автоматом бы считалось как сумма двух или трех других? Это бы убрало все сложности. Пользуюсь PhpMyAdmin.
Спасибо.
Если я верно понимаю, он должен получать таблицу с сортировкой по f1+f2+f3 и выдавать положение в ней текущего логина, но он выдает нечто непонятное.
Где я ошибаюсь?
Должно работать.
Только присвоение переменной тру вам нужно не просто так вставить сверху, а в ваш скрипт проверки- авторизован ли пользователь или нет.
Т.е. если пользователь не авторизован, ставите true и форма видна, если вход выполнен, ставите фолс и форма не видна.
Если речь идет не об авторизации или регистрации, все равно у вас должен быть скрипт проверки, вводил ли уже пользователь значения в сие поле или еще нет.