Visualizzazione risultati 1 fino 3 di 3

Discussione: Elaborare richiesta get tramite php

  1. #1
    Guest

    Predefinito Elaborare richiesta get tramite php

    salve a tutti.

    ho aperto da poco un forum + blog presso alltervista. cercando di offrire un servizio a tutti coloro che si iscrivono presso il mio forum, non mi dilungo di più visto che questo è il fine e non il mezzo che è quello mi interessa.

    Per permettere a tutti i miei utenti di utilizzare i servizi/promozioni ho optato per una valuta virtuale gestita tramite il sistema dei punti, questi sono assegnati da una mod per phpbb ( UPS - ultimate point system), unitamente a questo sistema volevo utilizzare anche un mozzo molto remunerativo ma ad impatto zero sulle tasche dei miei utenti. questo servizio si chiama Trialpay,

    per chi non lo conoscesse, è il servizio che viene utilizzato come alternativa di pagamento nei giochi di Facebook. ma è utilizzato da siti come neobox o ptc in generale.

    anche questo centra in generale. Giochicchiando con il servizio su detto, sono riuscito a creare tutto. tranne che ho un problema, questo problema è che le comunicazioni tra il sito è l'applicativo di trialpay avviene tramite una richiesta get.

    il probblema è che non so come far funzionare questa cosa.

    voi conoscente qualche guida o mi potreste dare una mano?

    ho letto questo messaggio (http://forum.it.altervista.org/javas...tml#post834175) è ho capito che è possibile ma non saprei come fare..

    avete qualche idea?

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Le richieste get sono dei parametri passati via url (indirizzo).

    Devi sapere come si devono chiamare i parametri, per poterlo usare: se ad esempio devi passare il parametro "ricarica", con valore 100, dovrai fare una cosa come:

    Codice:
    sito.it/pagina.php?ricarica=100
    Se vuoi passare più parametri via get, devi separarli con una "&". Quindi, se vuoi passare parametro1=10 e parametro2=15, dovrai fare:
    Codice:
    sito.it/pagina.php?parametro1=10&parametro2=15
    Ciao!
    Ultima modifica di alemoppo : 04-10-2012 alle ore 22.17.54

  3. #3
    Guest

    Predefinito

    si si infatti questa cosa mi pareva di averla capita..

    i parametri della richiesta get sono

    Codice:
    oid=%oid%
    sid=%sid%
    reward_amount=%reward_amount%
    e_mail=%email%
    quindi la mia url dovrebbe essere:

    Codice:
    banennersbrokermaia.altervista.org/forum/points.php?oid=%oid%&sid=%sid%&reward_amount=%reward_amount%e_mail=%email%
    oggi guardando bene sul sito di trialpay ho notato questo link che mi riposta a questo codice..

    Codice PHP:
    <?
    // TrialPay provides this signature for the message
    $message_signature = $_SERVER['HTTP_TRIALPAY_HMAC_MD5'];

    // Recalculate the signature locally
    $key = '[YOUR MERCHANT KEY]';

    if (
    $_SERVER['REQUEST_METHOD'] == 'POST') {
    // the following is for POST notification
    if (empty($HTTP_RAW_POST_DATA)) {
    $recalculated_message_signature = hash_hmac('md5', file_get_contents('php://input'), $key);
    } else {
    $recalculated_message_signature = hash_hmac('md5', $HTTP_RAW_POST_DATA, $key);
    }

    } else {
    // the following is for GET notification
    $recalculated_message_signature = hash_hmac('md5', $_SERVER['QUERY_STRING'], $key);

    }

    if (
    $message_signature == $recalculated_message_signature) {
    // the message is authentic
    } else {
    // the message is not authentic
    }
    che in teoria questo codice lo dovrei implementare nella pagina .../points.php

    e fino a qui non ci sono problemi lo prendo e lo appicico...

    l'unica cosa che mi fa venire in mente che il tutto è infattibile è che trial pay conosce la mail dell'utente e non l'id utente che esiste sul forum, che è la variabile di riferimento della tabella user. dove è presente una colonna chiamata points che io devo far incrementare con le info della richiesta. quindi dovrei trovare il modo di risalire dalla mail all'ID utente per poi far incrementare la variabile punti.


    Altimenti non possibile fare una cosa?
    io creo un form.. che si auto completa grazie alla richista get. il form è un form di contatto che mi manda una mail, con dentro tutte le richieste....


    [edit ]

    no ho voglia di riscrivere gli appunti della lezione e quindi lavoro qui..

    dunque spulciando qui e li per le funzioni della mod points ho trovato questa funzione.

    Codice PHP:
    /**
    * Add points to user
    */
    function add_points($user_id, $amount)
    {
    global
    $db, $user;

    // Select users current points
    $sql_array = array(
    'SELECT' => 'user_points',
    'FROM' => array(
    USERS_TABLE => 'u',
    ),
    'WHERE' => 'user_id = ' . (int) $user_id,
    );
    $sql = $db->sql_build_query('SELECT', $sql_array);
    $result = $db->sql_query($sql);
    $user_points = $db->sql_fetchfield('user_points');
    $db->sql_freeresult($result);

    // Add the points
    $sql = 'UPDATE ' . USERS_TABLE . '
    SET user_points = user_points + '
    . $amount . '
    WHERE user_id = '
    . (int) $user_id;
    $db->sql_query($sql);

    return;
    }
    e allora mi è venuta in mente la possibilità di utilizzare parte di questa funzione per far in modo che la comunicazione venga poi iscritta nel DB

    Codice PHP:
    * Add points to user by trial pay
    */
    function
    add_points_tp($user_id, $amount)
    {
    global
    $db, $user;

    // Add the points
    $sql = 'UPDATE ' . USERS_TABLE . '
    SET user_points = user_points + '
    . $amount . '
    WHERE user_id = '
    . (int) $user_id;
    $db->sql_query($sql);

    return;
    il problema è sempre lo stesso non ho modo di trovare l'id dell'utente dalla mail
    Ultima modifica di bannersbrokermania : 05-10-2012 alle ore 16.37.02

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •