Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2007, 06:09
Avatar de elfran222
elfran222
 
Fecha de Ingreso: junio-2006
Mensajes: 550
Antigüedad: 17 años, 10 meses
Puntos: 7
Pregunta Ayuda con Aplicación de Micropagos

Buenas, he contratado un sistema de micropagos con SoyDigital. Me enviaron el siguiente email:
Cita:
Buenas tardes, ya está modificado el evento EVENTO en el 7505.
Adjunto ficheros de la demo de Micropagos.
Ruta del script: http://www.DOMINIO.COM/micropagos/procesa.php
Las variables que recibe son: evento, movil, texto, fecha, operadora, clave.

- conf.inc.php : fichero de configuración, debes poner el acceso a la base de datos y es donde puedes modificar los mensajes de respuesta al usuario y el tiempo de validez
- contenido.html : contiene el código a poner en la página a proteger
- procesa.php : script que procesa las variables, contiene la function que genera la clave
- SD_micro_auth.php : fichero de autentificación
- SD_micro_sms.sql : estructura de la tabla que debes crear en la base de datos

1.- Crea la tabla en la base de datos
2.- Pon los datos correctos en el fichero conf.inc.php
3.- Sube todos los ficheros, excepto SD_micro_sms.sql, a http://www.DOMINIO.COM/micropagos/
4.- Comprueba que el acceso realmente está restringido intentando acceder a http://www.DOMINIO.COM/micropagos/contenido.html
5.- Pon el código de contenido.html en la página que quieras proteger, el código que está entre <?php y ?>, ambos incluidos. Lo más seguro es que debas modificar la ruta del fichero que va a buscar dependiendo del directorio donde esté la página restringida; si está en la raiz del sitio, sería: require_once ("micropagos/SD_micro_auth.php");
6.- Una vez compruebes que está todo correcto, puedes eliminar del server contenido.html
--
Me quede por el paso 5, por que no entiendo donde poner eso de "("micropagos/SD_micro_auth.php")"


Y tambien, quiero saber como hacer que le responda con un SMS al instante dandole un codigo. Ese codigo estará en un TXT y en ese TXT habrá un monton de codigos que lo que tiene que hacer es decir uno de entre todos esos codigos aleatorios y a su vez que el digo que envio, sea borrado del TXT para que no se pueda volver a repetir (Digo TXT, pero el formato no tengo ningun problema por que cambie).

A continuación, os posteo el codigo de los archivos que me pasaron:
Cita:
Iniciado por conf.inc.php
<?
/***
@file conf.inc.php
@author SoyDigital
@creation date Agosto 2004
@modification date Julio 2007 (códigos de cada operadora, variables de tiempo y mensajes)
@version Micropagos 2.1
@email [email protected]
***/

/***
En este fichero se almacenan los valores de la variables a utilizar
***/

/***
Definicion de variables de la base de datos
***/
$AUTHDB_SERVER = "localhost"; //servidor
$AUTHDB_USER = "USUARIO_BDD"; //usuario
$AUTHDB_PASSWD = "CONTRASEÑA_USER_BDD"; //password
$AUTHDB_NAME = "NOMBRE_BDD"; //nombre de la base de datos

/***
Definicion de variables de autenticación de usuario
***/
$AUTHUSER_TABLE = "SD_micro_sms";
$AUTHUSER_LOGIN = "movil";
$AUTHUSER_PASSW = "clave";
$AUTHUSER_DATA_INI = "fecha_inicio";
$AUTHUSER_DATA_FI = "fecha_fin";
$AUTHUSER_DATA_INSERT = "fecha_insert";

/***
Definicion de variables de la tabla
***/
$TB = "SD_micro_sms";
$TB_ID = "id";
$TB_MOVIL = "movil";
$TB_CLAVE = "clave";
$TB_FECHA_INICIO = "fecha_inicio";
$TB_FECHA_FIN = "fecha_fin";
$TB_FECHA = "fecha_insert";
$TB_OPERADORA = "operadora";
$TB_EVENTO = "evento";

/***
Pasamos a texto el código de cada operadora y pasamos variable
***/
$oper = $_POST['operadora'];
switch ($oper) {
case 1:
$oper = "Movistar";
break;
case 2:
$oper = "Vodafone";
break;
case 3:
$oper = "Orange";
break;
case 9:
$oper = "Euskaltel";
break;
case 10:
$oper = "Yoigo";
}

/***
Tiempo en minutos de validez de usuario/clave para acceder
***/
$MIN = "30";

/***
Mensajes (los sms recibidos por el usuario no deben superar los 160 caracteres)
***/
$AUTHDB_ERROR_MSG = "ERROR: Password incorrecto!"; //error al autenticar
$OK_MSG = "Gracias por utlizar nuestros servicios. Tus datos son:"; //mensaje que se envía al usuario con sus datos de acceso
$ERROR_MSG = "Ha ocurrido un error, contacte con el administrador."; //mensaje de error que se envía al usuario
$VAR_EMPTY_MSG = "Las variables están vacías. Contacte con el administrador."; //en caso de llegar las variables vacías
Cita:
Iniciado por contenido.html
<?php
//libreria de autenticación
require_once ("SD_micro_auth.php");
$a = new AuthUser ($PHP_AUTH_USER, $PHP_AUTH_PW);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Sistema Micropagos</title>
</head>

<body>
Correcto!!
</body>
</html>
Cita:
Iniciado por procesa.php
<?
/***
@file procesa.php
@author SoyDigital
@creation date Agosto 2004
@modification date Julio 2007 (variable de tiempo y mensajes)
@version Micropagos 2.1
@email [email protected]
***/

/***
Guarda los nuevos datos llegados por POST en la base de datos
***/

/***
Se requiere el fichero de configuracion
***/
require_once "conf.inc.php";

/***
Comprobar si hay variables
***/
if (isset($_POST['movil'])){

//variables recibidas
$var_movil = $_POST['movil'];
$var_clave = $_POST['clave'];
$var_fecha = $_POST['fecha'];
$var_operadora = $_POST['operadora'];
$var_evento = $_POST['evento'];

$tact = time();
$var_fecha_inicio = date("Y-m-d H:i:s",$tact);
$var_fecha_fin = date("Y-m-d H:i:s",mktime(date ("H",$tact),(date ("i",$tact)+$MIN),date ("s",$tact),date ("m",$tact),date ("d",$tact),date ("Y",$tact)));

//conexion a la base de datos
$conn = mysql_connect($AUTHDB_SERVER,$AUTHDB_USER,$AUTHDB_ PASSWD) or die ("Connect DB Failed");
$DB = mysql_select_db($AUTHDB_NAME, $conn) or die ("Select DB failed");

//consulta de inserción
$sql = "Insert Into $TB ($TB_MOVIL,$TB_CLAVE,$TB_FECHA_INICIO,$TB_FECHA_FI N,$TB_FECHA,$TB_OPERADORA,$TB_EVENTO) Values('$var_movil','$var_clave','$var_fecha_inici o','$var_fecha_fin','$var_fecha','$var_operadora', '$var_evento')";

//la consulta de inserción se ejecuta o da error
$res = mysql_query($sql) or die("Fallo consulta de insercion: ". mysql_error());

//consulta última inserción
$sql2 = "Select Max($TB_ID) AS id From $TB";

//la consulta de selección de última se ejecuta o da error
$res2 = mysql_query($sql2) or die("Fallo consulta de seleccionar ultima: ". mysql_error());

//obtenemos el id
$row2 = mysql_fetch_array($res2);
$var_id = $row2[id];

//consulta de selección
$sql3 = "Select * From $TB Where $TB_ID=$var_id";

//la consulta de seleccion se ejecuta o da error
$res3 = mysql_query($sql3) or die("Fallo consulta de seleccion: ". mysql_error());

//se guardan los datos en un array y se imprime si es TRUE, error si es FALSE
$row3 = mysql_fetch_array($res3);
if ($row3 != NULL) {
$respuesta = $OK_MSG." user: ".$row3[$TB_MOVIL]." y pass: ".$row3[$TB_CLAVE];
echo $respuesta;
}else {
$respuesta = $ERROR_MSG;
echo $respuesta;
}

//cierra la conexión a la base de datos
mysql_close($conn);

/***
Las variables están vacías
***/
}else{
$respuesta = $VAR_EMPTY_MSG;
echo $respuesta;
}
?>

Última edición por elfran222; 16/07/2007 a las 06:14