Verander variable.

Status
Niet open voor verdere reacties.

Remi1995

Gebruiker
Lid geworden
31 jul 2009
Berichten
291
Hallo.


Ik heb op internet een php scripje gevonden die de hiscore van een spel kan opzoeken en in een tabel zetten.
Maar als de hiscore niet is gevonden dan stuurt het spel '-1' naar het php scriptje.
Weet iemand hoe ik ervoor kan zorgen dat php '-1' verandert naar iets anders?

Hier is het scriptje:
PHP:
<?php
error_reporting(E_ALL);
 
function GetRSstats($username,&$result)
{
?>
<div align="center" class="titel"><h1>Hiscore</h1></div>
Hiscore van: <?php echo("$username"); ?>.
<?php
    # Return: Boolean
    # And an empty array in your second parameter on failure, or filled with the skills on success.
    # Please note; no support is given.
/*
###
### Made By Chessspider ( www.chessspider.nl - 2007© ) 
###
### Please leave this notice here. If you really want to make me happy, also put a link to my runescape world switcher:
### http://worldswitcher.chessspider.nl/
### on your website.
*/
        # You might have to update these some day...
    $arrSkills = array(
            "<img src=images/hiscore/overall.png>Total",
            "<img src=images/hiscore/attack.gif>Attack",
            "<img src=images/hiscore/defence.gif>Defence",
            "<img src=images/hiscore/strength.gif>Strength",
            "<img src=images/hiscore/hitpoints.gif>Hitpoints",
            "<img src=images/hiscore/ranged.gif>Ranged",
            "<img src=images/hiscore/prayer.gif>Prayer",
            "<img src=images/hiscore/magic.gif>Magic",
            "<img src=images/hiscore/cooking.gif>Cooking",
            "<img src=images/hiscore/woodcutting.gif>Woodcutting",
            "<img src=images/hiscore/fletching.gif>Fletching",
            "<img src=images/hiscore/fishing.gif>Fishing",
            "<img src=images/hiscore/firemaking.gif>Firemaking",
            "<img src=images/hiscore/crafting.gif>Crafting",
            "<img src=images/hiscore/smithing.gif>Smithing",
            "<img src=images/hiscore/mining.gif>Mining",
            "<img src=images/hiscore/herblore.gif>Herblore",
            "<img src=images/hiscore/agility.gif>Agility",
            "<img src=images/hiscore/thieving.gif>Thieving",
            "<img src=images/hiscore/slayer.gif>Slayer",
            "<img src=images/hiscore/farming.gif>Farming",
            "<img src=images/hiscore/runecraft.gif>Runecrafting",
            "<img src=images/hiscore/hunter.gif>Hunter",
            "<img src=images/hiscore/construction.gif>Construction",
            "<img src=images/hiscore/summoning.gif>Summoning"
            ); // Skills... Order DOES matter, it should always be the same order as the highscores page.
 
    $sDomain = "http://hiscore.runescape.com/"; // With trailing /
    $sPage = "index_lite.ws?player="; // Page to request
 
        # You shouldnt have to change anything from here
    $arrLevels = @file($sDomain.$sPage.urlencode($username),FILE_IGNORE_NEW_LINES); // Obtaining scores, surpressing possible warnings
    $result = Array();
 
    if($arrLevels === false || empty($username) || strlen($username) > 15)
        return false;
 
    $iLength = count($arrSkills);
    for($i = 0;$i < $iLength;$i++)
    {
        $levels = explode(",",$arrLevels[$i]);
 
        $arrStats[$arrSkills[$i]]["skill"] = $arrSkills[$i];
        $arrStats[$arrSkills[$i]]["rank"] = $levels[0];
        $arrStats[$arrSkills[$i]]["level"] = $levels[1];
        $arrStats[$arrSkills[$i]]["exp"] = $levels[2];
    }
 
    $result = $arrStats;
    return true;
}


   if(GetRSstats($_POST['username'],$stats))
    {
        echo "<table width=400 align=center border=1 cellpadding=0 cellspacing=0 style=\"border: 1px solid #ff8c00;\">\n<tr><th>Skill</th><th>Rank</th><th>Level</th><th>XP</th></tr>\n"; 
        foreach($stats as $values) 
            echo "<tr><td>".$values['skill']."</td><td>".$values['rank']."</td><td>".$values['level']."</td><td>".$values['exp']."</td></tr>\n"; 
            
        echo "</table>\n"; 
    }
    else
    {
        echo "Er is geen hiscore gevonden bij dit account.";
    }
?>

Vriendelijke groeten, Remi1995.
 
-1, oftewel false wordt op regel 58 terug gegeven. Daar kun je dus iets anders neerzetten.

het script, zoals het nu is, geeft keurig een melding als een gebruiker niet bestaat, dus ik snap niet acht waarom je het zou willen veranderen
 
-1, oftewel false wordt op regel 58 terug gegeven. Daar kun je dus iets anders neerzetten.

het script, zoals het nu is, geeft keurig een melding als een gebruiker niet bestaat, dus ik snap niet acht waarom je het zou willen veranderen

Hij laat wel mooi zien als de gebruikersnaam niet bestaat, maar als een level van een gebruiker niet hoog genoeg is, dan wordt daar door de site waar je de hiscore vanaf kan halen '-1' neer gezet.

Dit is wat ik krijg als ik een gebruiker ga opzoeken:
1267951181-250.png

(Link naar plaatje).

Dit is wat php krijgt als er wordt gezocht naar de gebruiker: Remi1115.
http://hiscore.runescape.com/index_lite.ws?player=Remi1115.

Hoe kan ik dit veranderen¿




Remi1995
 
Laatst bewerkt:
-1, oftewel false wordt op regel 58 terug gegeven. Daar kun je dus iets anders neerzetten.

het script, zoals het nu is, geeft keurig een melding als een gebruiker niet bestaat, dus ik snap niet acht waarom je het zou willen veranderen

-1 is in php niet hetzelfde dan boolean false.


Waarschijnlijk moet je het hier zoeken

Code:
    for($i = 0;$i < $iLength;$i++)
    {
        $levels = explode(",",$arrLevels[$i]);
 
        $arrStats[$arrSkills[$i]]["skill"] = $arrSkills[$i];
        $arrStats[$arrSkills[$i]]["rank"] = $levels[0];
        $arrStats[$arrSkills[$i]]["level"] = $levels[1];
        $arrStats[$arrSkills[$i]]["exp"] = $levels[2];
    }

wijzig eens naar

Code:
    for($i = 0;$i < $iLength;$i++)
    {
        $levels = explode(",",$arrLevels[$i]);
 
        $arrStats[$arrSkills[$i]]["skill"] = $arrSkills[$i];
        if( $arrStats[$arrSkills[$i]]["skill"] == -1) { $arrStats[$arrSkills[$i]]["skill"] = 0; }

        $arrStats[$arrSkills[$i]]["rank"] = $levels[0];
        if( $arrStats[$arrSkills[$i]]["rank"] == -1) { $arrStats[$arrSkills[$i]]["rank"] = 0; }

        $arrStats[$arrSkills[$i]]["level"] = $levels[1];
        if( $arrStats[$arrSkills[$i]]["level"] == -1) { $arrStats[$arrSkills[$i]]["level"] = 0; }

        $arrStats[$arrSkills[$i]]["exp"] = $levels[2];
        if( $arrStats[$arrSkills[$i]]["exp"] == -1) { $arrStats[$arrSkills[$i]]["exp"] = 0; }
    }
 
-1 is in php niet hetzelfde dan boolean false.
wijzig eens naar

Code:
    for($i = 0;$i < $iLength;$i++)
    {
        $levels = explode(",",$arrLevels[$i]);
 
        $arrStats[$arrSkills[$i]]["skill"] = $arrSkills[$i];
        if( $arrStats[$arrSkills[$i]]["skill"] == -1) { $arrStats[$arrSkills[$i]]["skill"] = 0; }

        $arrStats[$arrSkills[$i]]["rank"] = $levels[0];
        if( $arrStats[$arrSkills[$i]]["rank"] == -1) { $arrStats[$arrSkills[$i]]["rank"] = 0; }

        $arrStats[$arrSkills[$i]]["level"] = $levels[1];
        if( $arrStats[$arrSkills[$i]]["level"] == -1) { $arrStats[$arrSkills[$i]]["level"] = 0; }

        $arrStats[$arrSkills[$i]]["exp"] = $levels[2];
        if( $arrStats[$arrSkills[$i]]["exp"] == -1) { $arrStats[$arrSkills[$i]]["exp"] = 0; }
    }

Het is gelukt, dank u wel.

 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan