A ver, vamos a hacerla mas corta porque si estas aprendiendo, lo que escribio penhova es algo extenso y te vas a marear jaja
En el index solo deberia estar el formulario, esta bien como lo trajiste, pero la consulta deberias hacerla en otro archivo.
Deberian quedar 3 archivos, algo asi:
index.php Código PHP:
<body>
<?php include("formularios/form1.html"); ?>
</body>
form1.html Código HTML:
<form method="post" action="confirmar.php">
Ingrese nombre:
<input type="text" name="nombre"/><br>
Ingrese mail:
<input type="text" name="mail"/><br>
Seleccione el curso:
<select name="codigocurso">
<option value="1">PHP</option>
<option value="2">ASP</option>
<option value="3">JSP</option>
</select>
<br>
<input type="submit" value="Registrar"/>
</form>
No es necesario que sea php, el formulario es html puro.
El tercero es donde ejecutas la consulta y confirmas si se registro correctamente o no:
confirmar.php Código PHP:
//realizamos la conexión con la base de datos
$host="localhost";
$user="root";
$pass="";
$db="base1";
$conexion= mysqli_connect($host,$user,$pass,$db) or die("No se pudo conectar con la base de datos");
//traemos por POST lo que escribas en el formulario y lo almacenamos en variables
$nombre=$_POST['nombre'];
$mail=$_POST['mail'];
$curso=$_POST['codigocurso'];
//realizamos la consulta
$consulta="INSERT INTO alumnos(nombre,mail,codigocurso) VALUES ('$nombre','$mail','$codigocurso')";
$resultado=mysqli_query($conexion, $consulta) or die (mysql_error());
//comprobamos si se registro correctamente con un if
if ($resultado){//si la consulta se ejecuto correctamente
echo "Se ha registrado correctamente"; //mensaje de confirmacion
header("Location: ../index.php"); //redireccion al index
}
else{ //sino...
echo "Error al registrarse"; //mensaje de error
header("Location: ../index.php"); //redireccion al index
}
Intenta poniendolo asi, saludos.
[edito]
PD:
Cita: 2-El input con value="registrar" es el que se encarga de enviar los datos que el usuario subio, como vos no le escribiste un "name", el script no tiene idea de donde sacar los datos, al ultimo input con type="submit" agregale esto: name="submit". No tiene que llamarse submit en el name, le podes escribir lo que queres.
El script saca los datos del "ACTION" del formulario, no del name del boton.. Con que tenga type="submit" es suficiente.
Cita: 4-estas usando mysql_connect, mysql_query. NO LO USES, estas funciones traen muchas vulnerabilidades de seguridad, y estan depreciadas. la forma actual y mucho mas segura de trabajar con base de datos con php es usando mysqli, o PDO.
Totalmente de acuerdo, aprende mysqli.