ilch Forum » Allgemein » HTML, PHP, SQL,... » Suche Steam-ID Converter-Script

Geschlossen
  1. #1
    User Pic
    Tyrargo Mitglied
    Registriert seit
    30.01.2006
    Beiträge
    5.541
    Beitragswertungen
    7 Beitragspunkte
    Ich hätte gern so etwas: externer Link

    Auf meiner Homepage.

    Habe zwar schon etliche Codes ausprobiert, aber keiner hat so wirklich funktioniert.

    Hat da vielleicht jemand etwas parat, oder kann mir weiterhelfen?

    Hier noch ein Beispiel: ihavenfi.net/steamid

    Oder hier: externer Link

    Muss doch irgendwie möglich sein?!


    verwendete ilchClan Version: 1.1 P

    betroffene Homepage: test.vistauri.net
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Tyrargo Mitglied
    Registriert seit
    30.01.2006
    Beiträge
    5.541
    Beitragswertungen
    7 Beitragspunkte
    Habe zwar jetzt nen Code gefunden: test.vistauri.net/index.php?SteamID

    Allerdings, wenn ich etwas eingebe, lande ich wieder auf der Startseite der Homepage. Fehlt da noch was am Code?

    <?php /*
    SteamID conversion tool by 8088 & KoST
    For more info, visit AlliedModders @ http://forums.alliedmods.net/showthread.php?t=60899
    */
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    	<head>
    		<meta http-equiv="content-type" content="text/html; charset=utf-8">
    		<title>SteamID converter</title>
    	</head>
    	<body>
    		<form method="get" action="">
    			<div>
    				<fieldset>
    					<legend>Input</legend>
    					<table>
    						<tbody>
    							<tr>
    								<td>SteamID / FriendID / customURL:<br>
    									<input type="text" size="70" name="s" value="<?php echo htmlentities(stripslashes($_GET['s']),ENT_QUOTES, ILCH_ENTITIES_FLAGS, ILCH_CHARSET); ?>">
    								</td>
    							</tr>
    							<tr>
    								<td align="right">
    									<input class="button" type="submit" accesskey="s" value="Submit">
    								</td>
    							</tr>
    						</tbody>
    					</table>
    				</fieldset>
    			</div>
    		</form>
    
    		<?php
    		$ret=get_input_type($_GET['s']);
    		if ($ret==''){
    
    		}else if (is_string($ret)){
    			echo '<div><fieldset><legend>Output</legend><table><tbody><tr><td>';
    			echo $ret;
    			echo '</td></tr></tbody></table></fieldset>';
    			if ($_GET['s']!=='') {	echo $notice; }
    			echo '</div>';
    		}else if (is_array($ret)){
    			echo '<div><fieldset><legend>Output</legend><table><tbody><tr><td>';
    			convert($ret['type'],$ret['data']);
    			echo '</td></tr></tbody></table></fieldset>';
    			if ($_GET['s']!=='') {	echo $notice;}
    			echo '</div>';
    		}
    
    		function convert($type,$data){
    			switch($type){
    				case 'steamid':
    				$main='http://steamcommunity.com/profiles/'.bcadd((($data['auth']*2)+$data['server']),'76561197960265728');
    				echo 'FriendID: <a href="'.$main.'" title="Visit Steam Community page" target="blank">'.bcadd((($data['auth']*2)+$data['server']),'76561197960265728').'</a>';
    				break;
    				case 'friendid':
    				if (substr($data,-1)%2==0) $server=0; else $server=1;
    				$auth=bcsub($data,'76561197960265728');
    				if (bccomp($auth,'0')!=1) {echo "Error: invalid FriendID or SteamID";return;}
    				$auth=bcsub($auth,$server);
    				$auth=bcdiv($auth,2);
    				echo 'SteamID: STEAM_0:'.$server.':'.$auth;
    				break;
    			}
    		}
    
    		function get_input_type($data){
    			$data=strtolower(trim($data));
    			if ($data!='') {
    				if (strlen($data)>80) return "too long";
    				if (substr($data,0,7)=='steam_0') {
    					$tmp=explode(':',$data);
    					if ((count($tmp)==3) && is_numeric($tmp[1]) && is_numeric($tmp[2])){
    						return array('type'=>'steamid','data'=>array('auth'=>$tmp[2],'server'=>$tmp[1]));
    					}else{
    						return "Error: invalid SteamID";
    					}
    				}else if ($p=strrpos($data,'/')){
    					$tmp=explode('/',$data);
    					foreach ($tmp as $item){
    						if (is_numeric($item)){
    							$a=$item;
    							break;
    						}
    					}
    					if ((is_numeric($a)) && (ereg('7656119', $a))) return array('type'=>'friendid','data'=>$a);
    					else {
    						$xml = @simplexml_load_file($data."?xml=1");
    						$steamid64=$xml->steamID64;
    						if (!ereg('7656119', $steamid64)) return "Error: invalid link";
    						else return array('type'=>'friendid','data'=>$steamid64);
    					}
    				}else if ((is_numeric($data)) && (ereg('7656119', $data))){
    					return array('type'=>'friendid','data'=>$data);
    				}else{
    					$xml = @simplexml_load_file("http://steamcommunity.com/id/".$data."?xml=1");
    					$steamid64=$xml->steamID64;
    					if (!ereg('7656119', $steamid64)) return "Error: invalid input";
    					else return array('type'=>'friendid','data'=>$steamid64);
    				}
    			}else{
    				return "";
    			}
    		}
    		?>
    	</body>
    </html>
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Tyrargo Mitglied
    Registriert seit
    30.01.2006
    Beiträge
    5.541
    Beitragswertungen
    7 Beitragspunkte
    Und wenn ich eine Steam-ID eintrage, wird dieser Link geladen:

    test.vistauri.net/index.php?s=STEAM_0%3A1%3A20755933

    Kein Wunder, dass ich auf der Startseite lande...

    Wie kann ich das beheben?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mikro Mitglied
    Registriert seit
    05.10.2011
    Beiträge
    237
    Beitragswertungen
    21 Beitragspunkte
    Hast du dir auch das schon mal angeschaut.
    github.com/VictorAtPL/Steamprofile

    Der kern der ganzen Sache ist Du sendest die SteamID und bekommst eine XML Datei zurück.

    steamcommunity.com/profiles/76561197997960429?xml=1

    Nun musst du halt die XML auslesen, anzeigen oder weiterverarbeiten wie auch immer.



    Kannst ja mal Testen, habe noch die get variable SteamID als hidden feld Zeile 22 eingefügt, damit du wieder auf der selben contentseite rauskommst.
    <?php /*
    SteamID conversion tool by 8088 & KoST
    For more info, visit AlliedModders @ http://forums.alliedmods.net/showthread.php?t=60899
    */
    ?>
      
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="content-type" content="text/html; charset=utf-8">
            <title>SteamID converter</title>
        </head>
        <body>
            <form method="get" action="#">
                <div>
                    <fieldset>
                        <legend>Input</legend>
                        <table>
                            <tbody>
                                <tr>
                                    <td>SteamID / FriendID / customURL:<br>
                                        <input type="hidden" name="SteamID" value="">
                                        <input type="text" size="70" name="s" value="<?php echo htmlentities(stripslashes($_GET['s']),ENT_QUOTES, ILCH_ENTITIES_FLAGS, ILCH_CHARSET); ?>">
                                        
                                    </td>
                                </tr>
                                <tr>
                                    <td align="right">
                                        <input class="button" type="submit" accesskey="s" value="Submit">
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </fieldset>
                </div>
            </form>
      
            <?php
            $ret=get_input_type($_GET['s']);
            if ($ret==''){
      
            }else if (is_string($ret)){
                echo '<div><fieldset><legend>Output</legend><table><tbody><tr><td>';
                echo $ret;
                echo '</td></tr></tbody></table></fieldset>';
                if ($_GET['s']!=='') {  echo $notice; }
                echo '</div>';
            }else if (is_array($ret)){
                echo '<div><fieldset><legend>Output</legend><table><tbody><tr><td>';
                convert($ret['type'],$ret['data']);
                echo '</td></tr></tbody></table></fieldset>';
                if ($_GET['s']!=='') {  echo $notice;}
                echo '</div>';
            }
      
            function convert($type,$data){
                switch($type){
                    case 'steamid':
                    $main='http://steamcommunity.com/profiles/'.bcadd((($data['auth']*2)+$data['server']),'76561197960265728');
                    echo 'FriendID: <a href="'.$main.'" title="Visit Steam Community page" target="blank">'.bcadd((($data['auth']*2)+$data['server']),'76561197960265728').'</a>';
                    break;
                    case 'friendid':
                    if (substr($data,-1)%2==0) $server=0; else $server=1;
                    $auth=bcsub($data,'76561197960265728');
                    if (bccomp($auth,'0')!=1) {echo "Error: invalid FriendID or SteamID";return;}
                    $auth=bcsub($auth,$server);
                    $auth=bcdiv($auth,2);
                    echo 'SteamID: STEAM_0:'.$server.':'.$auth;
                    break;
                }
            }
      
            function get_input_type($data){
                $data=strtolower(trim($data));
                if ($data!='') {
                    if (strlen($data)>80) return "too long";
                    if (substr($data,0,7)=='steam_0') {
                        $tmp=explode(':',$data);
                        if ((count($tmp)==3) && is_numeric($tmp[1]) && is_numeric($tmp[2])){
                            return array('type'=>'steamid','data'=>array('auth'=>$tmp[2],'server'=>$tmp[1]));
                        }else{
                            return "Error: invalid SteamID";
                        }
                    }else if ($p=strrpos($data,'/')){
                        $tmp=explode('/',$data);
                        foreach ($tmp as $item){
                            if (is_numeric($item)){
                                $a=$item;
                                break;
                            }
                        }
                        if ((is_numeric($a)) && (ereg('7656119', $a))) return array('type'=>'friendid','data'=>$a);
                        else {
                            $xml = @simplexml_load_file($data."?xml=1");
                            $steamid64=$xml->steamID64;
                            if (!ereg('7656119', $steamid64)) return "Error: invalid link";
                            else return array('type'=>'friendid','data'=>$steamid64);
                        }
                    }else if ((is_numeric($data)) && (ereg('7656119', $data))){
                        return array('type'=>'friendid','data'=>$data);
                    }else{
                        $xml = @simplexml_load_file("http://steamcommunity.com/id/".$data."?xml=1");
                        $steamid64=$xml->steamID64;
                        if (!ereg('7656119', $steamid64)) return "Error: invalid input";
                        else return array('type'=>'friendid','data'=>$steamid64);
                    }
                }else{
                    return "";
                }
            }
            ?>
        </body>
    </html>



    Zuletzt modifiziert von Mikro am 19.07.2013 - 18:57:19
    Wer Rechtschreibfehler findet darf sie behalten!
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Tyrargo Mitglied
    Registriert seit
    30.01.2006
    Beiträge
    5.541
    Beitragswertungen
    7 Beitragspunkte
    Mit deinem Code wird mir ein Fehler im Eingabefeld angezeigt:

    <br /><b>Warning</b>:  htmlentities(): charset `2' not supported, assuming utf-8 in <b>/homepages/6/d39789313/htdocs/clanneu/include/contents/selfbp/selfp/SteamID.php</b> on line <b>23</b><br />


    Komischerweise konnte ich das Problem beheben, indem ich diesen Code wieder rausnehme:
    , ILCH_ENTITIES_FLAGS, ILCH_CHARSET
    Obwohl der Schnipsel ja eigentlich drin enthalten sein sollte...

    Aber es funktioniert nun.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Tyrargo Mitglied
    Registriert seit
    30.01.2006
    Beiträge
    5.541
    Beitragswertungen
    7 Beitragspunkte
    Dann nimm doch den Code von Mikro lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten