Autor Tema: Insertar datos en base de datos MySql con PHP desde formulario HTML recibir post  (Leído 85403 veces)

JuanMontaña

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 87
    • Ver Perfil
Hola a todos. Mi madre es docente y se me vino a al cabeza con lo estudiado en el curso de PHP de aprenderaprogramar.com hacer un tipo de programa sencillo que le facilite las cosas un poco almacenando datos en una base de datos estoy creando un formulario para insertar los datos digamos mas dinámicamente.. no pondré a mi madre a insertarlo en el código, tiene que ser con un formulario, en fin muchas historias...  El punto es que yo lo hice pero por alguna extraña razon que la verdad aún no logro entender cuando inserto los datos solamente me guarda:
 
codigo
sexo
grado
index

No me guarda los demas datos no me los inserta he mirado bastante el codigo y no encuentro el error si alguno de ustedes con mas experiencia puede ayudarme aca los dejo dejare los dos el de el formulario y el de insertar

formulario:
Código: [Seleccionar]
<html>
<head>
<title>Envio de formulario a  una base de datos</title>
</head>
<body>
<form action="reciboalumform.php" method="POST"  NAME="form">
Primer Nombre Alumno:<br>
      <input type "text"  name="Primer Nombre"/> <br/><br/>
Segundo Nombre Alumno:<br>
  <input type "text"  name="Segundo Nombre"/> <br/><br/>
Primer Apellido:<br>  
  <input type "text"  name="Primer Apellido"/> <br/><br/>
Segundo Apellido:<br>    
<input type="text" name="Segundo Apellido"/> <br/><br/>
Nombre Acudiente:<br>    
<input type="text" name="Nombre Acudiente"/> <br/><br/>
Fecha de Nacimiento:<br>    
<input type="number" name="Fecha Nacimiento"/> <br/><br/>
Codigo:<br>
      <input type "number"  name="Codigo"/> <br/><br/>
Sexo:<br>
  <input type "text"  name="Sexo"/> <br/><br/>
Grado:<br>  
  <input type "text"  name="Grado"/> <br/><br/>
Fecha ingreso a la Institucion:<br>    
<input type="number" name="Fecha Ingreso"/> <br/><br/>
Index:<br>    
<input type="number" name="index"/> <br/><br/>

         <br><br>
<input type="submit" value="Enviar datos"/>


</form>

</body>
</html>

INSERTAR
Código: [Seleccionar]
<html>
<body>
<?php
$connect
=mysqli_connect("sql312.byethost11.com","b11_15776995","69d9e5553a","b11_15776995_firstdatabase");
if (
$connect) {
echo "conexion exitosa. <br />";
$Nombre1$_POST ['Primer Nombre'];
$Nombre2$_POST ['Segundo Nombre'];
$Apellido1$_POST ['Primer Apellido'];
$Apellido2$_POST ['Segundo Apellido'];
$Acudiente$_POST ['Nombre Acudiente'];
$Nacido$_POST ['Fecha Nacimiento'];
$Codigo$_POST ['Codigo'];
$Sexo$_POST ['Sexo'];
$Grado$_POST ['Grado'];
$Ingreso$_POST ['Fecha Ingreso'];
$index$_POST ['index'];

$consulta="insert into Alumnos values ('$Nombre1','$Nombre2','$Apellido1','$Apellido2','$Acudiente','$Nacido','$Codigo','$Sexo','$Grado','$Ingreso','$index')";

$resultado=mysqli_query($connect,$consulta);

if ($resultado) {
echo "perfil almacenado. <br />";
}
else {
echo "error en la ejecución de la consulta. <br />";
}

if (mysqli_close($connect)){ 
echo "desconexion realizada. <br />";

else {
echo "error en la desconexión";
}
}
$servername "sql312.byethost11.com";
$username "b11_15776995";
$password "69d9e5553a";
$dbname "b11_15776995_firstdatabase";
function 
mostrarDatos ($resultados) {
if (
$resultados !=NULL) {
echo 
"- Primer nombre: ".$resultados['Primer Nombre']."<br/> ";
echo 
"- Segundo nombre: ".$resultados['Segundo Nombre']."<br/>";
echo 
"- Primer apellido: ".$resultados['Primer Apellido']."<br/>";
echo 
"- Segundo apellido: ".$resultados['Segundo Apellido']."<br/>";
echo 
"- Nombre de acudiente: ".$resultados['Nombre Acudiente']."<br/>";
echo 
"- Fecha de nacimiento : ".$resultados['Fecha Nacimiento']."<br/> ";
echo 
"- codigo: ".$resultados['Codigo']."<br/>";
echo 
"- sexo: ".$resultados['Sexo']."<br/>";
echo 
"- grado: ".$resultados['Grado']."<br/>";
echo 
"- ingreso: ".$resultados['Fecha Ingreso']."<br/>";
echo 
"- index: ".$resultados['index']."<br/>";

echo 
"**********************************<br/>";}
else {echo 
"<br/>No hay más datos!!! <br/>";}
}
$link mysqli_connect($servername,$username,$password);
mysqli_select_db($link$dbname);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes correctamente
$result mysqli_query($link"SELECT * FROM Alumnos");
while (
$fila mysqli_fetch_array($result)){
mostrarDatos($fila);
}
mysqli_free_result($result);
mysqli_close($link);




?>

<br><br>
<a href="http://www.aprenderphp.byethost11.com/Alumnosform.php">DEVOLVER A EL FORMULARIO </a>
<body/>
<html/>


Agradezco su ayuda.. saludos
« Última modificación: 04 de Junio 2020, 17:37 por Ogramar »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 386
    • Ver Perfil
Hola JuanMontaña es posible que el problema se deba a que estás dejando espacios en blanco dentro de los campos name del formulario. Prueba a escribirlos sin espacios en blanco por ejemplo no usar name="Primer Apellido" sino todo minúsculas y unido poniendo un guión bajo donde iría un espacio, podría ser name="primer_apellido". Tendrías que revisar todos los nombres tanto en el html como el php. Saludos compañero.

JuanMontaña

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 87
    • Ver Perfil
Muchisimas gracias javi efectivamente hice lo que me dijiste y funciono ya me almacena los datos en la base, sin embargo a la hora de mostrarlos no en la base si no en la pagina no me muestra todos los datos solo me muestra sexo y grado  (en la pagina ) en la base de datos si almacena todos los datos
Código: [Seleccionar]
<html>
<body>
<?php
$connect
=mysqli_connect("######","######","#####","#######");
if (
$connect) {
echo "conexion exitosa. <br />";
$Nombre1$_POST ['Primer_Nombre'];
$Nombre2$_POST ['Segundo_Nombre'];
$Apellido1$_POST ['Primer_Apellido'];
$Apellido2$_POST ['Segundo_Apellido'];
$Acudiente$_POST ['Nombre_Acudiente'];
$Nacido$_POST ['Fecha_Nacimiento'];
$Codigo$_POST ['Codigo'];
$Sexo$_POST ['Sexo'];
$Grado$_POST ['Grado'];
$Ingreso$_POST ['Fecha_Ingreso'];
$index$_POST ['index'];

$consulta="insert into Alumnos values ('$Nombre1','$Nombre2','$Apellido1','$Apellido2','$Acudiente','$Nacido','$Codigo','$Sexo','$Grado','$Ingreso','$index')";

$resultado=mysqli_query($connect,$consulta);

if ($resultado) {
echo "perfil almacenado. <br />";
}
else {
echo "error en la ejecución de la consulta. <br />";
}

if (mysqli_close($connect)){ 
echo "desconexion realizada. <br />";

else {
echo "error en la desconexión";
}
}
$servername "#####";
$username "######";
$password "#####";
$dbname "######";
function 
mostrarDatos ($resultados) {
if (
$resultados !=NULL) {
echo 
"- Primer nombre: ".$resultados['Primer_Nombre']."<br/> ";
echo 
"- Segundo nombre: ".$resultados['Segundo_Nombre']."<br/>";
echo 
"- Primer apellido: ".$resultados['Primer_Apellido']."<br/>";
echo 
"- Segundo apellido: ".$resultados['Segundo_Apellido']."<br/>";
echo 
"- Nombre de acudiente: ".$resultados['Nombre_Acudiente']."<br/>";
echo 
"- Fecha de nacimiento : ".$resultados['Fecha_Nacimiento']."<br/>";
echo 
"- codigo: ".$resultados['Codigo']."<br/>";
echo 
"- sexo: ".$resultados['Sexo']."<br/>";
echo 
"- grado: ".$resultados['Grado']."<br/>";
echo 
"- ingreso: ".$resultados['Fecha_Ingreso']."<br/>";
echo 
"- index: ".$resultados['index']."<br/>";

echo 
"**********************************<br/>";}
else {echo 
"<br/>No hay más datos!!! <br/>";}
}
$link mysqli_connect($servername,$username,$password);
mysqli_select_db($link$dbname);
$tildes $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes correctamente
$result mysqli_query($link"SELECT * FROM Alumnos");
while (
$fila mysqli_fetch_array($result)){
mostrarDatos($fila);
}
mysqli_free_result($result);
mysqli_close($link);




?>

<br><br>
<a href="http://www.aprenderphp.byethost11.com/Alumnosform.php">DEVOLVER A EL FORMULARIO </a>
<body/>
<html/>
Alguna idea de por que sea ? muchisimas garcias por tu ayuda saludos

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 386
    • Ver Perfil
Posiblemente como antes no te guardaba bien los datos tienes filas en la tabla de la base de datos que estarán vacíos y por eso no te muestra nada. Accede a la base de datos con phpMyAdmin y compruébalo

Saludos!

JuanMontaña

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 87
    • Ver Perfil
saludos javi, no es eso, ya lo habia hecho sin embargo lo volvi a hacer elimine todos los datos y guarde otro mediante el formulario porsupuesto y en la base de datos me los guardo satisfactoriamente pero a la hora de mostrarme los datos guardados mira lo que sale

conexion exitosa.
perfil almacenado.
desconexion realizada.
- Primer nombre:
- Segundo nombre:
- Primer apellido:
- Segundo apellido:
- Nombre de acudiente:
- Fecha de nacimiento :
- codigo:
- sexo: cvcc
- grado: onv
- ingreso:
- index:
**********************************
lo que intento hacer es que me diga cada dato guardado no se por que solo muestra sexo y grado. gracias por tu atencion :)

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2054
    • Ver Perfil
Hola Juan, comprueba si recibes el dato:

echo "conexion exitosa. <br />";
      $Nombre1= $_POST ['Primer_Nombre'];
echo $_POST ['Primer_Nombre'];

Si no se muestra por pantalla es que no estás recibiendo el dato.

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".