- Home
- Categorie
- Coding e Sistemistica
- PHP
- Script per cambiare livello utente
-
Script per cambiare livello utente
Salve a tutti, avrei bisogno di uno script per cambiare il livello utente in automatico, quando l'utente ha pagato.
Ovvero : ho un sito per adulti, ( che utilizza dolphin come cms) ed in romania il 90% degli utenti preferisce pagare tramite SMS. Cosa succede, quando l'utente invia un sms al numero speciale, riceve un codice. Questo codice deve inserirlo in un campo del sito.
Se il codice e' corretto il suo livello di utente passa da standar a gold.La parte dello script di verifica del codice l'ho fatto, se il codice e' corretto ho il messaggio " codice valido" altrimentri " codice invalido".
Ora pero' non so come fare per gestire il livello di utente, tenendo presente che deve settare anche un lasso di tempo ( 1 mese) di validita'.
Il sistema ha gia' di base la funzione, utilizzando pero' Paypal, o 2checkout ed altri...Se qualcuno mi potesse aiutare ne sarei grato !
Scusate per il lungo post... Ciao e grazie.
-
Ciao stedracu.
Dovresti includere nello script quanto già avviene tramite Paypal, ovvero aggiornare lo stato ed inserire la data di inserimento del codice.
Non so come sia strutturato il Db, ma credo che andando a vedere i file che gestiscono il ritorno da Paypal a pagamento effettuato dovresti trovare le righe già bell'e pronte da replicare nello script dell'inserimento codice manuale.
Ipotizzando che sulla tabella user esistano due campi: *status *(dove 1 è standard e 2 è gold) ed un campo *timestatus *(dove memorizzi il timestamp dell'inserimento del codice) uscira fuori una cosa del genere:
[php]$time=time();
$sql="UPDATE user SET status='2' AND timestatus='$time'";
$query=@mysql_query($sql) or die (mysql_error());
[/php]Ovviamente questo pezzo andrà eseguito solo dopo aver fatto le verifiche del caso.
-
Ciao, grazie per il codice...
provero' a capirci qualcosa... e' da 4 giorni che ci smanetto... ma non conoscendo il linguaggio.... eh eheSe ne esco lo faro' sapere.
Ciao.
-
Ciao, son riuscito a farlo funzionare, grazie per l'aiuto...
Ma avrei ancora una domanda, come faccio a fare :se datascadenza e' superiore o uguale a dataodierna, aggiungi a datascadenza 30 giorni, altrimenti aggiungi a data odierna 30 giorni ....
Esiste un comando per questo confronto ?
Grazie mille....
-
Si, certo che è possibile.
Farai prima una selezione per estrarti il campo datascadenza relativo all'id utente e confrontarlo, appunto con la data :
[php]$sql="SELECT datascadenza FROM nome_tabella WHERE id='$id'";
$query=@mysql_query($sql) or die (mysql_error());$scad=mysql_result ($query, 0);
$time=time();if ($scad>$time)
{
$sql="UPDATE nome_tabella SET datascadenza='".$scad+30."' WHERE id='$id'";
}
else
{
$sql="UPDATE nome_tabella SET datascadenza='".$time+30."' WHERE id='$id'";
}
$query=@mysql_query($sql) or die (mysql_error());
[/php]:)Edit: Sto dando per scontato che le date siano memorizzate in formato timestamp.
-
Ops!
-
Ciao, spulciando qua' e la' ho trovato questa funzione e sembra che vada bene :
UPDATE
ProfileMemLevels
SET
DateExpires
= if(DateExpires >= now(), DateExpires + interval 30 day, now() + interval 30 day)
WHEREProfileMemLevels
.IDMember
= $memberIDOvviamente ora faro' una serie di prove, sia con questa che con la tua soluzione.
Grazie comunque per la tua celere risposta.
-
La funzione va benissimo, usa pure quella dato che l'hai già in script.