Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обмен и нформацией между сайтами
 
 автор: Владимир55   (04.01.2009 в 14:36)   письмо автору
 
 

На "передающем" сайте http://servis.ru есть файл rservis.php с таким кодом:
    echo "Это реклама";

    $primer = "slovo";


На "принимающем" сайте есть файл с таким кодом:
        require_once("http://servis.ru/rservis.php")

        echo $primer ;


При запуске файла на принимающем сайте получаю сообщение:
Parse error: parse error, unexpected T_ECHO 


То есть, рнр-переменную передать не удалось.

А как её передать?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 14:51)   письмо автору
 
   для: Владимир55   (04.01.2009 в 14:36)
 

require_once будет повторно исполнять код, который сгенерирует скрипт на передающей стороне.
Вы уверены, что хотели именно этого?
Для того чтобы просто передать несколько строк с одного сайта на другой, можно применить менее опасные приемы.

  Ответить  
 
 автор: Владимир55   (04.01.2009 в 15:02)   письмо автору
 
   для: Trianon   (04.01.2009 в 14:51)
 

На передающей стороне формируется код рекламного сообщения.
На принимающей стороне при открытии страницы этот код воспроизводится.

Но помимо самого кода хотелось бы передать и еще кое-какую информацию (имя рекламы).

Вот как это осуществить?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 15:09)   письмо автору
 
   для: Владимир55   (04.01.2009 в 15:02)
 

что такое "код рекламного сообщения" ?
Я знаю что такое текст сообщения. Текст сообщения, это грубо говоря, то, что выводится на экран.
Что значит "код сообщения" мне непонятно.

  Ответить  
 
 автор: Владимир55   (04.01.2009 в 15:16)   письмо автору
 
   для: Trianon   (04.01.2009 в 15:09)
 

Под кодом рекламного сообщения я имел в виду текст вместе с тегами, определяющими его вид. Включая шрифт, таблицу или что-то еще по мере надобности.
Типа
<table border="1" width="100%" id="table1" bgcolor="#0000FF" bordercolor="#FF00FF">
    <tr>
        <td>
        <p align="center"><font color="#FFFFFF">ПОЗДРАВЛЯЮ С
        <a href="http://softtime.ru/">НОВЫМ</a> ГОДОМ!</font></td>
    </tr>
</table>

  Ответить  
 
 автор: Trianon   (04.01.2009 в 15:23)   письмо автору
 
   для: Владимир55   (04.01.2009 в 15:16)
 

поместить такой текст в переменную Вы можете?

  Ответить  
 
 автор: ddhvvn   (04.01.2009 в 14:52)   письмо автору
 
   для: Владимир55   (04.01.2009 в 14:36)
 

Тезка!
При таком варианте кода
<?php
include('http://site.ru/file.php');
require(
'http://site.ru/file.php');//и т.п.?> 


возвращается РЕЗУЛЬТАТ выполнения скрипта, а не его содержимое!

т.е. если в file.php

<?php
  $var1 
time();
  echo 
rand();
?>

т.е. инклудится просто текст , допустим "414", переменная $var1 видна не будет.
P.S.: и у Вас в коде (если это реальный код), точки с запятой не хватает )

  Ответить  
 
 автор: Владимир55   (04.01.2009 в 14:54)   письмо автору
 
   для: Владимир55   (04.01.2009 в 14:36)
 

-

  Ответить  
 
 автор: ddhvvn   (04.01.2009 в 14:56)   письмо автору
 
   для: Владимир55   (04.01.2009 в 14:54)
 

-

  Ответить  
 
 автор: Владимир55   (04.01.2009 в 15:28)   письмо автору
 
   для: ddhvvn   (04.01.2009 в 14:56)
 

для: Trianon

Я прямо так и сделал:
echo <<<TEXT
<table border="1" width="100%" id="table1" bgcolor="#0000FF" bordercolor="#FF00FF">
    <tr>
        <td>
        <p align="center"><font color="#FFFFFF">ПОЗДРАВЛЯЮ С
        <a href="http://softtime.ru/">НОВЫМ</a> ГОДОМ!</font></td>
    </tr>
</table>
TEXT;


А что здесть такого?
Так нельзя? Или что?
Передается нормально.

  Ответить  
 
 автор: Trianon   (04.01.2009 в 15:33)   письмо автору
 
   для: Владимир55   (04.01.2009 в 15:28)
 

отлично. Итак
<?php //sender.php 
$text = <<<TEXT
<table border="1" width="100%" id="table1" bgcolor="#0000FF" bordercolor="#FF00FF">
    <tr>
        <td>
        <p align="center"><font color="#FFFFFF">ПОЗДРАВЛЯЮ С
        <a href="http://softtime.ru/">НОВЫМ</a> ГОДОМ!</font></td>
    </tr>
</table>
TEXT;

$name "spammer Inc. ";

$data = array($text$name);

echo 
serialize($data);
?>

<?php //receiver.php 

$data unserialize(file_get_contents('http://sender.ru/sender.php'));

list(
$text$name) = $data;

echo 
$text;
echo 
$name;
?>

  Ответить  
 
 автор: Владимир55   (04.01.2009 в 15:49)   письмо автору
 
   для: Trianon   (04.01.2009 в 15:33)
 

Так здорово, аж дух захватило!
И всё работает, и так красиво!

Большое спасибо!

А как сообщить отправителю, что объявление показано, причем именно с меткой "spammer Inc."?

Сейчас я вызываю счетчик у отправителя, установив на носителе рекламы вот такой код
echo "<img src='http://sender.ru/rcount.php' width='1' height='1' alt='' />"; 


А как бы при этом передать счетчику паказов параметр "spammer Inc."?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 15:59)   письмо автору
 
   для: Владимир55   (04.01.2009 в 15:49)
 

формально это записывается так:
<? 
$name 
"spammer Inc.";
$uri 'http://sender.ru/rcount.php?name=' rawurlencode($name);
$ref htmlspecialchars($uri); 
echo 
"<img src=\"$ref\" width='1' height='1' alt='' />"

  Ответить  
 
 автор: Владимир55   (04.01.2009 в 16:19)   письмо автору
 
   для: Trianon   (04.01.2009 в 15:59)
 

А если весь набор параметров ограничить цифрами? То есть, варианты
$name = "spammer Inc.";
$name = "spammer ";
$name = "Inc."; 
административно запретить, а позволить только
$name = 1;
$name = 332;
$name = 577;


В этом случае получится
echo "<img src='http://sender.ru/rcount.php?from=". $name . "' width='1' height='1' alt='' />";


Так можно или нет?

А на принимающей стороне в файле 'http://sender.ru/rcount.php я пишу
$name = $_REQUEST['from'];


Но почему-то $name не передается (я для контроля пишу его в файл).
Что тут неверно?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 16:31)   письмо автору
 
   для: Владимир55   (04.01.2009 в 16:19)
 

>В этом случае получится
>
echo "<img src='http://sender.ru/rcount.php?from=". $name . "' width='1' height='1' alt='' />";

В этом фрагменте переменная $name не определена.
>
>Так можно или нет?
цифры с лат.буквами проходят через эти две функции без изменений. Так что передаваться должны.

>А на принимающей стороне в файле 'http://sender.ru/rcount.php я пишу
>
$name = $_REQUEST['from'];

>
>Но почему-то $name не передается (я для контроля пишу его в файл).
>Что тут неверно?
всё верно. Либо ранее ссылка на счетчик была без параметра, и код её закешировался, либо кто-то что-то нехорошее делает раньше этой строки.
Можно еще проконтролировать по $_SERVER['QUERY_STRING']

  Ответить  
 
 автор: Владимир55   (04.01.2009 в 16:40)   письмо автору
 
   для: Trianon   (04.01.2009 в 16:31)
 

Похоже, что повлияло кеширование.
$_SERVER['QUERY_STRING'] - чудесный рецепт!

Теперь всё получилось. Большое спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования