Buenas tardes, estoy intentando hacer un ejercicio que consiste en un gestor de autobuses, intentando dar de alta nuevos autobuses mediante un formulario. Os adjunto el código y mis dudas a ver si podéis ayudarme:
El formulario donde se introducen los datos:
Código HTML:
<form action="funciones.php" method="post">
<label for="Nombre">Nombre</label>
<input type="text" name="Nombre" value="" id="Nombre" />
<label for="Color">Color</label>
<input type="text" name="Color" value="" id="Color" />
<label for="Capacidad">Capacidad</label>
<input type="text" name="Capacidad" value="" id="Capacidad" />
<input type="submit" name="alta" value="Dar de alta"/>
<div class="clearfix"></div>
</form>
El archivo funciones.php y la función para insertar un nuevo autobús:
Código PHP:
function altaAutobuses(){
$nombre = $_POST["Nombre"];
$color = $_POST["Color"];
$capacidad = $_POST["Capacidad"];
$autobus = new Autobuses($nombre, $color, $capacidad);
conexionBD($autobus->consulta());
header('Location:ver_autobuses.php');
}
Aquí la clase autobús, para ver la función consulta() que es la que pasa la consulta a MySQL:
Código PHP:
class Autobuses{
private $nombre;
private $color;
private $capacidad;
function __construct($nombre, $color, $capacidad){
$this->nombre->$nombre;
$this->color->$color;
$this->capacidad->$capacidad;
}
public function consulta(){
$consulta = "INSERT INTO autobuses (Nombre,Color,Capacidad) VALUES ('".$this->nombre."','".$this->color."','".$this->capacidad."')";
return $consulta;
}
}
La cuestión es que tengo otro archivo para ver los autobuses que hay en la base de datos, y si que muestra los autobuses en pantalla, por lo que la conexión a la base de datos funciona, y si agrego un nuevo autobús en PHPMyAdmin también lo muestra, así que no hay duda de que la conexión a la base de datos va bien. No entiendo que está fallando, he probado a cambiar las variables de la funcion consulta() del autobús y poner palabras directamente, pero no llega a conectar con la base de datos, en cambio, pongo la peticion "SELECT * FROM autobuses" y si que me muestra el contenido de la base de datos....
Además, pruebo a hacer un echo con las variables que paso por el formulario, y las escribe en pantalla, por lo que las está recibiendo. Entiendo que el problema está en la escritura de datos nuevos en la base de datos de PHPMyAdmin...
Muchas gracias y un saludo.