Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/05/2011, 17:18
Pelayo95
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Error con ")"

Código PHP:
Ver original
  1. <?php
  2.  
  3. //Si el archivo config.php existe significa que el sistema ya fue instalado
  4. if (file_exists("config.php")){
  5.     die("<strong>El sistema ya esta instalado</strong>");
  6. }
  7.  
  8. //Si se envió el formulario comprobamos que todos los campos estén rellenos
  9. if ($_POST['submit']){
  10.     if (empty($_POST["db-host"])){
  11.         echo "Debes de rellenar el campo 'Host de la base de datos'<br />";
  12.         $return = 1;
  13.     }
  14.     if (empty($_POST["db-name"])){
  15.         echo "Debes de rellenar el campo 'Nombre de la base de datos'<br />";
  16.         $return = 1;
  17.     }
  18.     if (empty($_POST["db-user"])){
  19.         echo "Debes de rellenar el campo 'Usuario de la base de datos'<br />";
  20.         $return = 1;
  21.     }
  22.     if (empty($_POST["db-pass"])){
  23.         echo "Debes de rellenar el campo 'Contraseña de la base de datos'<br />";
  24.         $return = 1;
  25.     }
  26.     if (empty($_POST["admin-name"])){
  27.         echo "Debes de rellenar el campo 'Usuario'<br />";
  28.         $return = 1;
  29.     }
  30.     if (empty($_POST["admin-pass"])){
  31.         echo "Debes de rellenar el campo 'Contraseña'<br />";
  32.         $return = 1;
  33.     }
  34.     if (empty($_POST["admin-email"])){
  35.         echo "Debes de rellenar el campo 'Correo Electrónico'<br />";
  36.         $return = 1;
  37.     }
  38.     if ($_POST["admin-pass"] != $_POST["admin-2pass"]){
  39.         echo "Las Contraseñas de usuario no coinciden<br />";
  40.         $return = 1;
  41.     }
  42.  
  43.     //En el caso de que algún campo no este relleno no se continua con la instalación
  44.     if (isset($return)){
  45.         echo "<br /><br /><a href=\"install.php\">Volver al Formulario</a>";
  46.     } else {
  47.         echo "Comenzando Instalación<br />";
  48.  
  49.         //Conectamos con la base de datos que el usuario nos ha proporcionado
  50.         $con=mysql_connect($_POST["db-host"],$_POST["db-user"],$_POST["db-pass"]);
  51.         mysql_select_db($_POST["db-name"],$con);
  52.         if (!$con){
  53.             die("No se puede establecer conexión con la base de datos, por favor comprueba los datos. <br /><br /><a href=\"install.php\">Volver al Formulario</a>");
  54.         }
  55.  
  56.         //Definimos las tablas en un array(), creamos roles básicos y usuario admin
  57.         $db_tables = array(
  58.         "CREATE TABLE IF NOT EXISTS `ta_pedido_p` (
  59.  `id_pedido_p` int(10) unsigned NOT NULL auto_increment,
  60.  `id_pedido` int(11) unsigned NOT NULL default '0',
  61.  `id_producto` int(11) unsigned NOT NULL default '0',
  62.  `nombre` varchar(120) collate latin1_spanish_ci NOT NULL default '',
  63.  `clase` varchar(60) collate latin1_spanish_ci NOT NULL default 'Verduras',
  64.  `unidad` varchar(60) collate latin1_spanish_ci NOT NULL default 'Kilo',
  65.  `precio` int(11) NOT NULL default '1500',
  66.  `cantidad` double NOT NULL default '0',
  67.  `subtotal` double NOT NULL default '0',
  68.  PRIMARY KEY  (`id_pedido_p`),
  69.  KEY `ix_pedido_producto` (`id_pedido`,`id_producto`)
  70. )",
  71.         "CCREATE TABLE IF NOT EXISTS `ta_producto` (
  72.  `id_producto` int(11) unsigned NOT NULL auto_increment,
  73.  `nombre` varchar(120) collate latin1_spanish_ci NOT NULL default '',
  74.  `clase` varchar(60) collate latin1_spanish_ci NOT NULL default 'Verduras',
  75.  `unidad` varchar(60) collate latin1_spanish_ci NOT NULL default 'Kilo',
  76.  `precio` int(11) NOT NULL default '1500',
  77.  `activo` char(1) collate latin1_spanish_ci NOT NULL default 'S',
  78.  PRIMARY KEY  (`id_producto`),
  79.  KEY `nombre` (`nombre`,`clase`,`activo`)
  80. )",
  81.         "CREATE TABLE IF NOT EXISTS `ta_receta` (
  82.  `id_receta` int(11) unsigned NOT NULL auto_increment,
  83.  `titulo` varchar(255) collate latin1_spanish_ci NOT NULL default '',
  84.  `tituloi` varchar(255) collate latin1_spanish_ci NOT NULL default '',
  85.  `ingredi` text collate latin1_spanish_ci NOT NULL,
  86.  `elabora` text collate latin1_spanish_ci NOT NULL,
  87.  `imagen` varchar(255) collate latin1_spanish_ci NOT NULL default '',
  88.  `activo` char(1) collate latin1_spanish_ci NOT NULL default 'S',
  89.  PRIMARY KEY  (`id_receta`)
  90. )",
  91.         "CREATE TABLE IF NOT EXISTS `ta_receta_desa` (
  92.  `id_receta` int(11) unsigned NOT NULL auto_increment,
  93.  `titulo` varchar(255) collate latin1_spanish_ci NOT NULL default '',
  94.  `tituloi` varchar(255) collate latin1_spanish_ci NOT NULL default '',
  95.  `ingredi` text collate latin1_spanish_ci NOT NULL,
  96.  `elabora` text collate latin1_spanish_ci NOT NULL,
  97.  `imagen` varchar(255) collate latin1_spanish_ci NOT NULL default '',
  98.  `activo` char(1) collate latin1_spanish_ci NOT NULL default 'S',
  99.  PRIMARY KEY  (`id_receta`)
  100. )",
  101.         "CREATE TABLE IF NOT EXISTS `ts_usuario` (
  102.  `ulogin` varchar(32) collate latin1_spanish_ci NOT NULL default '',
  103.  `upass` varchar(32) collate latin1_spanish_ci NOT NULL default '',
  104.  `nombre` varchar(128) collate latin1_spanish_ci NOT NULL default '',
  105.  `email` varchar(255) collate latin1_spanish_ci NOT NULL default '',
  106.  `id_perfil` smallint(5) unsigned NOT NULL default '0',
  107.  `flogin` datetime NOT NULL default '0000-00-00 00:00:00',
  108.  `caduca` date NOT NULL default '0000-00-00',
  109.  `p_receta` char(1) collate latin1_spanish_ci NOT NULL default 'S',
  110.  `p_producto` char(1) collate latin1_spanish_ci NOT NULL default 'S',
  111.  `p_pedido` char(1) collate latin1_spanish_ci NOT NULL default 'S',
  112.  `r_pedido` char(1) collate latin1_spanish_ci NOT NULL default 'S',
  113.  `r_contacto` char(1) collate latin1_spanish_ci NOT NULL default 'S',
  114.  PRIMARY KEY  (`ulogin`),
  115.  KEY `nombre` (`nombre`),
  116.  KEY `email` (`email`),
  117.  KEY `r_pedidos` (`r_pedido`),
  118.  KEY `r_contacto` (`r_contacto`)
  119. )",
  120.    
  121.     INSERT INTO `ta_pedido` (`id_pedido`, `fecha`, `nombre`, `direccion`, `comuna`, `fonos`, `email`, `forma_pago`, `total`, `atendido`) VALUES ;
  122.     INSERT INTO `ta_pedido_p` (`id_pedido_p`, `id_pedido`, `id_producto`, `nombre`, `clase`, `unidad`, `precio`, `cantidad`, `subtotal`) VALUES ;
  123.     INSERT INTO `ta_producto` (`id_producto`, `nombre`, `clase`, `unidad`, `precio`, `activo`) VALUES ;
  124.     INSERT INTO `ta_receta` (`id_receta`, `titulo`, `tituloi`, `ingredi`, `elabora`, `imagen`, `activo`) VALUES ;
  125. INSERT INTO `ta_receta_desa` (`id_receta`, `titulo`, `tituloi`, `ingredi`, `elabora`, `imagen`, `activo`) VALUES ;
  126.  
  127. INSERT INTO `ts_usuario` (`ulogin`, `upass`, `nombre`, `email`, `id_perfil`, `flogin`, `caduca`, `p_receta`, `p_producto`, `p_pedido`, `r_pedido`, `r_contacto`) VALUES
  128. ('admin', 'ventafacil', 'Administrador', '[email protected]', 1, '2011-05-17 09:27:50', '9999-12-31', 'S', 'S', 'S', 'N', 'N'), ;
  129.  
  130.         //Mediante un foreach ejecutamos todas sentencias almacenadas en el array anterior
  131.         foreach($db_tables as $x){
  132.             $query = mysql_query($x)or die(mysql_error());
  133.         }
  134.  
  135.         //Cerramos la conexión con la base de datos
  136.         mysql_close($con);
  137.  
  138.         //Montamos en una variable el contenido del archivo config.php
  139.         $config_info = "<?php\n/* Archivo config.php generado por el sistema */\n\n\$bdhost = \"".$_POST["db-host"]."\";\n\$bdname = \"".$_POST["db-name"]."\";\n\$bduser = \"".$_POST["db-user"]."\";\n\$bdpass = \"".$_POST["db-pass"]."\";\n?>";
  140.  
  141.         //Comprobamos que podemos escribir en la carpeta raíz del sistema
  142.         if (is_writable("./") != 1) {
  143.             echo "No se ha podido crear config.php por un problema con los permisos de la carpeta raíz, tu mismo puedes crear el archivo config.php con el siguiente contenido para terminar la instalación, una vez hecho <a href=\"index.php\">Vuelve al Inicio</a>. <br />";
  144.             echo "<textarea cols=\"40\" rows=\"10\">".$config_info."</textarea>";
  145.         } else {
  146.  
  147.             //Creamos y rellenamos el archivo config.php con la información que nos ha dado el usuario
  148.             $keys_file = fopen("config.php","w");
  149.             fwrite($keys_file, $config_info);
  150.             fclose($keys_file);
  151.             echo "<br />Se ha completado la instalación con éxito<br /><a href=\"index.php\">Volver al Inicio</a>";
  152.         }
  153.     }
  154.  
  155. } else {
  156.  
  157.     //Este es el formulario de instalación
  158.     ?>
  159.     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  160.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  161.     <html xmlns="http://www.w3.org/1999/xhtml">
  162.         <head>
  163.             <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  164.             <link type="text/css" rel="stylesheet" media="all" href="style.css" />
  165.             <title>Instalador de Capricorn CMS</title>
  166.         </head>
  167.         <body>
  168.         <div id="install">
  169.             <form action="install.php" method="post">
  170.             <div id="install-title">Instalador</div>
  171.             <table>
  172.                 <tr><td colspan="2" class="install-td">Información sobre la Base de datos</td></tr>
  173.                 <tr><td>Host de la base de datos:</td><td><input type="text" name="db-host" value="localhost" /></td></tr>
  174.                 <tr><td>Nombre de la base de datos:</td><td><input type="text" name="db-name" value="Nombre" /></td></tr>
  175.                 <tr><td>Usuario de la base de datos:</td><td><input type="text" name="db-user" value="Usuario" /></td></tr>
  176.                 <tr><td>Contraseña de la base de datos:</td><td><input type="password" name="db-pass" /></td></tr>
  177.                 <tr><td colspan="2" class="install-td">Información sobre el Administrador</td></tr>
  178.                 <tr><td>Usuario:</td><td><input type="text" name="admin-name" value="Nombre" /></td></tr>
  179.                 <tr><td>Contraseña:</td><td><input type="password" name="admin-pass" /></td></tr>
  180.                 <tr><td>Repetir Contraseña:</td><td><input type="password" name="admin-2pass" /></td></tr>
  181.                 <tr><td>Correo Electrónico:</td><td><input type="text" name="admin-email" value="Email" /></td></tr>
  182.                 <tr><td colspan="2" class="install-td"><input type="submit" name="submit" value="Instalar" /></td></tr>
  183.             </table>
  184.             </form>
  185.         </div>
  186.         </body>
  187.     </html>
  188. <?php
  189. }
  190. ?>