Пятница, 29 Марта 2024, 11:20

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Скриптовые языки программирования » В чём ошибка? (php - mysql)
В чём ошибка?
FerasetДата: Суббота, 03 Мая 2014, 10:49 | Сообщение # 1
Издание игр
Сейчас нет на сайте
Здравствуйте, я новичок в php, так что прошу не бить палками за корявый код. Суть вот в чём:
В базе MYSQL есть таблица "ip" с полем "ip-users"
Нужно сделать так, чтобы при переходе на страницу, ip-шник заходящего определялся и сравнивался со всеми значениями в ip-users таблицы, а после сравнения, ip заходящего добавлялся в таблицу. Попробовал наметать код - не получилось, помогите пожалуйста: Вот код:
Код

<?php
#настройки подключения
include 'db_connect.php';
#вытаскиваем ип заходящего пользователя
$ip = $_SERVER['REMOTE_ADDR'];
#выбираем из базы строку с равным $ip значением
$query = mysql_query("SELECT * FROM `ip`  WHERE `ip-users`='$ip'");
$row = mysql_num_rows($query);
# если не пусто, то обновляем базу
if($row <= 0)
echo ("$result = mysql_query("UPDATE `games` SET `download`= `download` + 1, `price`= `price` + 0.5  WHERE game='Fall of Bear'");
             
if ($result== 'true')       
{echo "<a href=\"\">Загрузить игру FallofBear<a>";}
else
{echo "Ссылка не найдена";}
             
");
    # иначе просто даём ссылку без добавления         
else       
             
echo "<a href=\"\">Загрузить игру FallofBear<a>";
#здесь ip должен добавляться в базу
$addip = mysql_query("INSERT INTO `ip` (ip-users) VALUES ($ip)");    
?>


Добавлено (03.05.2014, 10:49)
---------------------------------------------
СДЕЛАНО, ЕСЛИ КОМУ ИНТЕРЕСНО
Код

<?php
include 'db_connect.php';
# Находим ip пользователя
$ip = $_SERVER['REMOTE_ADDR'];

#делаем запрос на количество строк поля ip-users mysql базы равных $ip
$query = mysql_query("SELECT COUNT(*) AS cnt FROM `ip` WHERE `ip-users`='$ip'");
$row = mysql_fetch_assoc($query);
#Если таких строк - 0 тогда
if($row['cnt'] == 0) {
# Выполняем нужное действие и добавляем ip в базу
mysql_query("INSERT INTO`ip` (`ip-users`) VALUES ('$ip')");
mysql_query("UPDATE `games` SET `download`= `download` + 1, `price`= `price` + 0.5 WHERE game='Fall of Bear'");
echo "<a href=\"\">Загрузить игру FallofBear<a>";
}
# Иначе если таких строк больше чем 0, выполняем другое действие
else {
echo "<a href=\"\">Загрузить игру FallofBear<a>";
}
?>


Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.



Сообщение отредактировал Feraset - Суббота, 03 Мая 2014, 12:28
lvovandДата: Суббота, 03 Мая 2014, 11:00 | Сообщение # 2
старожил
Сейчас нет на сайте
а что за ошибку то пишет?
если тебе нужно кол-во строк, то лучше COUNT использовать

$query = mysql_query("SELECT COUNT(*) AS cnt FROM `ip` WHERE `ip-users`='$ip'");
$row = mysql_fetch_assoc($query);
# если ip в базе еще нет
if($row['cnt'] == 0){
.................................
}


Разработка и продвижение сайтов. Дизайн
FerasetДата: Суббота, 03 Мая 2014, 11:05 | Сообщение # 3
Издание игр
Сейчас нет на сайте
Цитата lvovand ()
а что за ошибку то пишет?
если тебе нужно кол-во строк, то лучше COUNT использовать

$query = mysql_query("SELECT COUNT(*) AS cnt FROM `ip` WHERE `ip-users`='$ip'");
$row = mysql_fetch_assoc($query);
# если ip в базе еще нет
if($row['cnt'] == 0){
.................................
}

Не пишет ничего - белый лист. Мне кажется проблема где-то в синтаксисе.
Сейчас попробую по твоему - отпишусь.
Проверил - изменений не обнаружено


Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.



Сообщение отредактировал Feraset - Суббота, 03 Мая 2014, 11:09
FolleahДата: Суббота, 03 Мая 2014, 11:25 | Сообщение # 4
Архитектор
Сейчас нет на сайте
Что это вообще за бред? В чем смысл кода?

FerasetДата: Суббота, 03 Мая 2014, 11:30 | Сообщение # 5
Издание игр
Сейчас нет на сайте
Цитата Feraset ()
В базе MYSQL есть таблица "ip" с полем "ip-users"
Нужно сделать так, чтобы при переходе на страницу, ip-шник заходящего определялся и сравнивался со всеми значениями в ip-users таблицы, а после сравнения, ip заходящего добавлялся в таблицу.


Пока получилась вот такая шняга:
Код

<?php
include 'db_connect.php';
$ip = $_SERVER['REMOTE_ADDR'];

$query = mysql_query("SELECT COUNT(*) AS cnt FROM `ip`  WHERE `ip-users`='$ip'");
$row = mysql_fetch_assoc($query);  

if($row['cnt'] == 0){  
echo ("$result = mysql_query("UPDATE `games` SET `download`= `download` + 1, `price`= `price` + 0.5  WHERE game='Fall of Bear'");

if ($result== 'true')  
{echo "<a href=\"\">Загрузить игру FallofBear<a>";}
else
{echo "Ссылка не найдена";}

");
}
else  
{
echo "<a href=\"\">Загрузить игру FallofBear<a>";
$addip = mysql_query("INSERT INTO `ip` (ip-users) VALUES ($ip)");
}
?>

Вопрос в том почему код не работает?


Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.

FolleahДата: Суббота, 03 Мая 2014, 11:34 | Сообщение # 6
Архитектор
Сейчас нет на сайте
Это ужас, какие то кривые запросы + кривой код =) Без обид. Сейчас попробую написать

FerasetДата: Суббота, 03 Мая 2014, 11:35 | Сообщение # 7
Издание игр
Сейчас нет на сайте
Цитата Folleah ()
Это ужас, какие то кривые запросы + кривой код =) Без обид. Сейчас попробую написать

Ну, тэк сказать первый раз в бою - буду благодарен smile


Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.

FolleahДата: Суббота, 03 Мая 2014, 11:38 | Сообщение # 8
Архитектор
Сейчас нет на сайте
При каком условии выводится "Ссылка не найдена"?

FerasetДата: Суббота, 03 Мая 2014, 11:41 | Сообщение # 9
Издание игр
Сейчас нет на сайте
Можно без этой штуки - я проверял ею работоспособность кода - не это здесь важно а проверка ip и апдейт

Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.

FolleahДата: Суббота, 03 Мая 2014, 11:41 | Сообщение # 10
Архитектор
Сейчас нет на сайте
Код
<?php  
include 'db_connect.php';  
$ip = $_SERVER['REMOTE_ADDR'];  

$query = mysql_query("SELECT * FROM `ip` WHERE `ip-users`='$ip'");   

if($query != FALSE) {   
  mysql_query("UPDATE `games` SET `download`= `download` + 1, `price`= `price` + 0.5  WHERE game='Fall of Bear'");  
  echo "<a href=\"\">Загрузить игру FallofBear<a>";
} else {
  echo "Ссылка не найдена";
  mysql_query("INSERT INTO `ip` (ip-users) VALUES ($ip)");  
}
?>

Оно?


FerasetДата: Суббота, 03 Мая 2014, 11:53 | Сообщение # 11
Издание игр
Сейчас нет на сайте
Кароче это можно вырезать:
else
{echo "Ссылка не найдена";}

Добавлено (03.05.2014, 11:43)
---------------------------------------------
Цитата Folleah ()
Оно?

Сейчас заценим

Добавлено (03.05.2014, 11:53)
---------------------------------------------
Нет не то
Код

<?php    
include 'db_connect.php';    
$ip = $_SERVER['REMOTE_ADDR'];    

$query = mysql_query("SELECT * FROM `ip` WHERE `ip-users`='$ip'");     
# в if должно быть если количество(я так понимаю count) ip-users=$ip не равно 0 тогда выполняется, иначе "ссылка не найдена". Твоё же условие добавляет данные если запрос $query выполнен(и вместо != FALSE я так понимаю должно быть $query = TRUE)
if($query != FALSE) {     
    mysql_query("UPDATE `games` SET `download`= `download` + 1, `price`= `price` + 0.5  WHERE game='Fall of Bear'");    
    echo "<a href=\"\">Загрузить игру FallofBear<a>";
} else {
    echo "Ссылка не найдена";
    mysql_query("INSERT INTO `ip` (ip-users) VALUES ($ip)");    
}
?>   


Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.



Сообщение отредактировал Feraset - Суббота, 03 Мая 2014, 11:54
FolleahДата: Суббота, 03 Мая 2014, 12:21 | Сообщение # 12
Архитектор
Сейчас нет на сайте
Feraset, могу сделать сайт, дешево... Что бы ты не мучился.

FerasetДата: Суббота, 03 Мая 2014, 12:30 | Сообщение # 13
Издание игр
Сейчас нет на сайте
СДЕЛАНО, ЕСЛИ КОМУ ИНТЕРЕСНО
Код

<?php    
include 'db_connect.php';    
# Находим ip пользователя
$ip = $_SERVER['REMOTE_ADDR'];    

#делаем запрос на количество строк поля ip-users mysql базы равных $ip
$query = mysql_query("SELECT COUNT(*) AS cnt FROM `ip` WHERE `ip-users`='$ip'");     
$row = mysql_fetch_assoc($query);   
#Если таких строк - 0 тогда
if($row['cnt'] == 0) {   
# Выполняем нужное действие и добавляем ip в базу
    mysql_query("INSERT INTO`ip` (`ip-users`) VALUES ('$ip')");      
    mysql_query("UPDATE `games` SET `download`= `download` + 1, `price`= `price` + 0.5  WHERE game='Fall of Bear'");    
    echo "<a href=\"\">Загрузить игру FallofBear<a>";
}  
# Иначе если таких строк больше чем 0, выполняем другое действие
else {    
    echo "<a href=\"\">Загрузить игру FallofBear<a>";
}
?>   


Спасибо за помощь!

Добавлено (03.05.2014, 12:30)
---------------------------------------------

Цитата Folleah ()
Feraset, могу сделать сайт, дешево... Что бы ты не мучился.

Не, спасиб - опыт мне нужен и практика smile
Folleah, lvovand, поставил бы вам плюсы да система даст поставить только через 2 дня, так что ссори


Спасибо пользователю TimCruz, за то что научил меня спокойствию, терпимости и вере в цели.



Сообщение отредактировал Feraset - Суббота, 03 Мая 2014, 12:27
FolleahДата: Суббота, 03 Мая 2014, 13:45 | Сообщение # 14
Архитектор
Сейчас нет на сайте
Feraset, я просто задание не понял. Ну а так, не за что smile

Форум игроделов » Программирование » Скриптовые языки программирования » В чём ошибка? (php - mysql)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг