0
Опять об эквивалентности

Открыт 1 Ответов 30 Просмотров Профессиональные хостинги
Support:«Я не вижу даже части скрипта, поэтому как лучше реализовать вашу задумку мне трудно понять»

Так как моя выполняемая задача очень сложная, я написал две простые программы. Первая устанавливает Куки и сессионную переменные, а вторая их читает.

Если судить по приведённой Вами ссылке, на локальном хостиге сессии работают правильно, а на удалённом - нет. Хорошо хоть Куки правильно работают, так что можно написать свою, упрощенную сессию. Но так как Вы хотите, чтобы не вашем хостинге Куки нормально работали, то я могу подождать.
4Комментариев
оставил комментарий 20 Июль, 16 от Pingvin (565 баллов)
То есть: сессионные переменные общие для разных страниц.
оставил комментарий 20 Июль, 16 от Pingvin (565 баллов)
<?php
//sp_read.php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META HTTP-EQUIV="Content-type"CONTENT="text/html; charset=UTF-8">
<title>Чтение сессионной переменной</title>
</head>
<body>
<?php
if (isset($_COOKIE['proverka'])) echo "В \$_COOKIE['proverka'] находится=".$_COOKIE['proverka']."<br>";
else echo "\$_COOKIE['proverka'] неопределенно<br>";
if (isset($_SESSION['proverka'])) echo "В \$_SESSION['proverka'] находится=".$_SESSION['proverka'];
else echo "\$_SESSION['proverka'] неопределенно";
?>
</body>
</html>
оставил комментарий 20 Июль, 16 от Pingvin (565 баллов)
<?php
//sp_set.php
setcookie('proverka',"Sokhranilas` peremennaia cherez kuki");
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- <META HTTP-EQUIV="Content-type"CONTENT="text/html; charset=windows-1251"> -->
<META HTTP-EQUIV="Content-type"CONTENT="text/html; charset=UTF-8">
<title>Запись сессионой переменной</title>
</head>
<body>
<?php
//include_once("functions0.inc.tml");
//include_once("functions.inc.tml");
//include_once("functions5.inc.tml");
unset($_SESSION['proverka']);//чтобы отлаживать
//if (isset($_COOKIE['proverka']))    {//setcookie3('yazjc',$yazjc);
$_SESSION['proverka']="Sokhranilas` peremennaia cherez sessiu";
//setcookie3('proverka',"Sokhranilas` peremennaia cherez kuki");
echo "Записалось в \$_SESSION['proverka'] и в \$_COOKIE['proverka']";
//vvod_gl_str("sp_read.php");
?>
</body>
</html>

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

1 Ответ

0

Я не знаю, для чего вы делаете скрипт и какие его особенности, но подразумеваю, что это какой-то автопостинг куда-то там. 

попробуйте готовый рецепт автопостинга (класс php), который мы писали для администратора одного из форумов (нужно было срочно накидать целую библиотеку из 50 тыс книг)

<?php

class forum{

    private $login='mylogin';
    private $pass='mypass';
    
    private function GetBetween($content,$start,$end){
        $r = explode($start, $content);
        if (isset($r[1])){
            $r = explode($end, $r[1]);
            return $r[0];
        }
    }

    //this is something special
     public function createmessage($theme,$message){
        $tmp_fname = tempnam("/tmp", "COOKIE");
        
         //hack the security code
        $file=file_get_contents("http://domainforum/auth");
        $output=$this->GetBetween($file,"document.write(",");");
        $alphas = array_merge(range('A', 'Z'), range('a', 'z'));
        $delete=array('"',"'","+","<",">"," ","=");
        $key=str_replace($delete,"",$output);
        $key=str_replace($alphas,"",$key);
        $delete=array("'","+","<",">"," ");
        $name=str_replace($delete,"",$output);
        $name= $this->GetBetween($name,'inputname="','"');
        
        //now we can login
        $curl_handle = curl_init ("http://domainforum/auth");
        curl_setopt ($curl_handle, CURLOPT_COOKIEJAR, $tmp_fname);
        curl_setopt ($curl_handle, CURLOPT_RETURNTRANSFER, true);
        $post_array = array('submit'=>'Login', 'email' => $this->login, 'password' => $this->pass, $name=>$key);
        curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $post_array);
        $output = curl_exec ($curl_handle);
        //we are logged in now
        
        //let's create message
        $curl_handle = curl_init ('http://domainforum/theme/add');
        curl_setopt ($curl_handle, CURLOPT_COOKIEFILE, $tmp_fname);
        curl_setopt ($curl_handle, CURLOPT_RETURNTRANSFER, true);
        $post_array = array('theme'=>$theme, 'message'=>$message, 'submit'=>'Save');
        curl_setopt ($curl_handle, CURLOPT_POSTFIELDS, $post_array);
        $output = curl_exec ($curl_handle);
        return $output;
    }
    
}

ответил 21 Июль, 16 от Support (2,095 баллов)
...