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

fallo al pasar datos

Estas en el tema de fallo al pasar datos en el foro de Frameworks JS en Foros del Web. buenas gente estoy trabajando con jquery para el paso de datos a una base de datos de forma asincrona, los datos los recojo de un ...
  #1 (permalink)  
Antiguo 05/04/2011, 05:36
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 7 meses
Puntos: 1
fallo al pasar datos

buenas gente estoy trabajando con jquery para el paso de datos a una base de datos de forma asincrona, los datos los recojo de un formulario, y para enviar los datos recogidos y mandarlos al php utilizo la funcion de jquery(jquery.ajax() ) pero mi problema esta que no se si estoy pasando bien los datos al servidor, o si el $_post recibe bien los datos para que ejecute correctamente la sentencia sql, mi codigo es el siguiente:

<form method="post" action="enviaDatosAlta.php" id="formAlta" class="texto2">
Introduce nombre del miembro:
<input type="text" id="usuario" size="25" class=":required" /> <br><br>
Introduce apellidos del miembro:
<input type="text" id="apellidos" size="25" class=":required" /><br><br>
Introduce telefono del miebro:
<input type="text" placeholder="(999) 999-999" class=":required :number :length;9" id="telefono" size="15"/><br><br>
Introduce fax del miembro:
<input type="text" placeholder="(999) 999-999" class=":required :number :length;9" id="fax" size="15"/><br><br>
Introduce e-mail del miembro:
<input type="text" placeholder="[email protected]" id="mail" size="25" class=":email :required" /><br><br>
Selecciona tipo de miembro:
<input type="radio" id="tipo" class=":required" /> Investigador
<input type="radio" id="tipo" class=":required" /> Investigador Principal
<input type="radio" id="tipo" class=":required" /> Ayudante <br><br>
Introduce un nombre de usuario:
<input type="text" id="nick" size="12" class=":required :max_length;15" /><br><br>
Introduce una contrase&ntilde;a:
<input type="password" id="password" size="12" class=":required :min_length;6" /><br><br>
Introduce una descripcion del miembro:<br>
<textarea type="text" class=":required" id="desc" rows="10" cols="50" />
<input type="image" src="img/bt_login.png" id="btsend" name="btsend" class="btsend"/>

</form>

<div class="msg" style="display:none;" >
<p class="texto">
MIEMBRO AÑADIDO SATISFACTORIAMENTE.
</p>
</div>


<script>
$("#formAlta").submit(function(event){
//alert("hola");
event.preventDefault();

var nb = $('#usuario').val();
var ape = $('#apellidos').val();
alert(ape);
var tel = $('#telefono').val();
var fax = $('fax').val();
var tipo = $('#tipo').val();
var nick = $('#nick').val();
var pass = $('#password').val();
var desc = $('#desc').val();
$.ajax({
type: "POST",
url: "enviaDatosAlta.php",
data: "usuario"+ nb +"&apellido"+ ape +"&telefono"+ tel +"&fax"+ fax +"&tipo"+ tipo +"&nick"+ nick +"&password"+ pass + "&desc"+ desc,
success: function(){
$("#formAlta").hide(function(){$('div.msg').fadeIn ().fadeOut(3000);});
$("#flotante").fadeOut(4000);
}
});
});

</script>



y el codigo php es el siguiente:

<?php

include("conectarse.php");
$link = conectarse();
//session_start();


$nombreUsu = $_POST['nb'];
$apeUsu = $_POST['ape'];
$telUsu = $_POST['tel'];
$faxUsu = $_POST['fax'];
$mailUsu = $_POST['mail'];
$nickUsu = $_POST['nick'];
$passUsu = $_POST['pass'];
$descriMiembro = $_POST['desc'];


$sql = "INSERT INTO miembros (nombre,apellidos,info,telefono,fax,mail,tipoMiemb ro,usu,pass)";
$sql = $sql.'VALUES ("'.$nombreUsu.'","'.$apeUsu.'","'.$descriMiembro. '","'.$telUsu.'","'.$faxUsu.'","'.$mailUsu.'","'.$ tUsu.'","'.$nickUsu.'","'.$passUsu.'")';
mysql_query($sql,$link);

?>


cualquier posible respuesta sera de gran ayuda

muchas gracias
  #2 (permalink)  
Antiguo 05/04/2011, 06:27
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: fallo al pasar datos

no, fijate que ttiene que ser clave=valor y en tu concatenacion va a quedar clavevalor te falta el signo igual

jquery tiene un método serialize() que te forma la query string

esto:
data: "usuario"+ nb +"&apellido"+ ape.......

quedaria

data: $('#formAlta').serialize()


y para sacarte la duda si estas enviando bien los datos usa el firebug
  #3 (permalink)  
Antiguo 05/04/2011, 08:30
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: fallo al pasar datos

gracias por tu ayude la verdad esq asi me funciona genial, pero el radio button no me coge el q yo pulso, sabes a q puede ser debido?

gracias de nuevo
  #4 (permalink)  
Antiguo 05/04/2011, 08:37
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: fallo al pasar datos

crea bien el formulario ninguno tiene el atributo name, no va a pasar ningún dato
  #5 (permalink)  
Antiguo 06/04/2011, 08:11
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: fallo al pasar datos

yaa, bueno me olvide de ponerselo justo cuando postee aki pero si q le tengo el atributo name a todos
te lo vuelvo a poner:

<form method="post" action="enviaDatosAlta.php" id="formAlta" class="texto2">
Introduce nombre del miembro:
<input type="text" name="usuario" id="usuario" size="25" class=":required" /> <br><br>
Introduce apellidos del miembro:
<input type="text" name="apellidos" id="apellidos" size="25" class=":required" /><br><br>
Introduce telefono del miebro:
<input type="text" name="telefono" placeholder="(999) 999-999" class=":required :number :length;9" id="telefono" size="15"/><br><br>
Introduce fax del miembro:
<input type="text" name="fax" placeholder="(999) 999-999" class=":required :number :length;9" id="fax" size="15"/><br><br>
Introduce e-mail del miembro:
<input type="text" name="mail" placeholder="[email protected]" id="mail" size="25" class=":email :required" /><br><br>
Selecciona tipo de miembro:
<input type="radio" name="tipo" id="tipo" class=":required" /> Investigador
<input type="radio" name="tipo" id="tipo" class=":required" /> Investigador Principal
<input type="radio" name="tipo" id="tipo" class=":required" /> Ayudante <br><br>
Introduce un nombre de usuario:
<input type="text" name="nick" id="nick" size="12" class=":required :max_length;15" /><br><br>
Introduce una contrase&ntilde;a:
<input type="password" name="password" id="password" size="12" class=":required :min_length;6" /><br><br>
Introduce una descripcion del miembro:<br>
<textarea type="text" name="desc" class=":required" id="desc" rows="10" cols="50" />
<input type="image" src="img/bt_login.png" id="btsend" name="btsend" class="btsend"/>

</form>


incluso con el name no me coge bien el radio button no se a q es debido
  #6 (permalink)  
Antiguo 07/04/2011, 05:44
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: fallo al pasar datos

fijate que en el código php no vi donde recuperas el parámetro 'tipo'

fijate con el firebug que es lo que ten envia
  #7 (permalink)  
Antiguo 07/04/2011, 09:35
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: fallo al pasar datos

tengo otra duda, para mostrar usuarios almacenados en la bd lo q hice fue una funcion en php q recoge solo los atributos(nombre, apellidos, nombre de usuario) y mete cada tipo de atributo en un array, luego cree otro array q contiene a los otros 3 arrays, lo hice con la funcion array_map tal q asi:

function mostrarUsuBaja(){
$array_nombres = array();
$array_ape = array();
$array_nick = array();
$i = 0;
$link = conectarse(); // asignamos el link de conexion
$sql = "SELECT nombre,apellidos,usu FROM miembros ORDER BY nombre";
$res = mysql_query( $sql, $link);
while($fila = mysql_fetch_array($res)){
$array_nombres[$i] = $fila['nombre'];
$array_ape[$i] = $fila['apellidos'];
$array_nick[$i] = $fila['usu'];
$i++;
}
$map = array_map(NULL,$array_nombres,$array_ape,$array_ni ck); // creamos un MAP que contiene para cada celda el nombre apellido y nick
return $map;
}


si hago un print_r ($map) me los muesrta pero todos seguidos y yo lo q kiero es recorrerlo yo e irlos mostrando en una tabla tal q asi:
<?php
$array_mapeado = mostrarUsuBaja();

for($i=0; i<$num; $i++){
?>


<table class="texto">
<tbody>
<tr>
<td valign="top">
<table width="100%" style="margin-left:50px;">
<tbody >
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td> Nombre: </td>
<td> <?php echo($array[$i]['nombre']); ?> </td>
</tr>
<tr>
<td> Apellidos: </td>
<td><?php echo($array[$i]['apellidos']); ?> </td>
</tr>
<tr>
<td> Nombre de usuario: </td>
<td> <?php echo($array[$i]['usu']); ?> </td>
</tr>
<tr>
<td><button onClick=""> eliminar usuario</button></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>


pero haciendolo de esta forma no consigo q recorra el array y nose cual puede ser el error

si alguien pudiese echarme una mano se lo agradeceria ya q esto de la programacion web me esta costando un poco mas de lo q pensaba

Etiquetas: jquery
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 17:55.