Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Insertar en BD

Estas en el tema de Insertar en BD en el foro de Frameworks JS en Foros del Web. ALguien de aqui sabe como se puede realizar una aplicacion donde el usuario introduzca algo en un textbox y se ingrese a la Base de ...
  #1 (permalink)  
Antiguo 21/04/2006, 17:48
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 10 meses
Puntos: 3
Insertar en BD

ALguien de aqui sabe como se puede realizar una aplicacion donde el usuario introduzca algo en un textbox y se ingrese a la Base de datos... encontre una forma, pero ahi solo se modifican datos ya existentes...
Yo intente hacer uno, pero solo me inserta un campo vacio..
Código PHP:
                               <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
title>BD </title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</
head>
                    <
script language="javascript">
                    function 
nuevoAjax(){
                    var 
xmlhttp=false;
                     try {
                      
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                     } catch (
e) {
                      try {
                       
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                      } catch (
E) {
                       
xmlhttp false;
                      }
                     }

                    if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
                      
xmlhttp = new XMLHttpRequest();
                    }
                    return 
xmlhttp;
                    }

                    function 
cargarContenido(datasource,divID){
                        var 
contenedor;
                        
contenedor document.getElementById(divID);
                        
contenedor.innerHTML '<center><img src="loader.gif" /> </center>';
                        
ajax=nuevoAjax();
                        
ajax.open("GET","bd.php",true);
                        
ajax.onreadystatechange=function() {
                         if (
ajax.readyState==4) {
                            
contenedor.innerHTML ajax.responseText
                            
}
                        }
                    
ajax.send(null)
                    }

                    
</script>
                    <style type="text/css">

                #contenedor{
                border: 5px solid #f00;
                padding: 10px;
        margin: 14px;
    }
    </style>
<body>


           <center><input type =submit value = "Manda un email" onclick ="cargarContenido('correo.html','contenedor')"></center>
               <center>Inserta tu nombre
                <input type="text" name="nombre"><br>
                <input type=submit value="ENVIAR" onclick="cargarContenido('bd.php','contenedor')"> </center>
        <div id="contenedor">
        </div>
      
</body>
</html> 
y este es el php:
Código PHP:


<?
        $con
=mysql_connect("localhost","root","passw")or die(mysql_error());
        
mysql_select_db("prueba",$con);

  
$query=mysql_query("insert into nombres (nombre) values('{$_POST['nombre']}')");

    if(
mysql_insert_id())
    {
       echo 
"Se insertaron los datos";
    }

?>
  #2 (permalink)  
Antiguo 21/04/2006, 20:28
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 19 años, 2 meses
Puntos: 56
en la línea ajax.open("GET","bd.php",true); hacen falta los parámetros, que en esta modalidad son los valores de los campos del formulario, es decir algo como nombre=valor_campo&loquesea=nada, además te falta el Formulario, de otra manera no podrás obtener los valores de los campos input.
Pudes hacer uso de librerías javascript que te ahorarán tiempo... particularmente utilizo esta: script.aculo.us que está basada en prototype
hay mucho pan por rebanar aún
suerte!
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 21/04/2006, 23:42
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 10 meses
Puntos: 3
Pues tengo el textbox, si no lo pongo dentro de un form, no se puede recoger los datos???.. ahhh y en el form hay q poner method=POST o method=GET????
Y lo q dices q me faltan parametros entonces quedaria:
ajax.open("GET","bd.php?nombre="+"&"+nombre=nombre ,true) ... q nombre es la variable.. y el otro nombre es el "nombre" valgame la redundancia de la variable del input..
Asi quedaria,o no?
  #4 (permalink)  
Antiguo 22/04/2006, 07:32
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 19 años, 2 meses
Puntos: 56
Como dijo Jack el destripador, ! vamos por partes !... para el envío de datos es necesario un formulario <form> el método a utilizar es el que desees, ahora, cuál es la diferencia: con el método GET los parámetros enviados se ven en la barra del navegador; en cambio con el método POST los datos enviados no se muestran en el navegador, (usando ajax y GET los valores no se muestran tampoco).
Entonces una vez seleccionado el método de envío, debes "recoger" los valores de los campos del formulario utilizando su "nombre", el cual está dado por el valor name dentro del input: <input type="text" name="campo1"...>
Ahora, haciendo uso de ajax es necesario enviarle el método que usarás, la página que recibirá los datos y finalmente los valores de los campos del formulario; algo como ajax.open("GET","bd.php","campo1=valor1&campo2=val or2&campo3=valor3")
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #5 (permalink)  
Antiguo 23/04/2006, 16:24
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 10 meses
Puntos: 3
Gracias jcxnet, pero aunque le ponga los parametros, me sigue llevando valor vacio a la base de datos:
Código PHP:
                               <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
title>AjaxEjemplo 1 Carga externa de datos</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</
head>
                    <
script language="javascript">
                    function 
nuevoAjax(){
                    var 
xmlhttp=false;
                     try {
                      
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                     } catch (
e) {
                      try {
                       
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                      } catch (
E) {
                       
xmlhttp false;
                      }
                     }

                    if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
                      
xmlhttp = new XMLHttpRequest();
                    }
                    return 
xmlhttp;
                    }

                    function 
cargarContenido(){
                        var 
contenedor;
                        var 
nombre;
                        
contenedor document.getElementById('contenedor');
                        
contenedor.innerHTML '< center><img src="loader.gif" /> </center>';
                        
nametext =document.myform.texto1.value;
                        
ajax=nuevoAjax();
                        
ajax.open("GET","bd.php?"+"&"+"nombre=nametext",true);

                        
ajax.onreadystatechange=function() {
                         if (
ajax.readyState==4) {
                            
contenedor.innerHTML ajax.responseText
                            
}
                        }
                    
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                    
ajax.send(null)
                    }

                    
</script>
                    <style type="text/css">

                #contenedor{
                border: 5px solid #f00;
                padding: 10px;
        margin: 14px;
    }
    </style>
<body>


           <center><input type =submit value = "Manda un email" onclick ="cargarContenido()"></center>

               <form name ="myform" method="GET" onSubmit = "cargarContenido();return false">
                    <div><input type="text" id="texto1"></div>
                    <div> <input type=submit value="ENVIAR" onPress="cargarContenido()"> </div>
               </form>

        <div id="contenedor">


        </div>



</body>
</html> 
  #6 (permalink)  
Antiguo 23/04/2006, 17:19
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 10 meses
Puntos: 3
Bueno cuando postie estaba enfadado por q no solucionaba el problema, pero despues le segui y pude solucionar el problema... tenia un pequenio error de sintaxis en el metodo GET:
este es el correcto:
ajax.open("GET","bd.php?"+"&"+"nombre="+nametext,t rue);
Ya q nametext, "agarraba" el valor del inputbox, por medio de javascript..
Y otro error q tenia... era que en el php agarraba el valor por medio de $_POST y era por $_GET, me di cuenta cuando hize un "print_r" de $_POST y vi q no recibia nada..
Pero bueno, ya funciona :S
  #7 (permalink)  
Antiguo 25/04/2006, 10:42
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 18 años, 8 meses
Puntos: 1
De acuerdo Oye Amigo!!!

Oye Que bueno ya lo resolviste... solo un fabor estueve revando tu ejemplo tambien y apenas soy novatto en esto...si me harias el fabor de poner tu codigo ya resuelto....por fa...!!!!
__________________
El Futuro esta en Tus Manos...
  #8 (permalink)  
Antiguo 25/04/2006, 11:15
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 18 años, 8 meses
Puntos: 1
De acuerdo Gracias

Sabes ya lo resolvi...muchas gracias por poner tu codigo esta bueno.....
__________________
El Futuro esta en Tus Manos...
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 22:54.