Уважаемые Модераторы Solide Snake, scrat, .:EnoT:., Sharky, _Great_ Не кричите на меня, я тупой и тут не давно. Вобщем проблема такая: есть место на бесплатном хосте с поддержкой PHP, моя цель: кинуть ссылку на главную страничку какому нибудь пользователю, пользователь проходит, и его IP записывается в текстовый лог. Вот так вот, а ума нету у меня( находил скрипты php вставлял в тело главной странички, но ничего не получается, при открытии страницы виден код который вставил( Если кому не сложно, помогите примером конкретным. вт скрин корневой папки обьясните что куда в какой файл прописывать:
Пользователя должно направлять на ПХП файл в котором пишеш: Code: <?php function getAddr(){ if (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_CLIENT_IP'];} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }else{$ip=$_SERVER['REMOTE_ADDR'];} return $ip;} $user_ip = getAddr(); $file = fopen("ip.txt","w+"); fwrite($file,$user_ip); fclose($file); } на ip.txt ставишь права на запись, т.е. chmod ip.txt 777. И всё.
Неа(( не получается(( если можно то подробней, вот этот код в какой файл вписать? <?php function getAddr(){ if (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_CLIENT_IP'];} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }else{$ip=$_SERVER['REMOTE_ADDR'];} return $ip;} $user_ip = getAddr(); $file = fopen("ip.txt","w+"); fwrite($file,$user_ip); fclose($file); } в код главной странички что на скрине (index.html) или вписать в файл что на скрине (0144887.php)??? пробывал и так и так не получается( так же как и сказал ты создал ip.txt поставил права 777 извините меня за тупость мою)))
Смотри, создаёшь 3 фаила: ip.php, ip.txt, index.html Вышепредставленный мною код записываеш в файл ip.php Теперь ставь прова на запись для ip.txt, я на винде сто лет этого не делал, и не помню уже чё то там в total commander есть такая опция, ну кароче чтоб пхп скрипт мог писать в текстовый файл. A в index.html пиши следующее: <script>location="ip.php"</script> что и закинет юзера на твой ip.php когда он посетит главную страницу. P.S. в конце кода поставь "}" а то я забыл.
между <?php и ?> находится php-код, если ты вставляешь в файл, в котором уже есть код, то вставь например перед ?>: PHP: <?php //Код твоего файла function getAddr(){ if (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_CLIENT_IP'];} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }else{$ip=$_SERVER['REMOTE_ADDR'];} return $ip;} $user_ip = getAddr(); $file = fopen("ip.txt","w+"); fwrite($file,$user_ip); fclose($file); } ?> п.с. скопипасил код csrss
Ну все так и сделал, проверяю, да, сначала вижу что грузится траничка потом происходит переадресация на IP.php и просто белая страничка, вроде все так и должно, но когда проверяю IP.TXT там пусто. в чем может быть причина?
проверь, есть-ли права на запись в ip.txt и еще. юних регистрозависимый, тоесть IP.txt и ip.txt - разные файлы
----------[ip.php ]-------- PHP: <?php function getAddr(){ if (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_CLIENT_IP'];} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }else{$ip=$_SERVER['REMOTE_ADDR'];} return $ip; } $uip = getAddr(); echo $uip; chmod("ip.txt", 755); $file = fopen("ip.txt","a+"); fwrite($file,$uip); fclose($file); ?> -------------[cut]----------------- тока что на своём серваке проверял, работает отлично
csrss да, работает, открываю и показывает на главной страничке мой ip но я же хочу что бы сохранялся ip в ip.txt но этого нет( права уже ставил 777 и пробывал как в в самом ip.php твоем поставить не chmod("ip.txt", 755); а поставить chmod("ip.txt", 777); всеравно не пишет в ip.txt я пользуюсь бесплатным хостом phpnet.us может другой попробывать? посоветуйте какой
IP отображается на странице но получается что вот вторая часть кода $uip = getAddr(); echo $uip; chmod("ip.txt", 755); $file = fopen("ip.txt","a+"); fwrite($file,$uip); fclose($file); открытие ip.txt и запись в него не выполняется, да можно подумать что разрешение не выставлено, но все поставил(((