Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/04/2014, 00:24
Avatar de mati22
mati22
 
Fecha de Ingreso: abril-2014
Mensajes: 10
Antigüedad: 10 años
Puntos: 0
Pregunta Mysqli - Formulario no hace nada.

Muy buenas, antes que nada me presento:

Mi nombre es Matias y estoy comenzando en esto del desarrollo de aplicaciones en PHP.

LLevo varias horas tras el ordenador leyendo y documentandome acerca de como funciona, pero como dicen "La práctica hace al maestro" he decidido comenzar mi primer proyecto para poner a prueba lo que he aprendido.

Antes de comentaros mi problema, os agradezco vuestro tiempo por leerlo y toda ayuda que me podais brindar.


Estoy desarrollando un programa en el cual, los usuarios pueden realizar operaciones de "prueba" en el mercado bursátil, forex, etc.
(para los que no sabéis de que va: [URL="http://es.wikipedia.org/wiki/Mercado_de_divisas"]Enlace a Wikipedia[/URL])

Hasta ahora, el proyecto consta de 4 páginas.
1
Op.php (Raíz de la página
)

Código PHP:
<?php

//Configuracion para conectar a db.
require_once("config/db.php");

// Carga la clase para nuevas operaciones.
require_once("classes/Newop.php");

//Crea el objeto para nuevas operaciones
$newop = new Newop();

// Muestra el formulario de operaciones 
include("views/formforex.php");
2
db.php (Datos para conexión a db
)

Código PHP:
<?php

/* Configuración conexión db*/
define("DB_HOST""localhost");
define("DB_NAME""login");
define("DB_USER""root");
define("DB_PASS""");
3
formforex.php (Formulario recolección de datos
)


Código PHP:
  <?php
if (isset($newop)) {
    if (
$newop->errors) {
        foreach (
$newop->errors as $error) {
            echo 
$error;
        }
    }
    if (
$newop->messages) {
        foreach (
$newop->messages as $message) {
            echo 
$message;
        }
    }
}
?>
Código HTML:
<!-- op form -->
</div>
<form method="post" action="op.php" name="x">

    <label for="select_simbol">
      <div align="center">Simbolo</div>
    </label>
    <div align="center">
      <select name="select_simbol" class="select_simbol" name="simbol"  />
  <option value ="eurusd">EURUSD</option>
  <option value ="usdchf">USDCHF</option>
</select>
      <br />
       <label for="select_tipo">
      <div align="center">Tipo</div>
    </label>
    <div align="center">
      <select name="select_tipo" class="select_tipo" name="tipo"  />
  <option value name="buy">Comprar</option>
  <option value name="sell">Vender</option>
</select>
      
      <br/>
      
      <input type="submit" class="bt" name="newop" value="Ejecutar" />
      
    </div>
</form> 
4
newop.php (Guardando datos en db
)


Código PHP:
<?php


class Newop
{
 
    private 
$db_connection null;
 
    public 
$errors = array();
  
    public 
$messages = array();

   
    public function 
__construct()
    {
        if (isset(
$_POST["newop"])) {
            
$this->ejecutarnuevaop();
        }
    }

 
    private function 
ejecutarnuevaop()
    {
 switch(
$_POST['select_simbol']){
    case 
"eurusd"
        function 
between($beg$end$str) {
            
$a explode($beg$str2);
            
$b explode($end$a[1]);
            return 
$beg $b[0] . $end;}
        
$url file_get_contents ("https://es.finance.yahoo.com/q?s=EURUSD=X");
        
$eleccion between('<span id="yfs_l10_eurusd=x">''</span>'$url);
     break;

    case 
"usdchf"
        
$eleccion "test"; break;
{
            
// crando conexión a db
            
$this->db_connection = new mysqli(DB_HOSTDB_USERDB_PASSDB_NAME);

         
            
// Si no hay errores
            
if (!$this->db_connection->connect_errno) {

         
$fecha date('d-m-Y');  
         
$tipo $_POST['tipo'];  
         
$estado "abierto";
         
$capitalrequerido"4";
       
                    
$sql "INSERT INTO operaciones ( Tipo, Cotizacion, Fecha, CapitalRequerido, Estado)
                            VALUES('" 
$Tipo "', '" $seleccion "', '" $fecha "','" $capitalrequerido "', '" $estado "',);";
                    
$query_new_op_insert $this->db_connection->query($sql);

                    
// si la operacion se realizo con exito
                    
if ($query_new_op_insert) {
                        
$this->messages[] = "Op se ha realizado con exito.";
                    } else {
                        
$this->errors[] = "Sorry, your op failed. Please go back and try again.";
                    }
            }
        
             else {
                
$this->errors[] = "Sorry, no database connection.";
            }
  }
}

    }
}
El error (por el cual hace 3 horas estoy frente al monitor probando, cambiando, sin obtener resultado alguno.) es que, al hacer click en "ejecutar" no funciona, ni da error ni nada. Simplemente el estado de navegación dice "esperando a localhost..." y la página sigue igual.
Es desesperante y soy consciente de que puede ser un error muy sencillo (de principiante, vamos...)

Debo aclarar que el código no fue escrito integramente por mí, tome como plantilla un registro y login (su autor php-login) y lo adapte a mi programa.


Os agradezco de antemano a todos los que tengais tiempo de leer y brindarme alguna solución, yo de momento seguiré buscando en que estoy fallando.