Comunidad de diseño web y desarrollo en internet online

No me inserta los datos a la base de datos.

Citar            
MensajeEscrito el 26 Dic 2016 11:18 pm
Hola. Tengo dos archivos:
el formulario 1.php:

Código :

<!DOCTYPE html>
<script type="text/javascript">
   $(document).ready(efectocargar(){
      $('.button').click(efectocargar(){
         $('#content').html('<div><img src="imagenes/ajax-loader.gif"/></div>');

         var page = $(this).attr('data');
         var dataString = 'page='+page;
         ...

         $.ajax({
            type: "GET",
            url: "htdocs/insertardatos.php",
            data: dataString,
            success: efectocargar(data) {
               $('#content').fadeIn(1000).html(data);
            }
         });
      });
   });
</script>
<?php
$servername = "sql201.260mb.net";
$username = "n260m_19293384";
$password = "iescalvia";
$base = "1esoa";
// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Conecxion fallida: " . $conn->connect_error);
} 
echo "Conectado";
?>
     <head>
        
        <title>Materia</title>
    </head>
    
    <body>
    <center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
    <br>
    <br>
    <center>
    <form action="insertardatos.php" method="post" name="form">
    <font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="date" name="data" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required>
         <br>
    <font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required>
    <br>
    <font size="+1" face="Segoe script">Tarea:</font>
    <br>
    <textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required></textarea>
    <br>
    <br>
    <input type="submit" value="Guardar datos" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" onclick="efectocargar()">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok">
    </a>
    </form>
    </center>
    </body>
</html>

que conecta con la base de datos y al hacer clic en "guardar los datos" lo lleva a otro archivo llamado insertardatos.php:

Código :

<?php
$mysqli_query = "INSERT INTO $base (data,materia,tarea) VALUES ('$data', '$materia', '$tarea')";
echo "$servername, $username, $password, $base";

if (mysqli_query($conn, $sql)) {
      echo " Los datos se han guardado correctamente";
    } else {
      echo "Error al insertar los datos " . $sql . "<br>" . mysqli_error($conn);
    }
mysqli_close($conn);
?>

ahí hay algo mal no sé el que.
Me pone Error al insertar los datos cuyo frase puse yo, el error está aquí pero no sé bien donde:

Código :

$mysqli_query = "INSERT INTO $base (data,materia,tarea) VALUES ('$data1', '$materia1', '$tarea1')";

if (mysqli_query($conn, $sql)) {
    echo " a la base de datos";
} else {
    echo "Error al insertar los datos " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);

Creo que el error está aquí

Código :

$mysqli_query = "INSERT INTO $base (data,materia,tarea) VALUES ('$data1', '$materia1', '$tarea1')";

esta nombrado como $mysqli_query y el código:

Código :

if (mysqli_query($conn, $sql)) {
    echo " a la base de datos";
} else {
    echo "Error al insertar los datos " . $sql . "<br>" . mysqli_error($conn);
}

lo llama $sql y no hay ninguno pero no sé si lo que digo es cierto, hice esto, poner $mysqli_query en el código en el lugar de $sql y no me funcionó.

No se lo que está mal.
P.D:

no puse
Código:

Código :

$mysqli_query = "INSERT INTO $base (data,materia,tarea) VALUES ('$_POST['data1'], '$_POST['materia1']', '$_POST['tarea1']')";

poque no me funcionaba y lo reemplace por
Código:
'$data1','$materia1','$tarea1'
que me fue bien.

Gracias

Por IVAN HEREDIA PLANAS

53 de clabLevel



Genero:Masculino  

Lo increíble, no es lo que ves, sino como es

chrome
Citar            
MensajeEscrito el 27 Dic 2016 03:52 pm
Hola Ivan,

Primero, no necesitas abrir al conexión a la BD al momento de mostrar el formulario. Ábrelo y ciérralo en el mismo archivo insertardatos.php

*Lee sobre PDO para que tenga mas seguridad.

---

En el formulario, pon tu script dentro de head o body.
Veo que usas jQuery pero en tu código no está ligado... imagino si lo tendrás.
Quita tus funciones efectocargar, ya que la estas triplicando, mejor deja eso como funciones genéricas.
$(document).ready(function(){ .....

---
Al botón de envío quítale el onclick y agrega class="button".

Usas ajax entonces evita que se envíe el formulario al dar click.

Código :

$('.button).click(function(e){
  e.preventDefault();
  ....
});

En tu formulario le dices que los datos los enviarás por POST y en ajax por GET. el archivo insertardatos.php los va a recibir por GET. Fíjate bien como quieres enviar esos datos.

--
Verifica que si estés mandando los datos con:

Código :

 
var_dump($_POST);
exit;

Al principio de insertardatos.php

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 27 Dic 2016 08:56 pm
Hice tres códigos.

formulario2.php:

Código PHP :

<!DOCTYPE html>
     <head>
        <title>Materia</title>
    </head>
    
    <body>
    <center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
    <br>
    <br>
    <center>
    <form action="insertardatos.php" method="post" name="form">
    <font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="date" name="data" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required>
         <br>
    <font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required>
    <br>
    <font size="+1" face="Segoe script">Tarea:</font>
    <br>
    <textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required></textarea>
    <br>
    <br>
    <input type="submit" value="Guardar datos" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok">
    </a>
    </form>
    </center>
    </body>
</html>

el formulario que conecta con los dos códigos.

conectar.php:

Código PHP :

<?php
$servername = "sql201.260mb.net";
$username = "n260m_19293384";
$password = "iescalvia";
$base = "1esoa";
// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Conecxion fallida: " . $conn->connect_error);
} 
echo "Conectado";
?>

y
insertardatos.php:

Código PHP :

<?php
     if(isset($_POST['data']) && !empty($_POST['data']) &&
        isset($_POST['materia']) && !empty($_POST['materia']) &&
        isset($_POST['tarea']) && !empty($_POST['tarea'])){
        $dataRegistrado = $_POST['data'];
        $materiaRegistrado = $_POST['materia'];
        $tareaRegristrado = $_POST['tarea'];

        mysql_query("INSERT INTO 1esoa(data,materia,tarea) VALUES ('$dataRegistrado','$materiaRegistrado',$tareaRegristrado)");
        echo "Los datos se han guardado correctamente";
        echo "<a href='formulario2.php'> Volver atrás </a>";
     }else{
        echo "Debes llenar todos los campos.";
     }
?>


Va todo bien, funciona correctamente pero cuando le doy click al botón me envia al archivo, quisiera confiermarlo pero cuando voy a mi phpmyadmin en 260mb.net no me deja la opción de examinar mi tabla para ver si se a guardado correctamente, se podria configurar?

Por IVAN HEREDIA PLANAS

53 de clabLevel



Genero:Masculino  

Lo increíble, no es lo que ves, sino como es

chrome
Citar            
MensajeEscrito el 27 Dic 2016 08:59 pm
parece como si no se hubiera guardado correctamente, no sé, porque me hace eso

Por IVAN HEREDIA PLANAS

53 de clabLevel



Genero:Masculino  

Lo increíble, no es lo que ves, sino como es

chrome
Citar            
MensajeEscrito el 27 Dic 2016 09:14 pm

Por IVAN HEREDIA PLANAS

53 de clabLevel



Genero:Masculino  

Lo increíble, no es lo que ves, sino como es

chrome
Citar            
MensajeEscrito el 28 Dic 2016 05:50 pm
Prueba primero insertando datos al momento de crear la conexión con la bd, así vas depurando tu código

Código :

<?php 
$conn = mysqli_connect($servername, $username, $password);
mysqli_select_db($conn, $base);

mysqli_query($conn, "INSERT INTO 1esoa VALUES ('', 'Data1', 'Materia1', 'Tarea1')");

mysqli_close($conn);
echo 'Los datos han sido insertados en la base de datos';

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 28 Dic 2016 09:34 pm
hola hice lo que me dijo me sale:

formularioejemplo.php

Código PHP :

<!DOCTYPE html>
<?php include("conectar.php");?>
     <head>
        
        <title>Materia</title>
    </head>
    
    <body>
    <center><font color="#333333" face="Segoe script" size="+6">Insertar deberes</font></center>
    <br>
    <br>
    <center>
    <form action="insertar3.php" method="post" name="form">
    <font size="+1" color="#333333" face="Segoe script">Data:</font>&nbsp;<input type="date" name="data" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required>
         <br>
    <font size="+1" face="Segoe script">Materia:</font>&nbsp;<input type="text" name="materia" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required placeholder="Pon la materia">
    <br>
    <font size="+1" face="Segoe script">Tarea:</font>
    <br>
    <textarea cols="50" rows="10" name="tarea" style="background-color: lightblue; color: gray; border: inset; border-color: orange" required placeholder="Pon tu/s tareas"></textarea>
    <br>
    <br>
    <input type="submit" value="Guardar datos" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;">&nbsp;<input type="reset" value="Limpiar formulario" style="background-color: orange; border: inset; border-color: orange; cursor: pointer;" name="ok">
    </a>
    </form>
    </center>
         <?php include("tablamysql.php"); ?>
    </body>
</html>

insertar3.php

Código PHP :

<?php 
$conn = mysqli_connect($servername, $username, $password);
mysqli_select_db($conn, $base);

mysqli_query($conn, "INSERT INTO 1esoa VALUES ('', 'ardata', 'armateria', 'artarea')");

mysqli_close($conn);
echo 'Los datos han sido insertados en la base de datos';
?>

conectar.php

Código PHP :

<?php
$servername = "sql201.260mb.net";
$username = "n260m_19293384";
$password = "iescalvia";
$base = "1esoa";
// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Conecxion fallida: " . $conn->connect_error);
} 
echo "Conectado";
?>

video aquí

Gracias

Por IVAN HEREDIA PLANAS

53 de clabLevel



Genero:Masculino  

Lo increíble, no es lo que ves, sino como es

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.