[ Maki187 @ 16.02.2012. 00:31 ] @
Pa ovako, skriptam neki mod za SAMP u pawnu, i nesto sam editovao jedan INI ucp(user control panel) sistem, i sve dobro radi, al imam jedan problem, posto nemam VPS, ja moram da prepravim UCP tako da se konektuje preko FTP-a na game server, tu da ucita igracev fajl, i ispise to igracu kao "statistiku"
Primer logina mozete videti ovde

http://balkan-rising.info/ucp/

User: Test_Test
pass: 123

Neobracajte paznju kad se ulogujete na tekst dole gde pise bug, to sam ja nesto pogresno uradio, nije ni vazno...

Ti podatci koje vidite tu su ucitani direktno sa web hosta, odnosno preko putanje /home/balkanri/public_html/fajlovi/scriptfiles/igraci

Al ja sve to moram da ucitam preko FTP-a, sa drugog servera na kom je gamehost... pokusao sam svasta al nzm kako da odredim tu putanju preko ftp-a

Ovako izgleda kod kad se ucitava sa hosta direktno
(config.php)
Code:
<?php
// Set the directory of the SAMP folder
$GameDir = "/home/balkanri/public_html/fajlovi/";
//
?>


I onda skripta pomocu funkcije ispod otvara fajl igraca i cita podatke

Code:
function GetPlayerInfo($user)
    {
        require "config.php";
        $file="$GameDir/scriptfiles/Igraci/$user.ini";
        if(!file_exists($file)) return false;
        $data = parse_ini_file($file);
        return $data;
    }


Al problem je sto aj to nemogu da prebacim u FTP, tj da se sve to obavlja preko ftp-a, pa bi zamolio onog ko zna da mi pomogne, jer mi je ovo jako vazno... ako to uspem da uradim, mocicu da razvijam dalje UCP, dok nepostane stvarno UCP, a ne cista statistika...


Ja sam pokusao nesto ovako

Code:
<?php

$ftp_server = "IP";
$ftp_user = "user";
$ftp_pass = "pass";

$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "Connected as $ftp_user@$ftp_server\n";
} else {
    echo "Couldn't connect as $ftp_user\n";
}

// Set the directory of the SAMP folder
$GameDir = "ftp_connect($ftp_server)";
//
?>


Problem je upravo tu, sto nzm kako da odredim putanju pod gamedir.... cak i da je odredim, dal ce ova skripta:

Code:
function GetPlayerInfo($user)
    {
        require "config.php";
        $file="$GameDir/scriptfiles/Igraci/$user.ini";
        if(!file_exists($file)) return false;
        $data = parse_ini_file($file);
        return $data;
    }


moci da cita podatke preko ftp-a, ili i tu treba nekih izmena ?


Molim vas ako mozete da i pomognete... hvala unapred...
[ ivan.a @ 16.02.2012. 08:21 ] @
Ne možeš koristiti nedefinisanu varijablu u okviru funcije (u tvom slučaju je $GameDir)

Dakle, funkcija treba biti:

Code:
function GetPlayerInfo($user, $GameDir)
    {
        require "config.php";
        $file="$GameDir/scriptfiles/Igraci/$user.ini";
        if(!file_exists($file)) return false;
        $data = parse_ini_file($file);
        return $data;
    }


A zašto ne bi "učitao" taj fajl preko npr. file_get_contents() funkcije?
Code:
file_get_contents("http://WEBSITE.com/fajlovi/scriptfiles/igraci/".$user);

Posle toga: parse_ini_string()
[ Maki187 @ 16.02.2012. 13:23 ] @
Hvala, pa ne znam mnogo u PHP-u, tj jedva da ga znam, zato nisam znao komane i slicno, pokusao sam ovako kako si rekao, al nisam verovatno bas najbolje skontao

Code:

function GetPlayerInfo($user)
    {
        require "config.php";
                file_get_contents("http://balkan-rising.info/fajlovi/scriptfiles/Igraci/".$user);
        // $file="$GameDir/scriptfiles/Igraci/$user.ini";
        if(!file_exists($file)) return false;
                $data = parse_ini_string($file);
        //$data = parse_ini_file($file);
        return $data;
    }


al tako neradi, pa sam pokusao ovako

Code:
function GetPlayerInfo($user)
    {
        require "config.php";
                file_get_contents("http://balkan-rising.info/fajlovi/scriptfiles/Igraci/%s.ini".$user);
        // $file="$GameDir/scriptfiles/Igraci/$user.ini";
        if(!file_exists($file)) return false;
                $data = parse_ini_string($file);
        //$data = parse_ini_file($file);
        return $data;
    }


i ovako, al nikako nece :/

Code:
function GetPlayerInfo($user)
    {
        require "config.php";
                file_get_contents("http://balkan-rising.info/fajlovi/scriptfiles/Igraci/$user.ini");
        // $file="$GameDir/scriptfiles/Igraci/$user.ini";
        if(!file_exists($file)) return false;
                $data = parse_ini_string($file);
        //$data = parse_ini_file($file);
        return $data;
    }


pokusao sam i sa ovim $file= file_get_contents("http://balkan-rising.info/fajlovi/scriptfiles/Igraci/$user.ini");

ne znam u php, a vazno mi je da ovo uradim :/ hvala, al jel ima nesto drugo ?
[ mlbrnda @ 16.02.2012. 13:40 ] @
Probaj ovako:
Code:

function GetPlayerInfo($user){
         require "config.php";
         $file = file_get_contents("http://balkan-rising.info/fajlovi/scriptfiles/Igraci/$user.ini");
         $data = parse_ini_string($file);
         return $data;
}
[ Maki187 @ 16.02.2012. 13:52 ] @
hvala puno, ali nece, svaki put kad ukucam user i sifru, izbaci da je pass pogresan, a to se desi obicno samo kad ne moze da ucita fajl :/


http://balkan-rising.info/fajl...riptfiles/Igraci/Test_Test.ini

tako izgleda fajl igraca

mozda je problem u delu gde se vrsi provera sifre i uopste toga, tj mozda mu tu nesto neda da ucita, ili ne moze da ucita jer su vamo izmenjeni podatci :/

Code:
else if(isset($_POST['username']))
{
    $PlayerInfo = $functions->GetPlayerInfo($_POST['username']);
    if($PlayerInfo == true && $PlayerInfo['Sifra'] == $_POST['password'])
    {
        $_SESSION['username'] = $_POST['username'];
    }
    else
    {
                include 'templates/pocetak.tpl';
        echo startcontent();
        echo title("DOSLO JE DO GRESKE!");
        echo '<p align=center><b>Pogresna sifra ili ime!!</b></p><meta http-equiv="refresh" content="3; URL=">';            
        echo endcontent();
        include 'templates/kraj.tpl';
        die;
    }
}


unapred hvala, i izvinite ak ovas mucim :/
[ ivan.a @ 17.02.2012. 13:25 ] @
Prvo proveri dobijene podatke sa eksternog sajta.
Code:
<?php
  function GetUserData($user) {
  $url = "http://balkan-rising.info/fajlovi/scriptfiles/Igraci/".$user.".ini";
  $data = file_get_contents($url);
  return $data;
  }
  
  $result = GetUserData('Test_Test');
  
  if (!empty($result) ) {
     $podaci = explode("\n", $result);
     foreach($podaci as $podatak) {
       if (!empty($podatak) ) {
       $data = explode("=", $podatak);
       $name = $data[0]; 
       $vrednost = $data[1];
       if ($name == "Sifra") $sifra = $data[1];
       if ($name == "Novac") $novac = $data[1]; 
       //ITD.
       }
     }
     ?>
     <div>Šifra: <?php echo $sifra; ?></div>
     <div>Novac: <?php echo $novac; ?></div>
     <?php
  }
?>
[ Maki187 @ 17.02.2012. 21:18 ] @
Hvala, al nerazumem sta sa tim treba da uradim ? :/