Visualizzazione risultati 1 fino 10 di 10

Discussione: Modifica di variabile con funzione php

  1. #1
    Guest

    Predefinito Modifica di variabile con funzione php

    salve a tutti. vengo subito al sodo.

    dunque ho la necessità di modificare
    questo
    Codice:
    000002
    in questo

    Codice:
    2
    tramite php.

    e ora vi spiego il perché. ho dovuto aggiungere una serie di 0 perché altrimenti non sarei stato in grado di far compare un iframe per un parametro troppo piccolo. ( non chiedetemi il perché ma con un solo carattere l'iframe non andava.)

    il fatto sta che dopo che l'iframe fa quello che deve fare il sito targhe mi rispedisce questo valore (000002) e io per elaborare l'incremento di punti devo operare su valore (2)

    solo che ho provato a cercare in giro ma non sono riuscito a trovare nulla che mi spiegasse come far a cancellare (con php) i primi 5 caratteri della sequenza.

    potete aiutarmi?

    vi posto la pagina php che opera la ricezione del valore e la funzione che aumenta i punti.

    Codice PHP:
    <?
    // Optionally verify HMAC signature

    // Optionally verify sender's IP address

    // If all is ok, now respond to the notification:

    // read whatever parameters you need from the request
    $order_id = $_REQUEST['oid']; // optional
    $sid = $_REQUEST['user']; // optional
    $reward_amount = $_REQUEST['reward_amount'];

    //$errors = ...; // check to see if there are errors

    if ($errors) { // example of how to report an error
    // This will alert TrialPay Customer Service automatically:
    header("HTTP/1.0 400 Bad Request");
    // Also return this human-readable error message
    // so that TrialPay Customer Service can track down the issue:
    echo "The specified sid is invalid"; // example error message
    exit;
    }

    // no errors. so activate the customer at your end

    // Now let know that everything is ok.
    // Must return a non-empty response.
    // Otherwise, will treat this notification as an error:
    echo "1"; // Alternatively, you may return your unlock code, or activation code here
    // if you returned your unlock code above, it will be delivered to your customer

    /**
    * Add points to user by request get of trialpay
    */




    /**
    * @ignore
    */
    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include(
    $phpbb_root_path . 'common.' . $phpEx);
    include(
    $phpbb_root_path . 'includes/functions_user.' . $phpEx);
    include(
    $phpbb_root_path . 'includes/functions_module.' . $phpEx);
    include(
    $phpbb_root_path . 'includes/functions_display.' . $phpEx);
    include(
    $phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->add_lang('point_tp');
    $user->setup();
    if (
    $user->data['user_id'] == ANONYMOUS)
    {
    login_box('', $user->lang['LOGIN']);
    }


    display_forums('', $config['load_moderators']);

    // Exclude Bots
    if ($user->data['is_bot'])
    {
    redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
    }

    // FUNZIONE AGGIUNGI PUNTI

    function add_points_by_tp ($user_id, $amount, $sid)
    {
    global
    $db, $user;

    // Select users current points
    $sql_array = array(
    'SELECT' => 'user_points',
    'FROM' => array(
    USERS_TABLE => 'u',
    ),
    'WHERE' => 'user_id = ' . (int) $user,
    );
    $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 + reward_amount
    WHERE user_id = '
    . (int) $user;
    $db->sql_query($sql);

    return;
    }


    // Output page
    page_header($user->lang['POINT_TP']);



    $template->set_filenames(array(
    'body' => 'point_tp.html')
    );

    page_footer();

    ?>
    grazie a tuttiiiiiiiii

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

    Predefinito

    Dovresti castarlo a int:

    Codice PHP:
    echo (int)$variabile;

  3. #3
    Guest

    Predefinito

    castarlo è un termine tecnico?
    tanto per sapere e cercare su internet. trovo come usare la funzione.

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

    Predefinito

    vedi qui. Comunque ti ho fatto l'esempio sopra.

    Ciao!

  5. #5
    Guest

    Predefinito

    Grazieeee

    quindi scusa il botta e risposta.

    quindi dovrei fare cosi:

    data questa variabile:

    Codice PHP:
    $sid
    Codice PHP:
    <?php
    $sid
    = (int) ( ($sid/000001 );

    ?>

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

    Predefinito

    teoricamente, dividendo $sid, dovrebbe esser già un int, quindi non ci sarebbe bisogno del cast. Hai provato? Cosa succede?

    p.s: perché dividi per 1? (potrebbe esser un modo per evitare il cast).

    Ciao!
    Ultima modifica di alemoppo : 15-11-2012 alle ore 15.33.13

  7. #7
    Guest

    Predefinito

    no ancora non ho provato,

    divido per 000001 in modo che 00000x diventi x e basta.

    perchè come ho già detto ho dovuto modificare la variabile da ID a 00000ID e io poi devo riottenere l'ID

  8. #8
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Dividere per 000001 è uguale a dividere per 1 perché, come è ben noto, gli zeri davanti a un numero non contano xD

    Cmq ho già provato io: Dividere per 1 NON evita il cast, anzi il quoziente di una divisione è considerato un float. Lo so perché ho avuto problemi a gestire gli indici (interi) per un vettore, generati appunto da una divisione, e ho dovuto fare il cast a intero.
    Per sicurezza è sempre meglio fare il cast :D
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  9. #9
    Guest

    Predefinito

    scusate ma non ci sto capendo più nulla!

    dovrei fare una cosa del genere!? http://www.phpro.org/tutorials/PHP-T...sting.html#3.2

  10. #10
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Citazione Originalmente inviato da bannersbrokermania Visualizza messaggio
    scusate ma non ci sto capendo più nulla!

    dovrei fare una cosa del genere!? http://www.phpro.org/tutorials/PHP-T...sting.html#3.2
    ooooh yeeeeea
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

Regole di scrittura

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