Estoy haciendo un pequeño programilla en PHP para practicar, la idea es que te permita dar de alta a unos alumnos en un curso y estos se almacenen en una base de datos, y que en la misma página en la que se dan de alta aparezcan los alumnos ya registrados.
El código es este:
Página en la que se da de alta y aparecen los alumnos ya registrados (dba.php):
Código PHP:
<!DOCTYPE html>
<html>
<head>
<link rel="shortcut icon" href="favicon.png" type="image/png">
<title>Alta alumnos</title>
</head>
<body>
<h3>Alta alumnos cursos programación 2015</h3>
Ingresa los datos del alta<br><br>
<form action="dbb.php" method="post">
Nombre: <input type="text" name="name"><br>
E-Mail: <input type="text" name="mail"><br>
Curso: <input type="radio" name="curso" value="1">Perl
<input type="radio" name="curso" value="2">Python
<input type="radio" name="curso" value="3">Ruby
<input type="radio" name="curso" value="4">PHP<br><br>
<input type="submit" value="Registrar">
</form><br>
<h4>Alumnos ya registrados</h4>
<?php
$conn = mysqli_connect("localhost", "root", "r00t", "tests") or die("Ocurrió un error al conectar con el servidor.");
$regi = mysqli_query($conn, "select codigo, nombre, mail, ccurso from alumnos") or die("Ocurrió un problema al recuperar los datos. ".mysqli_error($conn));
while ($arr = mysqli_fetch_array($regi)) //Esto almacena los datos que va sacando de $regi en el vector asociativo $arr con cada bucle del while. Cuando se acaben los alumnos no se almacenará nada más en el vector y la condición del while se incumplirá.
{
echo("Codigo: ".$arr["codigo"]." ");
echo("Nombre: ".$arr["nombre"]." ");
echo("E-Mail: ".$arr["mail"]." ");
echo("Curso: ");
switch ($arr["ccurso"])
{
case 1: echo("PHP");
break;
case 2: echo("Phyton");
break;
case 3: echo("Perl");
break;
}
echo("<br>");
}
mysqli_close($conn);
?>
</body>
</html>
Y esta es la página 2 (dbb.php) que debería insertar los datos en la base de datos:
Código PHP:
<!DOCTYPE html>
<html><head>
<meta http-equiv="refresh" content="5; url=dba.php">
<link rel="shortcut icon" href="favicon.png" type="image/png">
<title>Alta alumnos</title>
</head><body>
<?php
$conn = mysqli_connect("localhost", "root", "r00t", "tests") or die("Ocurrió un problema al conectar con la base de datos.");
mysqli_query($conn, "insert into alumnos(nombre, mail, ccurso) values ('$_REQUEST[name]', '$_REQUEST[mail]', $_REQUEST[curso])") or die("Ocurrió un problema al cargar la info. ".msqli_error($conn));
mysqli_close($conn);
echo("El alumno fué fado de alta correctamente");
?>
<label>En breves será redirigido.</label>
</body></html>
La página 1 funciona perfectamente, es decir, lee los alumnos ya guardados, todo con normalidad, el problema viene cuando intento registrar un nuevo alumno, que al llegar a la página 2, esta me sale completamente en blanco, es decir, ni siquiera me ejecuta el html que va fuera del código php. No entiendo por que me ocurre esto, de hecho, ejecuté un script muy parecido en PHP-CLI y me funcionó con normalidad y ahora no hace nada, además ni siquiera crea el alumno en la tabla. Espero que me puedan ayudar, un saludo, y gracias de antemano.