2015-03-01 5 views
-2

Используйте мой блог. у меня есть этот код:Необходимо проверить код php

enter image description here

как я могу проверить IP и показать правильное сообщение?

блог ПОС: (необходимо, как на фото)

enter image description here

$query = mysql_query("SELECT pid,ipaddress, 
          CASE 
          when count(*) = 2 then 'ip repeated 2 times' 
          when count(*) = 3 then 'ip repeated 3 times' 
          when count(*) > 3 then 'ip repeated more than 3 times' 
          else 'your ip is unique' 
          end as message 
          FROM posts 
          GROUP BY pid,ipaddress", $conn); 
$result = mysql_fetch_array($query); 

$blog['User']['ipaddress']; // user ip 
echo ??? // how can I check ip and show right message ? 
+0

Не readable- пожалуйста, напишите код на свой пост – starkeen

+1

Не используйте '' mysql_ * функции, используйте '' PDO' или библиотека mysqli' – RIKI

+0

@OTARIKI Я надеваю» t знаю как :( – Brigadier

ответ

1

Технически вам просто нужно добавить "WHERE ipadress = ".$blog['User']['ipaddress']; в строку запроса.

Но настоятельно рекомендуется избегать использования вызовов mysql.

Try использование MySQLi:

$mysqli = new mysqli("localhost", "user", "password", "database"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

/* create a prepared statement */ 
$stmt = $mysqli->stmt_init(); 
$query = "SELECT pid,ipaddress, 
CASE 
WHEN count(*) = 2 THEN 'ip repeated 2 times' 
WHEN count(*) = 3 THEN 'ip repeated 3 times' 
WHEN count(*) > 3 THEN 'ip repeated more than 3 times' 
ELSE 'your ip is unique' 
END as message 
FROM posts 
GROUP BY pid,ipaddress 
WHERE ipaddress= ? "; 
if ($stmt->prepare($query)) { 

    /* bind parameters for markers */ 
    $stmt->bind_param("s", $blog['User']['ipaddress']); 

    /* execute query */ 
    $stmt->execute(); 

    $pid = ''; 
    $ipAdress = ''; 
    $message = ''; 
    $stmt->bind_result($pid, $ipAdress, $message); 

    /* fetch values */ 
    while ($stmt->fetch()) { 
     echo("pid = ".$pid." ; ipAdress = ".$ipAdress." ; Message = ".$message." \n"); 
    } 
    $stmt->close(); 
} 
$mysqli->close(); 
+0

thx Alex, для меня сложно), но я постараюсь понять) – Brigadier

+0

вы можете начать, добавив 'WHERE' к вашему запросу. :-) – Alex

+0

страница не работает. извините, за странный вопрос - можете ли вы помочь мне, если я получу вам доступ к ftp?))) если нет - все нормально) – Brigadier

Смежные вопросы