Foros del Web » Programando para Internet » Javascript »

crear registro ajax

Estas en el tema de crear registro ajax en el foro de Javascript en Foros del Web. Buenas nose porque mi registro en ajax no me registra nada esto es parte de codigo: formulario agregar gente.php Código PHP: <script language="JavaScript" type="text/javascript" src="ajax.js"></script> <div class="amigos">  <form name="nuevo_amigo" action=""  onsubmit="enviarDatosAmigo(); return false"> ...
  #1 (permalink)  
Antiguo 29/01/2012, 05:50
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
crear registro ajax

Buenas nose porque mi registro en ajax no me registra nada esto es parte de codigo:
formulario agregar gente.php
Código PHP:
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
<div class="amigos">
 <form name="nuevo_amigo" action="" 
onsubmit="enviarDatosAmigo(); return false">
    <input type="hidden" value="<?php echo $id_amigo;?>" name="id">
    <input type="hidden" value="<?php echo $id_logueado;?>" name="logueado">
    <input type="hidden" value="pendiente" name="estado">
    <input type="submit" name="Submit" value="Agregar ami" />
    </form>
 </div>
ajax.js
Código PHP:
function objetoAjax(){
    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 
enviarDatosAmigo(){
    
//donde se mostrará lo resultados
    
divResultado document.getElementById('resultado');
    
//valores de los inputs
    
id=document.nuevo_amigo.id.value;
    
logueado=document.nuevo_amigo.logueado.value;
    
estado=document.nuevo_amigo.estado.value;
    
    
//instanciamos el objetoAjax
    
ajax=objetoAjax();
    
//uso del medotod POST
    //archivo que realizará la operacion
    //registro.php
    
ajax.open("POST""registro.php",true);
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
//mostrar resultados en esta capa
            
divResultado.innerHTML ajax.responseText
            
//llamar a funcion para limpiar los inputs
        
}
    }
    
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    
//enviando los valores
    
ajax.send("id="+id+"&logueado="+logueado+"&estado="+estado)

registro.php
Código PHP:
<?php

//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "root"
$bd_password ""
$bd_base "amigo"

$con mysql_connect($bd_host$bd_usuario$bd_password); 

mysql_select_db($bd_base$con); 

//variables POST
$id_logueado=$_POST['logueado'];
$id_amigo=$_POST['id'];


//registra los datos del empleados
$sql="INSERT INTO amigos (id, id_logueado, id_amigo, Estado) VALUES ('null','$id_logueado','$id_amigo','pendiente')";

mysql_query($sql,$con);


?>
No se si esque fallo en algo o xq no me funciona el codigo entero de gente.php os lo intento dejar aki abajo. espero que me puedan ayudar a encontrar el fallo gracias.
  #2 (permalink)  
Antiguo 29/01/2012, 05:50
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: crear registro ajax

Código PHP:
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
<?php
 
include("header.php"); 

if (!isset(
$_SESSION['logueado_usuario'])) { 
    include (
"login.php");  
echo 
"<a href='registro.php'>Registrarse</a>" ;} 
    else {  
    
$nombre =$_SESSION['logueado_nombre']; 
    
$id_usuario=$_SESSION['logueado_id']; 
?> 
<link href="../Css/estilo.css" rel="stylesheet" type="text/css">
<?php
include("privados/config.php");
$registros=mysql_query("select * from usuarios WHERE id != '$id_usuario' ORDER BY id desc "$conexion)or
  die(
"Problemas en el select:".mysql_error());
 
$i=0;
 while(
$reg=mysql_fetch_array($registros))
?>
 <img src="<?php echo "".$reg['imagen']. "";?>" /><br />
<?php
$consulta
="select Estado from amigos where id_logueado='$id_usuario' and id_amigo='$reg[id]'";
$ejecuta=mysql_query($consulta) or  die("Problemas en el select:".mysql_error());
$cantidad=mysql_num_rows($ejecuta);
$consulta1="select Estado from amigos where id_logueado='$reg[id]' and id_amigo='$id_usuario'";
$ejecuta1=mysql_query($consulta1) or die ("Problemas en el select:".mysql_error());
$cantidad1=mysql_num_rows($ejecuta1);
if(
$cantidad 0)
{
$row mysql_fetch_assoc($ejecuta);
    switch(
$row['Estado'])
    {    
         case 
'pendiente':
                 echo 
'<div id="resultado"> include("consulta.php");</div><div class="amigos">Ya mandaste petición</div>';
                 echo 
$reg['nombre'];
                break;
         case 
'aceptado':
                 echo 
'<a href="perfil.php?id='.$reg['id'].'">'.$reg['nombre'].'</a>';
                break;
        
    }
}
elseif(
$cantidad1 0)
{
$row1mysql_fetch_assoc($ejecuta1);
    switch(
$row1['Estado'])
    {
        case 
'pendiente':
                echo 
'<div class="amigos">
                <form action="agregara.php" method="post">
                <input type="hidden" name="id" value="'
.$reg['id'].'">
                <input type="hidden" name="accion" value="modificar">
                <input type="submit" value="Aceptar petición">
                </form>
                </div>'
;
                echo 
$reg['nombre'];
                break;
        case 
'aceptado':
                echo 
'<a href="perfil.php?id='.$reg['id'].'">'.$reg['nombre'].'</a>';
                break;
    }
}
else 
    {
       echo 
'<div class="amigos">
 <form name="nuevo_amigo" action="" 
onsubmit="enviarDatosAmigo(); return false">
    <input type="hidden" value="<?php echo $id_amigo;?>" name="id">
    <input type="hidden" value="<?php echo $id_logueado;?>" name="logueado">
    <input type="hidden" value="pendiente" name="estado">
    <input type="submit" name="Submit" value="Agregar ami" />
    </form>
 </div>'
;
 echo 
$reg['nombre'];
 } 
      


?> 



 


 <div id="consulta"></div>
 <? ?>
 
 
 <?php ?>
este es gente.php tiene el formulario.
  #3 (permalink)  
Antiguo 29/01/2012, 12:34
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: crear registro ajax

Nadie sabe donde esta mi fallo es que por mas que busco no lo encuentro.
  #4 (permalink)  
Antiguo 29/01/2012, 14:09
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: crear registro ajax

Edie8, mira, prueba a cambiar esta linea $sql="INSERT INTO amigos (id, id_logueado, id_amigo, Estado) VALUES ('null','$id_logueado','$id_amigo','pendiente')";

donde sale 'null' despues del VALUES no pongas nada, solo deja las ''sin nada dentro, vamos que quede así VALUES ('','$id_logueado','$id_amigo','pendiente')";
  #5 (permalink)  
Antiguo 29/01/2012, 14:41
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: crear registro ajax

Nada lo acabo de probar y nada no se registra nada en mi base de datos, si saco el formulario y lo pongo aparte si me funciona pero asi no me funciona que puede ser? gracias.
  #6 (permalink)  
Antiguo 29/01/2012, 15:59
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: crear registro ajax

Me sale el siguiente error y nose como resolverlo:
C:\AppServ\www\ajax1\registro_ajax1\prueba2\gente. php:4) in C:\AppServ\www\ajax1\registro_ajax1\prueba2\header .php on line 1
linea 1-5 gente.php

<head>
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
</head>
<?php
include("header.php");
linea 1 header:
<?php session_start();

Hay algun fallo antes de poner el ajax esto funcionaba bien pero nose si tengo algun fallo. gracias.
  #7 (permalink)  
Antiguo 29/01/2012, 17:00
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: crear registro ajax

Coloca el error exacto si no es mucha molestia... Recuerda que no puedes enviar contenido html antes de un session_start(), si es posible coloca esto en la primera línea.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #8 (permalink)  
Antiguo 30/01/2012, 04:26
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: crear registro ajax

No haber el session_start(); esta en la primera linea de codigo esque son dos archivos diferentes, y el error es:
Warning:session_start()[function.session-start]:Cannot send session cache limiter - header already send (output started at C:\AppServ\www\ajax1\registro_ajax1\prueba2\gente. php:5) in C:\AppServ\www\ajax1\registro_ajax1\prueba2\header .php on line 1
y estas con las lineas que dice que tienen error:
gente.php de la 1 a la 6
<head>
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
</head>
<body>
<?php
include("header.php");

y header.php lineas 1 a 3
<?php session_start();
$nombre =$_SESSION['logueado_nombre'];
$id_usuario=$_SESSION['logueado_id'];

nose porque falla y de que es ese error no encuentro la solucion.gracias.
  #9 (permalink)  
Antiguo 30/01/2012, 05:25
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: crear registro ajax

Si era eso el error esta solucionado pero no me registra nada en la base de datos que puede ser esque ya nose que mas hacer para que funcione necesito vuestra ayuda.Esque en el que tengo fuera de la pagina no pasa nada en la url y funciona y en este al presionar mira lo que pasa:
http://localhost/ajax1/registro_ajax...it=Agregar+ami
cuando sin presionar es asi:
http://localhost/ajax1/registro_ajax1/prueba2/gente.php
Que es lo que puedo tener mal???
gracias.
aqui podeis ver lo que os digo aber si asi es mas facil que me podais ayudar. http://pruebasedyuin.comze.com/
poner prueba en email y en contraseña para poder entrar.
Otra cosa nueva que e conseguido si hay un registro ya echo y registro otra cosa diferente si funciona pero al no haber nada no registra nada que puede ser esto?? decir tambien que ese formulario se repite muchas veces segun el numero de usuarios que hay registrados ya que es para agregarlos, se puede hacer con ajax igual?? que es lo que falla? gracias.

Última edición por edie8; 30/01/2012 a las 06:16
  #10 (permalink)  
Antiguo 30/01/2012, 11:20
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: crear registro ajax

Vereis el problema de no registrar datos en la base es cuando meto el formulario en un while y que se repita tantas veces como usuarios hay sin agregar alguien sabe por que me sucede esto y como solucionarlo esque no se como resolver esto. gracias.
  #11 (permalink)  
Antiguo 31/01/2012, 03:32
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: crear registro ajax

Nadie sabe porque falla y como solucionarlo esque nose que mas probar e buscado en google y en tos lados pero na de na no sale nada de como poner un formulario en while y que registre mediante ajax sin problemas como puedo hacer esto que tengo mal, os agradeceria mucho las respuestas. un saludo.

Etiquetas: ajax
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 06:49.