Foros del Web » Creando para Internet » HTML »

Div no permite insertar datos con php y mysql

Estas en el tema de Div no permite insertar datos con php y mysql en el foro de HTML en Foros del Web. Buen dia amigos. Tengo un problema y una duda con el diseño de <div> en html. Descargue una plantilla html donde el menu se encuentra ...
  #1 (permalink)  
Antiguo 23/11/2015, 20:16
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 10 meses
Puntos: 2
Div no permite insertar datos con php y mysql

Buen dia amigos. Tengo un problema y una duda con el diseño de <div> en html. Descargue una plantilla html donde el menu se encuentra al lado izquierdo dentro de un <div>, este menu tiene enlaces que apuntaran a otro <div> que se encuentra a la derecha en donde se cargará la información, de esta forma simulando frames.

Tengo un formulario en el div derecho para insertar datos con php y MySQL, cuando trato de insertar los datos con la pagina conformada por "Divs" no me inserta nada, pero cuando abro la ventana independiente del <div> qie contiene el formulario si me lo inserta. Allguien me puede decir como hacer que los datos se inserten dentro del <div>

index.php

Código HTML:
Ver original
  1.  
  2. <script type='text/javascript'>
  3.     function cargarContenido(pagina)
  4.     {
  5.         // cargamos el icono en el div donde ira el contenido
  6.         $("#columnader").html("<img src='ajax-loader.gif' class='loader' border='0' />");
  7.         // cargamos la pagina en el div capa
  8.         $("#columnader").load(pagina);
  9.     }
  10.  
  11. </head>
  12. <div id="columnaizq">
  13. <li><a onClick="cargarContenido('ciudad.php')" href="#">Ciudad</a></li>
  14. </div>
  15.         <div id="columnader">
  16.         </div>
  17. </body>
  18. </<html>

ciudad.php

Código HTML:
Ver original
  1. </head>
  2. <div id="columnader">
  3. <FORM NAME="tipo_doc" METHOD="post">
  4. Agregar: <input type="text" name="dtalle_ciu" MAXLENGTH=45></input>
  5. <input type="submit" name="enviar" value="Guardar" class="button white"></input></FORM>
  6. </div>
  7. </body>
  8. </<html>

El script que esta en la cabecera de la pagina index.php hace que al dar clic en el menu del <div id="columnaizq"> aparezca la informacion en el <div id="columnader">, pero no me inserta cuando ejecuto el boton 'enviar' en la pagina index.php. Cuando ejecuto el boton 'enviar' en la pagina ciudad.php si me inserta el dato en mi DB
  #2 (permalink)  
Antiguo 23/11/2015, 22:27
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: Div no permite insertar datos con php y mysql

ok te pregunto algo, tu pagina principal es php o html???? digo porque si estas cargando contenido php dentro de una pagina con extension html, no creo que te funcione
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 24/11/2015, 05:11
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Div no permite insertar datos con php y mysql

Hola xfxstudios Gracias por responder. Las dos son .php
  #4 (permalink)  
Antiguo 24/11/2015, 05:19
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: Div no permite insertar datos con php y mysql

toma en consideracion el hecho de que estas repitiendo todas las etiquetas en un mismo documento, <html>, <head>, <body>...., eso te puede causar conflictos, lo otro es: ¿El formulario se envia dentro de la misma pagina ciudad.php? o ¿Es enviado a otro php?
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 24/11/2015, 05:49
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Div no permite insertar datos con php y mysql

Si, se envia dentro de la misma pagina ciudad.php
  #6 (permalink)  
Antiguo 24/11/2015, 06:11
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: Div no permite insertar datos con php y mysql

alli creo que radica tu probloema, prueba crear un php con el codigo de envio del formulario, y adapta el form para que envie la info a este nuevo archivo y prueba nuevamente, o trata de ejecutar la instruccion de envio por medio de ajax para evitar recargar la pagina, pero primero intenta lo que te recomende al principio
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 24/11/2015, 06:30
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Div no permite insertar datos con php y mysql

Hola si me funcionó como tu dijiste. Ahora cuando envio el formulario desde ciudad.php a enviar.php me inserta los datos y para que la pagina no se me quede en blanco hago un document.location=('index.php'); para devolverme a la pagina inicial, pero cuando hago esto, el contenido del <div id="columnader"> (osea el formulario de ciudad.php en este caso) se desaparece. ¿hay alguna forma de hacer que no se pierda el contenido que se esta trabajando? probé haciendo un document.location=('ciudad.php'); pero me lleva es a la pagina ciudad.php


ciudad.php

Código HTML:
Ver original
  1. <FORM NAME="tipo_doc" METHOD="post" action="enviar.php">
  2.     <br>Agregar: <input type="text" name="dtalle_ciu" MAXLENGTH="45"></input><br><br><br>
  3.     <br><input type="submit" name="enviar" value="Guardar" class="button white"></input>
  4.    </FORM>
enviar.php

Código PHP:
Ver original
  1. <?php include ("conex.php"); ?>
  2.  
  3.         <?php
  4.         if($_POST["enviar"]!="")    
  5.         {
  6.             $sql = "insert into ciudad (dtalle_ciu) values ('".$_POST["dtalle_ciu"]."')";
  7.                 if( mysql_query( $sql, $link ) )            
  8.                 {
  9.             echo "<script language='javascript'>alert('Registro Guardado correctamente');document.location=('index.php');</script>";
  10.         }
  11.         }          
  12.        ?>
  #8 (permalink)  
Antiguo 24/11/2015, 06:32
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: Div no permite insertar datos con php y mysql

si amigo, puedes realizar el envio con ajax y asi no se recarga la pagina, en todo caso crear un div debajo del formulario para recibir la respuesta de mensaje enviado y algun codigo js que limpie los input, pero esto tambien se puede desde el mismo ajax
__________________
[email protected]
HITCEL
  #9 (permalink)  
Antiguo 24/11/2015, 06:40
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: Div no permite insertar datos con php y mysql

para enviar con ajax seria algo asi:

Código Javascript:
Ver original
  1. function objetoAjax(){
  2.         var xmlhttp = false;
  3.         try {
  4.             xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.         } catch (e) {
  6.  
  7.             try {
  8.                 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  9.             } catch (E) {
  10.                 xmlhttp = false; }
  11.         }
  12.  
  13.         if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.           xmlhttp = new XMLHttpRequest();
  15.         }
  16.         return xmlhttp;
  17.     }
  18.    
  19. function enviar(){
  20.  
  21.         //Recogemos los valores introducimos en los campos de texto
  22.         nombre = document.form.nombre.value;
  23.         ciudad = document.form.ciudad.value;
  24.    
  25.          //Aquí será donde se mostrará el resultado
  26.         resultado = document.getElementById('resultado');
  27.  
  28.         //instanciamos el objetoAjax
  29.         ajax = objetoAjax();
  30.  
  31.         //Abrimos una conexión AJAX pasando como parámetros el método de envío, y el archivo que realizará las operaciones deseadas
  32.         ajax.open("POST", "enviar.php", true);
  33.  
  34.         //cuando el objeto XMLHttpRequest cambia de estado, la función se inicia
  35.         ajax.onreadystatechange = function() {
  36.  
  37.              //Cuando se completa la petición, mostrará los resultados
  38.             if (ajax.readyState == 4){
  39.  
  40.                 //El método responseText() contiene el texto de nuestro 'consultar.php'. Por ejemplo, cualquier texto que mostremos por un 'echo'
  41.                 resultado.innerHTML = (ajax.responseText)
  42.             }
  43.         }
  44.  
  45.         //Llamamos al método setRequestHeader indicando que los datos a enviarse están codificados como un formulario.
  46.         ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  47.  
  48.         //enviamos las variables a 'enviar.php'
  49.         ajax.send("&nombre="+nombre+"&ciudad="+ciudad)
  50.  
  51. }

Código HTML:
Ver original
  1. <form name="form" action="" onSubmit="enviar(); return false">
  2. <input type="text" name="nombre"/><br>
  3. <input type="text" name="ciudad"/><br>
  4.  
  5. <input type="submit" value="Enviar"/>
  6. </form>
  7. <div id="resultado"></div>

el codigo ajax debe estar en pa pagina donde este el formulario, en tu caso deberas colocarlo en la pagina principal donde esta el DIV que carga el form.

En el DIV de resultado se va a cargar la informacion que imprimas desde tu php, ejemplo:

Código PHP:
Ver original
  1. //si el mensaje fue enviado
  2. if($mail){
  3. echo "Mensaje Enviado con éxito";
  4. } else{
  5. echo "Mensaje no enviado";
  6. }

lo que esta en los echo es lo que va a cargar el ajax en el div de resultado, saludos.!
__________________
[email protected]
HITCEL
  #10 (permalink)  
Antiguo 24/11/2015, 11:02
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Div no permite insertar datos con php y mysql

Hola, hice lo que me pediste pero cuando envío los datos desde ciudad.php hasta enviar.php se queda la pagina en blanco y no inserta los datos

index.php


Código HTML:
Ver original
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2.    
  3.     <script language="JavaScript">
  4.    
  5. function objetoAjax(){
  6.         var xmlhttp = false;
  7.         try {
  8.             xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  9.         } catch (e) {
  10.  
  11.             try {
  12.                 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  13.             } catch (E) {
  14.                 xmlhttp = false; }
  15.         }
  16.  
  17.         if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  18.          xmlhttp = new XMLHttpRequest();
  19.         }
  20.         return xmlhttp;
  21.     }
  22.    
  23. function enviar(){
  24.  
  25.         //Recogemos los valores introducimos en los campos de texto
  26.         nombre = document.form.nombre.value;
  27.         dtalle_ciu = document.form.dtalle_ciu.value;
  28.    
  29.          //Aquí será donde se mostrará el resultado
  30.         resultado = document.getElementById('resultado');
  31.  
  32.         //instanciamos el objetoAjax
  33.         ajax = objetoAjax();
  34.  
  35.         //Abrimos una conexión AJAX pasando como parámetros el método de envío, y el archivo que realizará las operaciones deseadas
  36.         ajax.open("POST", "enviar.php", true);
  37.  
  38.         //cuando el objeto XMLHttpRequest cambia de estado, la función se inicia
  39.         ajax.onreadystatechange = function() {
  40.  
  41.              //Cuando se completa la petición, mostrará los resultados
  42.             if (ajax.readyState == 4){
  43.  
  44.                 //El método responseText() contiene el texto de nuestro 'consultar.php'. Por ejemplo, cualquier texto que mostremos por un 'echo'
  45.                 resultado.innerHTML = (ajax.responseText)
  46.             }
  47.         }
  48.  
  49.         //Llamamos al método setRequestHeader indicando que los datos a enviarse están codificados como un formulario.
  50.         ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  51.  
  52.         //enviamos las variables a 'enviar.php'
  53.         ajax.send("&nombre="+nombre+"&dtalle_ciu="+dtalle_ciu)
  54.  
  55. }    
  56.    
  57.    </script>    
  58.    
  59. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  60. <title>Bienvenido a Credi Progreso</title>
  61. <link href="css.css" rel="stylesheet" type="text/css" />
  62. </head>
  63.  
  64.           <form name="form" action="enviar.php" onSubmit="enviar(); return false">
  65.     <br>Nombre: <input type="text" name="nombre" MAXLENGTH="45"></input><br>
  66.         Ciudad: <input type="text" name="dtalle_ciu" MAXLENGTH="45"></input><br>            
  67.             <br><br>
  68.     <br><input type="submit" name="enviar" value="Guardar" class="button white"></input>
  69.         </form>
  70.    
  71. <div id="resultado">
  72. </div>    
  73. </body>
  74. </html>


enviar.php

Código PHP:
Ver original
  1. <?php include ("conex.php"); ?>
  2.  
  3. <div id="resultado">
  4.         <?php
  5.         if($_POST["enviar"]!="")    
  6.         {
  7.         $checkuser = mysql_query("SELECT dtalle_ciu FROM ciudad WHERE dtalle_ciu='$_POST[dtalle_ciu]'");
  8.         $dtalle_ciu_exist = mysql_num_rows($checkuser);
  9.         if ($dtalle_ciu_exist>0) {
  10. echo "El dato ya existe. Por favor digite otro');";
  11.         }else{
  12.         if($_POST["dtalle_ciu"]!="")
  13.         {      
  14.             $sql = "insert into ciudad (dtalle_ciu,nombre) values ('".$_POST["dtalle_ciu"]."','".$_POST["nombre"]."')";
  15.                 if( mysql_query( $sql, $link ) )            
  16.                 {
  17.             echo "Registro Guardado correctamente";
  18.         }
  19.         }          
  20.             else{ echo "Falta un campo por digitar";
  21.                   }
  22.               }
  23.        
  24.         }                      
  25.        ?>
  26.  
  27. </div>
  #11 (permalink)  
Antiguo 24/11/2015, 14:26
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: Div no permite insertar datos con php y mysql

primero modifica esto asi sin elementos html como los DIVs:

Código HTML:
Ver original
  1. include ("conex.php");
  2.  
  3.         if($_POST["enviar"]!="")    
  4.         {
  5.         $checkuser = mysql_query("SELECT dtalle_ciu FROM ciudad WHERE dtalle_ciu='$_POST[dtalle_ciu]'");
  6.         $dtalle_ciu_exist = mysql_num_rows($checkuser);
  7.         if ($dtalle_ciu_exist>0) {
  8. echo "El dato ya existe. Por favor digite otro');";
  9.         }else{
  10.         if($_POST["dtalle_ciu"]!="")
  11.         {      
  12.             $sql = "insert into ciudad (dtalle_ciu,nombre) values ('".$_POST["dtalle_ciu"]."','".$_POST["nombre"]."')";
  13.                 if( mysql_query( $sql, $link ) )            
  14.                 {
  15.             echo "Registro Guardado correctamente";
  16.         }
  17.         }          
  18.             else{ echo "Falta un campo por digitar";
  19.                   }
  20.               }
  21.        
  22.         }

segundo el form elimina el action asi, ya que elenvio lo va a hacer ajax asi:

Código HTML:
Ver original
  1. action="" onSubmit="enviar(); return false"
alli ya deberia de funcionarte
__________________
[email protected]
HITCEL
  #12 (permalink)  
Antiguo 24/11/2015, 20:22
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Div no permite insertar datos con php y mysql

Gracias por tu ayuda, ya le cogí el hilo

Etiquetas: formulario, input, mysql, permite, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:28.