Hi i have thinked of that if its possible to make sms payment so the members can update their account? im registerd on a sms software that u can take donation and other stuffs with sms and u'll get a gateway and a revice script ect ect. But it is possible that when the user are sending away the sms, they will recive an code and they need to confirm that code on the site (all this in php). But when they are printing the code and get the clear of that code was corrent it will update their account for 30 days? is this possible and how will u fix this?
here the script for the confirm page:
// Definiera konstanter för databasanslutning
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'database_user';
$MYSQL_PASSWORD = 'database_password';
$MYSQL_DATABASE = 'database';
// Definiera koders livslängd, i sekunder
$CODE_LIFETIME = 24*60*60;
// Definiera vilken sida/adress man hamnar på vid godkänd kod
$LOCATION = 'http://www.domain.com';
// Definiera felmeddelande
$ERROR_MSG = 'Error Wrong Code/Felaktig kod.<br>';
// Stäng av PHP:s felrapportering
error_reporting(0);
// Anslut till databasen/Connect
mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);
mysql_select_db($MYSQL_DATABASE);
// Användaren tryckte på login-knappen
if ( isset($_REQUEST['submit']) ) {
// Radera utnyttjade koder som är äldre än $CODE_LIFETIME
mysql_query('DELETE from smspay WHERE (used=1) AND (tstamp-now()+'
. $CODE_LIFETIME . ' < 0)');
// Kontrollera om koden är giltig (plocka också ut eventuell 'used'-flagga)
$res = mysql_query('SELECT used FROM smspay WHERE code="'
. addslashes($_REQUEST['kod']) . '"');
// Kod fanns i DB
if ( mysql_num_rows($res) > 0 ) {
// Om det är första gången koden används (used=0) - påbörja nedräkning
if (mysql_result($res,0,0) == '0') {
mysql_query('UPDATE smspay SET used=1, tstamp=now() WHERE code="'
. addslashes($_REQUEST['kod']) . '"');
}
// Skicka användaren till $LOCATION
header('location: ' . $LOCATION); exit();
// Kod fanns ej i DB, sätt felmeddelande
} else {
$error = $ERROR_MSG;
}
}
?>
<html>
<? if (isset($error)) echo $error; ?>
<form action="login_pay.php">
Kod: <input type="text" name="kod"><br>
<br>
<input type="submit" name="submit" value="Login">
</form>
</html>
I have worked litle on the script to update but dont know if this could work? take a look please.
// Om det är första gången koden används (used=0) - påbörja nedräkning
if (mysql_result($res,0,0) == '0') {
mysql_query('UPDATE smspay SET used=1, tstamp=now() WHERE code="'
. addslashes($_REQUEST['kod']) . '"');
mysql_query('UPDATE vip SET vip=1, tstamp=now()+30 where userid=$_GET['userid']');
}