La classe YIIListener
Array<?phpArrayrequire_once 'IPNListener.php';ArrayArrayclass
YIIListener extends IPNListenerArray{Array protected
$conn;Array
Pagina 2 di 6
Ora sviluppiamo un piccolo metodo grazie al quale otterremo una password casuale
da attribuire al nuovo utente.
Come vedi con questo metodo andiamo a scegliere 10 caratteri casuali compresi tra
Pagina 3 di 6
Siamo così giunti alla definizione dell'ultimo metodo (insertNewUser) che, dopo aver
verificato la bontà della notifica, procederà all'inserimento del nuovo utente nel
database ed all'invio dell'email con i dati di autenticazione.
(nome,cognome,email,username,password,idTransazione)Array
VALUES
('$_POST[first_name]','$_POST[last_name]','$_POST[payer_email]
','$_POST[payer_email]','$md5password','$_POST[txn_id]')";Arra
yArray mysql_query($sql,$this->conn);Array
$this->sendLoginData($password);Array }Array}Array
Non ci resta che instanziare la classe ed invocare questo ultimo metodo. Il risultato
finale sarà questo:
Array<?phpArrayrequire_once 'IPNListener.php';ArrayArrayclass
YIIListener extends IPNListenerArray{Array protected
$conn;ArrayArray protected function
isVerifiedAmmount()Array {Array
if($_POST['mc_gross'] == AMMOUNT)Array {Array
return TRUE;Array }ArrayArray
return FALSE;Array }ArrayArray protected
function isNotProcessed()Array {Array
$this->dbConnect();Array $sql = "SELECT * FROM
utenti WHERE idTransazione='$_POST[txn_id]'";Array
$res = mysql_query($sql, $this->conn);Array
if(mysql_num_rows($res))Array {Array
return FALSE;Array }Array return
TRUE;Array }ArrayArray protected function
dbConnect()Array {Array $this->conn =
@mysql_connect(HOST,DB_USER,DB_PASSWORD) OR die();Array
@mysql_select_db(DB_NAME,$this->conn) OR die();Array
}ArrayArray protected function getRandPassword()Array
Pagina 5 di 6
Conclusione
Pagina 6 di 6
Se hai seguito correttamente gli articoli fino ad ora, il tuo sistema di pagamento
dovrebbe funzionare senza problemi. Potrai eseguire il pagamento con l'utente
utente ed il tutto dovrebbe funzionare. Dovrebbe. Nel prossimo articolo
procederemo quindi ad un'accurata sessione di test.
Fino ad ora é tutto chiaro? Sei riuscito a seguire e a comprendere i vari passaggi
anche se oggettivamente complessi?
1. Preparazione
2. Chiarirsi le idee
3. Le procedure generali
4. Le procedure specifiche
5. Testare l'applicazione
6. Creare dinamicamente i pulsanti di pagamento