PHP и с чем его едят....

Cris

Member
Ни в javascript, ни в actionscript3 нету функций определения IP без обращения к серверной части, который и вернет REMOTE_ADDR http заголовок. Это факт.

Cris, тебе уже сказали, если прокси сервер прозрачный и передает HTTP_X_FORWARDED_FOR с айпи его клиента - определить можно, если нет - никак. Вот тебе функция элементарная:
PHP:
function get_real_ip ()
{
  if (empty($_SERVER['HTTP_X_FORWARDED_FOR'])) return $_SERVER['REMOTE_ADDR']; else return $_SERVER['HTTP_X_FORWARDED_FOR']
}
да я уже все на сесиях зделал и непарюсь)
 

Le Edelweiss

Няяяяя.... ^_^
Люди, кто может разьяснить с ЧПУ?
Вот я узнал, что все это делается с помощью .htaccess:
PHP:
RewriteEngine On 
RewriteRule ^([^.]+)$ index.php?&get_query=$1 [QSA]
Потом в index.php:
PHP:
$caughtURI = $_REQUEST['get_query']; 
$_URI = explode("/", trim($caughtURI, "/"));
Все это падает в массив и его легко можно использовать. Но вот в чем проблема... к примеру у меня есть такой url: Как мне сделать, что бы по этой ссылке перейти на страницу post.php и открыть пост там, а не на index.php?
 

dreamer

Member
... к примеру у меня есть такой url: Как мне сделать, что бы по этой ссылке перейти на страницу post.php и открыть пост там, а не на index.php?
Ну можешь сделать в .htaccess:
PHP:
RewriteEngine On 
RewriteRule ^/post/([0-9]+)$ post.php?id=$1 [QSA]
А можешь к примеру:
PHP:
list($file, $id) = $_URI;
$_REQUEST['id'] = $id;
if (strpos($file, '.') === false)
    import('modules/{$file}.php');
 

akick

letter to god
Код:
	RewriteEngine On
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-l
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME} !/urlrewrite.php$
	RewriteRule ^(.*)$ /urlrewrite.php [L]
далее все просто если урла не настоящая.. то вызовертся скрипт urlrewrite.php и в нем можно отдать нужные заголовки передать контроль нужному скрипту и т.д.
что удобно сделать задав несколько абстрактных(общих) правил.. в зависимости от чего будет либо 404 либо выполнение на основе ваших правил..
 

ЗАЗ 968М

..............
Парни нужна помощь :shock:

Есть скрипт, который выберает из RSS-ленты случайную строку (в моем случае афоризм) и выкидывает в чат.
Вот скрипт (не хотел вставлятся, пришлось фоткать:))... во вложении текстовый файл со скриптом
You must be registered for see images


Так а загвоздка в том, что исходник содержит <description>Афоризмы, мысли и идеи людей всех времен и народов.</description> и <description>Афоризмы, мысли, фразы (Quotes, aphorism, phrase</description> ети строки идут как бы в "шапке" исходника, и не относятся к реальному афоризму, в скрипте по <description> </description> идет завязка со случайным выбором.... И так получается что эти фразы часто появляются в чате. Так вот..:)... можно ли его подправить чтоб проверяло, если в строке содержится <description>Афоризмы, мысли и идеи людей всех времен и народов.</description> и <description>Афоризмы, мысли, фразы (Quotes, aphorism, phrase</description>, то заново начинал работать цикл случайного выбора, если не совпадает , то идет вывод в чат через $desc[1][$i]=str_replace('<br>', chr(13), $desc[1][$i]);
comm_msg('main', htmlspecialchars_decode($desc[1][$i]));
 

Вкладення

akick

letter to god
как вариант если не хотите использовать xml reader
учитесь использовать регулярные выражения
PHP:
    $content = file_get_contents('http://www.aphorism.ru/rss/aphorismnew.xml'); // content get
    preg_match_all('/<item>.*?<title>(.*?)<\/title>.*?<description>(.*?)<\/description>.*?<\/item>/ms',$content,$aphorism_array);
    $aphorism_count = count($aphorism_array[1]);
    $index = rand(0,$aphorism_count);
    echo $aphorism_array[1][$index]. ': '.$aphorism_array[2][$index];
PS: $index = rand(0,$aphorism_count-1); ибо изредка будет пустое выдавать
 
Останнє редагування:

ЗАЗ 968М

..............
PS: $index = rand(0,$aphorism_count-1); ибо изредка будет пустое выдавать
Совершенно верно :) , частенько выдавало пустую строку без афоризма)
Спасибо за помощь akick, признаюсь, что програмирование ето не сильная сторона моих знаний. Редактировал скрипт исходя из интуитивно-логических умозаключений :baby:
Вот что у меня вышло, и то что получилось постит в чат авторов афоризмов)) (строку <title>Юрий Татаркин</title> исходника)...

akick надеюсь только на тебя :)
PHP:
$content = file_get_contents('http://www.aphorism.ru/rss/aphorismnew.xml'); // content get
    preg_match_all('/<item>.*?<title>(.*?)<\/title>.*?<description>(.*?)<\/description>.*?<\/item>/ms',$content,$aphorism_array);
    $aphorism_count = count($aphorism_array[1]);
    $i=rand(0,$aphorism_count-1);
    echo $aphorism_array[1][$i]. ': '.$aphorism_array[2][$i];
$aphorism_array[1][$i]=str_replace('<br>', chr(13), $aphorism_array[1][$i]);
comm_msg('main', htmlspecialchars_decode($aphorism_array[1][$i]));
 

ЗАЗ 968М

..............
:punk: В строке
PHP:
preg_match_all('/<item>.*?<title>(.*?)<\/title>.*?<description>(.*?)<\/description>.*?<\/item>/ms',$content,$aphorism_array);
поменял местами <title>(.*?)<\/title> и <description>(.*?)<\/description> всё работает! :)

akick спасибо за помощь :up:
 

[^13Alex^]

Зажраный Урод!
прочел и выучил все с 200х постов.
и ничего вспомнить не могу =/
п.с. месяца 2 назад все делал за 5 мин, а теперь тут ступор.
помогите, в чем ошибка?
вылазят иероглифы или "???????"

PHP:
...

$cod = "SET NAMES cp1251";

$connect = mysql_connect($dbhost, $dbuser, $dbpass, $cod);
$db = mysql_select_db($dbase, $connect);

$result = mysql_query("SELECT * FROM siski", $connect);

$myrow = mysql_fetch_array($result);
спасибо!
 

UFO.cz

Far away from home
Какая кодировка на сайте? Вот её и подставьте на место cp1251.
 
Зверху