json_decode(file_get_contents(X)) bestand bestaat, krijg er niks uit.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

RareAMV Unknown

RareAMV Unknown

20/11/2013 22:18:13
Quote Anchor link
Ik heb een probleem, ik heb deze code merendeels van het internet en wou het toepassen op mijn eigen applicatie, ik heb de code getest alvorens ik het naar de webserver uploadde. Mijn probleem is dat ik niet weet wat het probleem is. Ik decode een json bestand (lijn 73), waarvan ik gecheckt heb of het bestaat. Ik heb ook gecheckt dat als ik het bestand verwijder(/als er geen bestand met de naam is) of hij dan een error geeft, dat doet hij. Maar als het bestand bestaat, en ik wil er data uithalen en in een variabele stoppen, werkt het niet. Het punt is, de variabele is niet leeg, want ik krijg geen unidentified variable xx error of zoiets.

Hier is de code(let niet op de slordigheidjes, ben een beginner, ik zou wel graag willen weten wat beter kan^^):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php

    include "../public_html/steamlogin/apikey.php";
    include "../public_html/steamlogin/openid.php";
/*
Ik heb deze code niet bedacht/gemaakt, behalve hets tukje met de preg_replace. Deze code komt van deze video tutorial: http://www.youtube.com/watch?v=e2OnJfhkLxU
Zonder deze code wist ik niet eens waar ik moest beginnen. gelukkig weet ik wel wat hij doet.
This code is not created by me, except fot the preg_replace part. If he somehow stumbles on this website and he dont want me to use his code, he can email me @
[email protected]
I used this code because i thought, a tutorial is for someone to learn something, so he can reuse it. But if i am wrong, tell me......

*/

    
    $OpenID = new LightOpenId("http://rarepostgen.hostavo.com/index.php");

    session_start();

    if(!$OpenID->mode){
        if(isset($_GET['login'])){
            $OpenID->identity = "http://steamcommunity.com/openid";
            header("Location: {$OpenID->authUrl()}");
        }


        if(!isset($_SESSION['T2SteamAuth'])){
            $login = "<div id=\"login\">Welcome guest. Please <a href=\"?login\"><img src=\"http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_small.png\"/></a></div>";
            
        }

    }
elseif($OpenID->mode == "cancel"){
        echo "User has canceled Authentication";
    }
else {

        if(!isset($SESSION['T2SteamAuth'])){

            $_SESSION['T2SteamAuth'] = $OpenID->validate() ? $OpenID->identity : null;

            if($_SESSION['T2SteamAuth'] !== null){


                $s = $_SESSION['T2SteamAuth'];
                $Steam64 = preg_replace('/[^0-9]/','',$s);
                $_SESSION['T2SteamID64'] = $Steam64;
                $profile = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=" . $apikey . "&steamids=" . $Steam64);
                $buffer = fopen("../public_html/cache/" . $Steam64 . ".json", "w+");
                fwrite($buffer, $profile);
                fclose($buffer);

            }


        
            

            

            header("Location: index.php");

        }
    }


    if(isset($_SESSION['T2SteamAuth'])){

        $login = "<div id=\"login\"><a href=\"?logout\">Logout</a></div> <br>";
        
    }


    if(isset($_GET['logout'])){

        unset($_SESSION['T2SteamAuth']);
        unset($_SESSION['T2SteamID64']);
        header("Location: index.php");
    }


    $steam = json_decode(file_get_contents("../public_html/cache/" . $_SESSION['T2SteamID64'] . ".json"));
    $steam_uname = $steam->response->players[0]->personaname;


    $loginhtml = $login;

    if(isset($_SESSION['T2SteamAuth'])){
        
        $tabel = 'tabel.php';

    }
elseif(!isset($_SESSION['T2SteamID64'])) {

        $tabel = 'tabelnl.php';
    }


echo $steam_uname;

?>

even ter verheldering, na die echo komt nog een echo met een bult html text(waarin ik de rest van de variabelen gebruik. Ook $steam_uname hoort in een variabele te staan, maar voor de test probeerde ik het zo.

Al vast bedankt voor de hulp en reacties^^.
Gewijzigd op 20/11/2013 22:18:43 door RareAMV Unknown
 
PHP hulp

PHP hulp

22/11/2024 06:09:31
 
Frits Katoen

Frits Katoen

22/11/2013 17:05:02
Quote Anchor link
Bouw het rustig op en check bij elke stap of het nog goed gaat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
// bestaat het bestand?
if(file_exists("../public_html/cache/" . $_SESSION['T2SteamID64'] . ".json")){
    // Is deze leesbaar?
    if(is_readable("../public_html/cache/" . $_SESSION['T2SteamID64'] . ".json")){
        $contents = file_get_contents("../public_html/cache/" . $_SESSION['T2SteamID64'] . ".json");
        // file_get_contents returned false als er iets misgaat
        if($contents !== false){
            $steam = json_decode($contents);
            // Nu zou je hier bijvoorbeeld een var_dump kunnen doen om te zien wat je hebt ingelezen
            // En daar dan op verder borduren

            var_dump($steam);
            // etc.
        }
        else{
            echo 'file_get_contents probleem';
        }
    }

    else{
        echo 'Bestaat maar is niet leesbaar';
    }
}

else{
    echo 'Bestand bestaat niet';
}
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.