PHP script при register_globall: off

Статус
В этой теме нельзя размещать новые ответы.

Barmaley

Новичок
Готовый скрипт для организации ссылок

Есть старый скрипт.

Код:
<?php

$datafile  = "base.txt";     

$base=@file($datafile); $cnt=sizeof($base);
  for($i=1;$i<$cnt;$i++){
  list($id,$url)=explode("|", $base[$i]);
  if($id==$ad) {
    
  Header("Location: ".$url); exit;
  break;
  }
}

?>
Файл base.txt имеет следующий вид
Код:
Google|[url]http://www.google.com[/url]|
Yahoo|[url]http://yahoo.com/[/url]|
Yandex|[url]http://yandex.ru/[/url]|
Обращаюсь к скрипту ссылкой
Код:
http://www.my-site.com/out/link.php?ad=Yahoo
В результате попадаю на http://yahoo.com. Всё отлично работает при параметре PHP register_globals: on, но при register_globals: off не работает.

Подскажите пожалуйста, какие нужно внести изменения?
 

Barmaley

Новичок
dimagolov
а меня поразила ситуация, что вы сейчас ничего полезного не сказали, а у вас сообщений стало +1. 2985 всего. В скольких из них вы так же "поражались" другим вещам?
 

findnext

Новичок
Barmaley что такое register globals?

-~{}~ 14.08.09 16:27:

давайте сделаем пользу всем и непонимающие поймут благодаря вам. Сделаем этот мир лучше!
 

Barmaley

Новичок
findnext Это настройка PHP, как я понимаю.
Чем бы это не было, когда в настройках php на сервер "это" выключено скрипт не работает.
 

findnext

Новичок
Barmaley
идите в гугл и всётаки выясните что она делает. Иначе остальное тоже работать не будет и вы будете постоянно бегать по форумам и просить помощи

-~{}~ 14.08.09 16:31:

и напишите сюда тогда другие тожа смогут понять и не ходить в гугл
 

Barmaley

Новичок
findnextЯ не программер. Мне нужет наверное всего единственный скрипт....в жизни ) Я хотел спросить всего один небольшой совет.

Я понимаю что лучше выучить php и кичится этим!
 

Barmaley

Новичок
Сделал

В итоге сделал скрипт, избавившись от base.txt

PHP:
<?php $a=array("Yahoo"=>"http://www.yahoo.com", "Google"=>"http://www.google.com"); Header("Location: ".$a[$_GET['ad']]); exit; ?>
С помощью дельных советов на http://forum.woweb.ru

Сдешним, "умельцам" отдельное спасибо!
 

Barmaley

Новичок
Небольшое улучшение.

PHP:
<?php 

$a=array("Yahoo"=>"http://www.yahoo.com", "Google"=>"http://www.google.com"); 
if (!empty($_GET['ad']))
{
$ad=$_GET['ad'];
Header("Location: ".$a[$ad]); exit;
}

?>
 

dimagolov

Новичок
Barmaley, тебе надо еще проверять наличие полученного индекса в массиве.

-~{}~ 14.08.09 12:50:

NFL, biggrin.gif Спасибо. Не совсем понял зачем это, но надеюсь так лучше
:D
в этом твоя проблема, в нежелании понимать что советуют тебе такие невежды, как NFL
 

Barmaley

Новичок
PHP:
$a=array("Yahoo"=>"http://www.yahoo.com", "Google"=>"http://www.google.com"); 
if( !array_key_exists( $_GET['ad'], $a ) )
{    header( "Location: /" );    exit; }   
$ad=$_GET['ad']; 
Header("Location: ".$a[$ad]); exit;
Запрос типа:
Код:
http://www.you-site.com/out/link.php?ad=Yahoo
Может кому пригодится, мне очень.
 

dimagolov

Новичок
Barmaley, ну опять не своим умом живешь. здесь такой говнокод никому не пригодится. Там один советчик забыл проверять наличие индекса в массиве $a, а второй решил что не надо повторяться с проверкой наличия входящего параметра ($_GET['ad']). А ты из-за своего упрямого ламерства понять не можешь, что делает написанный тебе код и зачем он нужен, и сложить вместе необходимые части не способен.

п.с. я бы вместо array_key_exists использовал isset, так как в общем случае тебе существующие, но пустые значения в массиве $a, не нужны.
п.п.с. оба твои советчика не в курсе, что по стандарту в Location: надо указывать полный URL. Хотя относительный путь браузеры и типа понимают и это типа работает, но это противоречит стандарту.
 

Barmaley

Новичок
dimagolov
знаете, уважаемый, я из себя и не строил гуру. Я нуб, которому нужно сделать несложный сайт с использованием вот такого скрипта. Все.
А мои "советчики" не считают зазорным помочь мне в моих поисках, в отличие от такого надменного умника-спеца, как вы, только и способного, что с насмешкой раскритиковать вопрошающего. Что с вами такое, бесит общение с "нубами"? Ну так лучше бы вы и не общались, ибо читать ваши высокомерные заметочки неприятно.
 

cDLEON

Онанист РНРСlub
Barmaley
Скорее его бесит то, что такие нубы как ты, вместо того, что бы пойти почитать то, что советуют - ждут готового.
 

Barmaley

Новичок
cDLEON
Я изначально не писал что собираюсь в этом разбираться.
Я просил помощи со скриптом. И если кто то не собирается её оказывать - то учить меня жизни уж точно не надо.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху