Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

gift.php e scegliRegalo.php: scegliamo il regalo

Creiamo lo script che ci permetterà di scegliere tra una lista di regali virtuali quello da mandare al contatto precedentemente selezionato
Creiamo lo script che ci permetterà di scegliere tra una lista di regali virtuali quello da mandare al contatto precedentemente selezionato
Link copiato negli appunti

Il file gift.php

Abbiamo bisogno ora di un modo per tener traccia di tutti i regali che possiamo inviare con la nostra applicazione. Se il numero di regali fosse grande, si potrebbe pensare ad un database per meglio gestire il tutto. Nel nostro caso le dimensioni sono abbastanza esigue ed utilizzeremo un semplice array bidimensionale. L'array lo chiameremo $regalo e per ogni elemento ci saranno due campi img e msg. Il primo conterrà il nome dell'immagine corrispondente al regalo, il secondo una breve descrizione testuale. Il tutto verrà salvato per comodità in gift.php:

<?
$regalo[0]['msg'] = 'una birra gelata';
$regalo[0]['img'] = 'birra.png';
// ...
$regalo[35]['msg'] = 'una vacanza alle Maldive';
$regalo[35]['img'] = 'maldive.png';
?>

Il file scegliRegalo.php

Anche questa script è abbastanza semplice. Tutto quello che ci servirà fare sarà: caricare la lista dei regali, ricavare lo uid (il destinatario del regalo) passato dalla pagina index.php, capire qual è il regalo scelto e inviare queste informazioni alla pagina successiva, conferma.php.

Le prime righe dello script sono praticamente identiche ad index.php, salvo per l'import del file gift.php:

<?
require_once '../fb_engine/php/facebook.php';
require_once 'gift.php';
$appapikey = 'MIO_API_KEY';
$appsecret = 'MIO_API_SECRET';
$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();
// ...

Creeremo poi un nuovo form, all'interno del quale ci sarà un campo nascosto, tale campo conterrà il valore dello uid destinatario del regalo ($_GET['uid']) che verrà inviato al file conferma.php insieme all'id del regalo che sceglieremo.

// ...
echo "<form name='utenti' action='conferma.php' type='GET'>";
echo "<input type='submit' value='Invia' />";
// ...
echo "<input type='hidden' name='uid' value='".$_GET['uid']."' />";
// ...

Anche stavolta abbiamo bisogno di un ciclo for, capace di iterare sull'intera lista dei regali e mostrarli. Ognuno di questi regali deve essere ovviamente selezionabile, ragion per cui ognuno di essi sarà associato ad un radio button:

// ...
for ($i=0; $i<sizeof($regalo); $i++)
{
    // ...
    echo "<input type='radio' name='gid' value='".$i."' /><br />";
    echo "<img src='http://www.miohost.it/img/".$regalo[$i]['img']."' height='128px' width='128px' alt='".$regalo[$i]['msg']."'/>";
    // ...
}
// ...

Il ciclo for anche in questo caso è molto semplice, parte impostando a 0 la variabile contatore $i e arriva fino all'ultimo regalo, con la variabile $i uguale a 35. Passando quindi $i come parametro al campo value del radio button avremo un modo per identificare univocamente il regalo scelto dall'utente.

Successivamente il tag img sarà usato per mostrare uno dopo l'altro tutti i regali presenti in gift.php, anche questo sarà all'interno del for in modo da poter utilizzare ancora la variabile contatore $i.

Quello che segue è il codice completo del file scegliRegalo.php:

<?
// importa la libreria fb
require_once '../fb_engine/php/facebook.php';
// importa tutti i regali
require_once 'gift.php';
$appapikey = 'MIO_API_KEY';
$appsecret = 'MIO_API_SECRET';
// crea un'istanza della libreria
$facebook = new Facebook($appapikey, $appsecret);
// richiedi sempre il login
$user_id = $facebook->require_login();
echo "<h2><fb:application-name linked='false'/></h2>";
echo "<h4>Ora scegli che regalo desideri inviare:</h4><br />";
// crea form e table
echo "<form name='utenti' action='conferma.php' type='GET'>";
echo "<table width='100%'>";
// cliccando questo tasto si verrà portati alla pagina conferma.php
echo "<input type='submit' value='Invia' />";
// in questo campo di appoggio sarà memorizzato lo uid dell'amico
// precedentemente selezionato. Questo verrà passato insieme al regalo
// scelto alla pagina conferma.php
echo "<input type='hidden' name='uid' value='".$_GET['uid']."' />";
// mostra tutti i regali presenti in gift.php
for ($i=0; $i<sizeof($regalo); $i++)
{
    // inizia nuova riga
    if ($i%5==0)
        echo "<tr>";
    echo "<td>";
    echo "<div align='center'>";
    echo "<input type='radio' name='gid' value='".$i."' /><br />";
    echo "<img src='http://miohost.it/img/".$regalo[$i]['img']."' height='128px' width='128px' alt='".$regalo[$i]['msg']."'/>";
    echo "</div>";
    echo "</td>";
    // chiudi riga precedentemente aperta
    if ($i%5==4)
        echo "</tr>";
}
// chiudi table e form
echo "</table>";
echo "</form>";
?>


Ti consigliamo anche