คือผมเขียนโค้ดที่จะดึง IP จาก User เพื่อมาอัพเดตลงใน MySQL ครับ แต่จากโค้ดเดิม ติดปัญหาตรงที่จะดึงมาได้แต่ IP ของ DNS ทำให้ระบบอื่นๆเออเร่อไปด้วยเพราะทำให้ได้ IP ซ้ำกันทุก User เลยครับ
รบกวนสอบถามวิธีการที่จะดึง User IP มาแบบไม่ติด DNS ด้วยครับ
ใช้ DNS SERVER ของ NoIP อยู่ครับ
Code (PHP)
public function updateDetails() {
$upowers = $this->parent->mysql->fetch_array('select * from `userpowers` where `userid`=' . $this->id . ';');
$spowers = $this->parent->mysql->fetch_array('select * from `powers` where `name` not like \'%(Undefined)%\';');
$vals = array();
$p = array();
$powerO = '';
foreach ($spowers as $power)
{
$vals[$power['id']] = array($power['section'], $power['subid']);
$p[$power['section']] = 0;
}
foreach ($upowers as $power)
{
if ($power['count'] >= 1 && isset($vals[$power['powerid']]) && isset($p[$vals[$power['powerid']][0]]))
{
$str = $power['powerid'] . '=' . ($power['count'] > 1 ? ($power['count'] - 1) : 1) . '|';
$p[$vals[$power['powerid']][0]] += $vals[$power['powerid']][1];
if ($power['count'] > 1) {
$powerO .= $str;
}
}
}
if ($this->id != 0 && $this->id != 2 && $this->mobile == false) {
$this->parent->mysql->query(
"update `users` set
`nickname`='{$this->parent->mysql->sanatize($this->nickname)}',
`avatar`='{$this->parent->mysql->sanatize($this->avatar)}',
`url`='{$this->parent->mysql->sanatize($this->url)}',
`dO`='{$this->parent->mysql->sanatize($powerO)}',
`connectedlast`='{$ipaddress}'
where `id`='{$this->parent->mysql->sanatize($this->id)}';"
);
}
return ($this->id != 0 && $this->id != 2) ? true : false;
}