Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/07/2013, 17:41
FFreddyy
 
Fecha de Ingreso: enero-2009
Mensajes: 56
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Como guardar datos de usuario administrador de la BD de mi aplicacion

El formulario ( Templates/installationForm.tpl.php ) contiene el siguiente código:

Código:
  
  1 <html> 
  2 
  3 <body>
  4 
  5     <!--:Errors-->
  6 
  7 <form action='Install.php' method='POST' name='FormularioInstalacion'>
  8 
  9     Data base Name:
 10         <input type="text" name="DBName"/><br/>
 11     Host IP:
 12         <input type="text" name="DBHost"/><br/>
 13     Data base user name:
 14         <input type="text" name="DBUserName"/></br>
 15     Data base user pass:
 16         <input type="text" name="DBUserPass"/></br>
 17 
 18         <input type="hidden" value="true" name="submitVerifier"/>
 19 
 20     <input type="submit"/>
 21 </form>
 22 
 23 </body>
El script que procesa el formulario es el siguiente:
Código PHP:
  1 <?php
  2     
/**
  3      * Inicializa el chat.
  4      * 
  5      * Desplega un formulario donde se ingresan los distintos parámetros de 
  6      * configuración correspondientes al servidor y crea el archivo 
  7      * datosSrv.inc.php con dichos. Ej usuario y contraseña
  8      * de la base de datos, nombre de la base de datos a usar y host.
  9      */
 
10 
 11     
/**
 12      * Importa la clase Chat.
 13      */
 
14     include_once( 'Chat/Chat.php' );
 
15 
 16     
/**
 17      * Ubicación del formulario de instalación
 18      * @var string
 19      */
 
20     $archivoFormInst='Templates/installationForm.tpl.php';
 
21 
 22     
/**
 23      * Ubicacion del template con los errores producidos
 24      * @var string
 25      */
 
26     $fileErrorTemplate='Templates/installationFormErrors.tpl.php';
 
27 
 28 
 29     
/**
 30      * Array que contiene los datos incorrectos.
 31      * @var array
 32      */
 
33     $datosIncorrectos=Array();
 
34 
 35 
 36     
/* Verifica si la actual llamada al script es enviada desde el formulario 
 37      * para procesar los datos ingresados o fue realizada para imprimir dicho
 38      * formulario, en este caso, imprime el formulario y termina la ejecución.
 39      */
 
40     if( !array_key_exists'submitVerifier' $_POST ) ){
 
41         echo file_get_contents$archivoFormInst );
 
42         exit;
 
43     }
 
44 
 45     
/*  Verifica el nombre de base de datos ingresado, en caso de ser incorrecto
 46      *   escribe un nuevo campo en el array datos incorrectos con el campo
 47      *  "Nombre de base de datos".
 48      */
49     if (!array_key_exists'DBName'$_POST ) ||
 
50                     empty( $_POST ['DBName'] )  ){
 
51         $datosIncorrectos[]= 'No se ingreso un nombre de la base de datos';
 
52     }
 
53 
 54 
 55     
/*  Verifica el nombre de usuario de la base de datos ingresado, en caso de 
 56      *  ser incorrecto escribe un nuevo campo en el array datos incorrectos con 
 57      *  el campo "No se ingreso un nombre de usuario de la base de datos".
 58      */
 
59     if (!array_key_exists'DBUserName'$_POST ) ||
 
60             empty( $_POST ['DBUserName'] )  ){
 
61         $datosIncorrectos[]= "No se ingreso un nombre de usuario de la base de datos";
 
62     }
 
63 
 64 
 65     
/*  Verifica el formato del host ingresado, en caso de ser incorrecto
 66      *  escribe un nuevo campo en el array datos incorrectos con el campo  
 67      *  "La IP de host es incorrecta".
 68      */
 
69     if (!array_key_exists'DBHost'$_POST ) ||
 
70             empty( $_POST ['DBHost'] ) ||
 
71             !preg_match"/^((2[0-5][0-9])|(1?[0-9]?[0-9]))(\.((2[0-5][0-9])|(1?[0-9]?[0-9]))){3}$/"$_POST'DBHost' ] )  ){
 
72         $datosIncorrectos[]= "La IP de host es incorrecta.";
 
73     }
 
74 
 75 
 76     
/*  Si no se encontraron errores ( count( $datosIncorrectos ) = 0 ) 
 77      *  y se verifica la conexion a la base de datos se inicializa el creando
 78      *  la correspondiente tabla en la base de datos y definiendo el archivo 
 79      *  con los datos de conexión.
 80      */
 
81     if( count$datosIncorrectos ) == ){
 
82 
 83         $dsn
"mysql:dbname={$_POST[ 'DBName' ]};host={$_POST[ 'DBHost' ]}";
 
84         try{
 
85             $pdoConnection= @new PDO$dsn$_POST'DBUserName' ] ,
 
86                 $_POST'DBUserPass'] );
 
87 
 88             
/* Si la conexión se realizó correctamente, defino el archivo 
 89              * datosSrv.inc.php y crea la tabla que utilizará el chat.
 90              */
 
91 
 92              $newChat
= new Chat();
 
93 //Definicion del archivo de conexión
 
94 
 95              header
'location: Templates/operationComplete.tpl.php' );
 
96 
 97         
}catch( PDOException $e ){
 
98             $datosIncorrectos[]="No es posible la conexion con la base de datos, alguno de los datos ingresados son incorrectos.";
 
99         }catch( Exception $e ){
100             echo $e;
101         }
102     }
103 
104 
105     
/*  Si se encontraron errores imprime en pantalla el formulario de
106      *  instalación con la información de cada errory elimina los campos 
107      *  reservado a errores no asignados del formulario.
108      */
109     if( count$datosIncorrectos ) != ){
110         $formulariofile_get_contents$archivoFormInst );
111         $errorTplfile_get_contents$fileErrorTemplate );
112         foreach( $datosIncorrectos as $valor ){
113             $formulario str_replace"<!--:Errors-->",
114             "<!--:Errors-->".str_replace"<!--:ErrorMsg-->"$valor$errorTpl )
115             $formulario );
116         }
117 
118         
echo $formulario;
119     }
El archivo se definiría en la linea 93. La idea sería un archivo con un formato similar a:

Código:
usuarioAdministradorDeLaBD
contraseñaDelUsuarioAdministrador
nombreDeLaBaseDeDatos
host
Esos son los datos necesarios para que el sistema se pueda conectar a la base de datos y funcione correctamente.