Страница 1 из 1
Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 13:02:30
bobot
Вот скрипт
Код: Выделить всё
<?
// function send request to proxy server: which user is on $ip?
// Requere global variables $ip_checkHost and $ip_checkPort
// return:
// -1 - error; Error description is in global variable $errstr;
// 0 - none user on $ip
// >0 - user_id
function ip_check($ip)
{
$ip_checkHost="proxy.mydomain";
$ip_checkPort=4098;
global $errstr;
$fs=fsockopen($ip_checkHost,$ip_checkPort,$sockerrno,$sockerrstr);
if(!$fs){
$errstr="Socket error _ $sockerrno: $sockerrstr";
return -1;
}
fwrite($fs,"$ip\n");
if(feof($fs)){
$errstr="Conection problem: host closed conection";
return -1;
}
$res=fgets($fs,255);
if (! strlen($res) ){
$errstr = 'Server not returned result';
return -1;
}
if(($res+0)>=0){
fclose($fs);
return $res+0;
}
$errstr='Server return: ';
while(!feof($fs)){
$errstr .=fgets($fs,255)."\n";
}
fclose($fs);
return -1;
}
function auth($ip, $conn)
{
$id = ip_check($ip);
if (ip_check($ip) < 0)
return -1;
$result = mysql_query ("SELECT authproxy_id FROM staff WHERE authproxy_id=$id");
if (! $result) {
err (mysql_error());
return -1;
}
if (mysql_num_rows ($result) == 0)
return 0;
return $id;
}
?>
как говориться вроде понятно всё а с другой и не понятно
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 13:11:21
Volodymyr
Первая проверка соединения с хостом.
Вторая сверяет или есть в базе authproxy_id, если есть возвращает его, если нету 0, если ошибка -1.
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 14:29:59
bobot
Volodymyr писал(а):Первая проверка соединения с хостом.
Вторая сверяет или есть в базе authproxy_id, если есть возвращает его, если нету 0, если ошибка -1.
Это я понимаю!тоесть я вот этого не могу понять----- я получаю authproxy_id а потом оно свиряет есть ли такой айдишник или нету в базе!!! а как мне вывести этот authproxy_id ?
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 14:41:07
Volodymyr
bobot писал(а):Это я понимаю!тоесть я вот этого не могу понять----- я получаю authproxy_id а потом оно свиряет есть ли такой айдишник или нету в базе!!! а как мне вывести этот authproxy_id ?
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 15:03:42
bobot
Volodymyr писал(а):Первая проверка соединения с хостом.
Вторая сверяет или есть в базе authproxy_id, если есть возвращает его, если нету 0, если ошибка -1.
грубо говоря можно сказать так вот эта половина скрипта
Код: Выделить всё
<?
// function send request to proxy server: which user is on $ip?
// Requere global variables $ip_checkHost and $ip_checkPort
// return:
// -1 - error; Error description is in global variable $errstr;
// 0 - none user on $ip
// >0 - user_id
function ip_check($ip)
{
$ip_checkHost="proxy.mydomain";
$ip_checkPort=4098;
global $errstr;
$fs=fsockopen($ip_checkHost,$ip_checkPort,$sockerrno,$sockerrstr);
if(!$fs){
$errstr="Socket error _ $sockerrno: $sockerrstr";
return -1;
}
fwrite($fs,"$ip\n");
if(feof($fs)){
$errstr="Conection problem: host closed conection";
return -1;
}
$res=fgets($fs,255);
if (! strlen($res) ){
$errstr = 'Server not returned result';
return -1;
}
if(($res+0)>=0){
fclose($fs);
return $res+0;
}
$errstr='Server return: ';
while(!feof($fs)){
$errstr .=fgets($fs,255)."\n";
}
fclose($fs);
return -1;
}
выполняет проверку соединиение с проксёй и отсылает данные (ну тут и будет этот айдишник)
вторая половина кода
Код: Выделить всё
function auth($ip, $conn)
{
$id = ip_check($ip);
if (ip_check($ip) < 0)
return -1;
$result = mysql_query ("SELECT authproxy_id FROM staff WHERE authproxy_id=$id");
if (! $result) {
err (mysql_error());
return -1;
}
if (mysql_num_rows ($result) == 0)
return 0;
return $id;
}
сверяет данные в моём случае это authproxy_id c базой данных(ну там где и находится этот айдишник)
Правильно я понимаю?
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 16:20:45
Volodymyr
Да.
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 16:29:18
bobot
Volodymyr писал(а):Да.
да как мне вывести значение
так не действует
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 16:41:22
Volodymyr
bobot писал(а):да как мне вывести значение
так не действует
В каком месте вы хотите вывод сделать?
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 16:48:23
bobot
Volodymyr писал(а):bobot писал(а):да как мне вывести значение
так не действует
В каком месте вы хотите вывод сделать?
значит вот скриптик
Код: Выделить всё
<?
// function send request to proxy server: which user is on $ip?
// Requere global variables $ip_checkHost and $ip_checkPort
// return:
// -1 - error; Error description is in global variable $errstr;
// 0 - none user on $ip
// >0 - user_id
function ip_check($ip)
{
$ip_checkHost="proxy.mydomain";
$ip_checkPort=4098;
global $errstr;
$fs=fsockopen($ip_checkHost,$ip_checkPort,$sockerrno,$sockerrstr);
if(!$fs){
$errstr="Socket error _ $sockerrno: $sockerrstr";
return -1;
}
fwrite($fs,"$ip\n");
if(feof($fs)){
$errstr="Conection problem: host closed conection";
return -1;
}
$res=fgets($fs,255);
if (! strlen($res) ){
$errstr = 'Server not returned result';
return -1;
}
if(($res+0)>=0){
fclose($fs);
return $res+0;
}
$errstr='Server return: ';
while(!feof($fs)){
$errstr .=fgets($fs,255)."\n";
}
fclose($fs);
return -1;
}
и я хочу сделать в конце(после 5-й строчки в конце)
вот после этой строки
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 16:59:00
Volodymyr
bobot писал(а):вот после этой строки
А уверены что вы туда попадаете? Сделайте там
если хоть что-то покажет то вы там.
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 17:41:06
bobot
Volodymyr писал(а):bobot писал(а):вот после этой строки
А уверены что вы туда попадаете? Сделайте там
если хоть что-то покажет то вы там.
да я не попадаю туда!! не пашет после этого? а где надо?
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 17:55:46
Volodymyr
bobot писал(а):А уверены что вы туда попадаете? Сделайте там
если хоть что-то покажет то вы там.
да я не попадаю туда!! не пашет после этого? а где надо?[/quote]
Ну по трейси по коду.
Вставляй вардамп с верху в низ после каждого ифа с ретурном и увидеш где вылетаеш.
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-23 19:47:07
zg
как бы код предполагает такую схему запуска
Код: Выделить всё
$errstr = null;
$user_id = ip_check($ip);
echo $errstr ? $errstr : "User id is $user_id";
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-25 11:47:50
bobot
zg писал(а):как бы код предполагает такую схему запуска
Код: Выделить всё
$errstr = null;
$user_id = ip_check($ip);
echo $errstr ? $errstr : "User id is $user_id";
вот я сделал так
Код: Выделить всё
<?php
#$ip = $_SERVER["REMOTE_ADDR"];
#echo "Your IP is: ".$ip;
#$string = "Hello, world!!!";
#$string_len = strlen($string);
#echo ($string_len);
// function send request to proxy server: which user is on $ip?
// Requere global variables $ip_checkHost and $ip_checkPort
// return:
// -1 - error; Error description is in global variable $errstr;
// 0 - none user on $ip
// >0 - user_id
function ip_check($ip)
{
$ip_checkHost="proxy.univ.kiev.ua";
$ip_checkPort=4098;
global $errstr;
$fs=fsockopen($ip_checkHost,$ip_checkPort,$sockerrno,$sockerrstr);
if(!$fs){
$errstr="Socket error _ $sockerrno: $sockerrstr";
return -1;
}
fwrite($fs,"$ip\n");
if(feof($fs)){
$errstr="Conection problem: host closed conection";
return -1;
}
$res=fgets($fs,255);
if (! strlen($res) ){
$errstr = 'Server not returned result';
return -1;
}
if(($res+0)>=0){
fclose($fs);
return $res+0;
}
$errstr='Server return: ';
while(!feof($fs)){
$errstr .=fgets($fs,255)."\n";
}
fclose($fs);
return -1;
}
$errstr = null;
$user_id = ip_check($ip);
echo $errstr ? $errstr : "User id is $user_id";
?>
оно пишет всегда что
а должно
Код: Выделить всё
telnet mydomen 4098
Trying 91.202.128.88...
Connected to proxy.mydomen
Escape character is '^]'.
ввожу ip свой, и получаю
31538 (вот это и должно быть$user_id
Connection closed by foreign host.
А тут мне пишет что ваш id постоянно нуль
Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-25 11:58:25
bobot
zg писал(а):как бы код предполагает такую схему запуска
Код: Выделить всё
$errstr = null;
$user_id = ip_check($ip);
echo $errstr ? $errstr : "User id is $user_id";
Впринципи и так наверное можно вывести
И всёравно айди нуль

Re: Может кто то сказать что выполняют функции в этом скрипте
Добавлено: 2008-12-25 12:29:39
bobot
Volodymyr писал(а):bobot писал(а):А уверены что вы туда попадаете? Сделайте там
если хоть что-то покажет то вы там.
да я не попадаю туда!! не пашет после этого? а где надо?
Ну по трейси по коду.
Вставляй вардамп с верху в низ после каждого ифа с ретурном и увидеш где вылетаеш.[/quote]
вставлял так как вы сказали ноничего!! пустая страница!!!!
Но этот код на все 100 процентов рабочий.(а я вот разгрёбываюсь )
До меня кем-то написан.