2013-02-27 3 views
0

Я пытаюсь настроить веб-сайт, который преобразует идентификатор пользователя Steam в идентификатор auth. Он попросит посетителя ввести свой обычный идентификатор Steam, а затем нажать кнопку, чтобы преобразовать его в идентификатор auth. Steam предоставляет нам функцию конвертации ID из одного типа в другой.Как вызвать функцию PHP при нажатии кнопки?

Функция пара для преобразования идентификаторов:

function convert_steamid_to_accountid($steamid) 
    { 
     $toks = explode(":", $steamid); 
     $odd = (int)$toks[1]; 
     $halfAID = (int)$toks[2]; 

     $authid = ($halfAID*2) + $odd; 
     echo $authid; 
     } 

Ниже моя попытка настройки основной страницы HTML, который получает ввод пользователя и затем использует эту функцию для преобразования, что вход в чем-то еще.

<INPUT TYPE = "Text" VALUE ="ENTER STEAM:ID" NAME = "idform"> 

<?PHP 
$_POST['idform']; 
$steamid = $_POST['idform']; 
?> 

Кроме того, это то, что по умолчанию ID пользователя пара выглядит следующим образом:

STEAM_0: 1: 36716545

Спасибо за помощь!

ответ

1

Если вы можете сделать это в два отдельных файла, сделайте это.

foo.html

<form method="POST" action="foo.php"> 
    <input type="text" value="ENTER STEAM:ID" name="idform" /> 
    <input type="submit" /> 
</form> 

foo.php

<?php 
    function convert_steamid_to_accountid($steamid) 
    { 
    $toks = explode(":", $steamid); 
    $odd = (int)$toks[1]; 
    $halfAID = (int)$toks[2]; 

    $authid = ($halfAID*2) + $odd; 
    echo $authid; 
    } 

    $id = $_POST['idform']; 
    convert_steamid_to_accountid($id) 
?> 

, если вы не имеете возможность сделать два отдельных файлов, вы можете добавить код РНР 'foo.html' файл и сделать форму для отправки в тот же файл. Однако, если вы это сделаете, проверьте, запрашивается ли файл в первый раз, или он запрашивается, поскольку форма отправляется, прежде чем вы вызываете функцию convert_steamid_to_accountid(). Вы можете это сделать:

if ($_SERVER['REQUEST_METHOD']=='POST'){ 
    // your php code here that should be executed when the form is submitted. 
} 
+0

Wow! Спасибо!! Он отлично работает. В чем причина создания двух отдельных файлов, а не 1 файла? – raimond

+0

Ну, это не имеет значения с точки зрения эффективности, но, на мой взгляд, он делает код более понятным, организованным и понятным. И таким образом вам не нужно делать дополнительные проверки способа запроса и т. Д. –

+0

Кстати, если этот ответ помог вам, вы можете принять ответ. Таким образом, ну, я получу очки репутации :) –

Смежные вопросы