Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2012, 09:17
valago
Invitado
 
Mensajes: n/a
Puntos:
problema paso de parametros en AJAX

Mi problema es que al mandar una solicitud de amistad, para lo cual utilizo un submit, siempre que la mando me coge el valor del ultimo usuario que ha recogido de la busqueda. Le he estado dando vueltas, pero no se exactamente donde está el problema.


Código PHP:
Ver original
  1. <?php
  2. ?>
  3.  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <?
  8.     include ("include/connection.php");
  9.     include ("language.php");
  10.  
  11. ?>
  12.  
  13. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  14. <title>find</title>
  15. <link rel="stylesheet" type="text/css" href="css/index.css">
  16.  
  17.  
  18. <script type="text/javascript" src="js/jQuery-1.8.2.min.js"></script>  
  19. <script type="text/javascript" src="js/script.js"></script>  
  20. <!--script type="text/javascript" src="js/jQuery-ui-1.7.2.custom.min.js"></script-->
  21.  
  22.  
  23.  
  24.  
  25. </head>
  26.  
  27. <body>
  28.  
  29.  
  30. <div id="head">
  31.    <? include ("head.php")?>
  32. </div>
  33.  
  34.    
  35.  <div id="home">
  36.     <div class="colIzq">
  37.         <? include ("left.php")?>
  38.     </div>
  39.    
  40.     <div class="colCen">
  41.    
  42.     <?
  43.     //Para buscar por nombre, apellido, etc.
  44.         $consulta = "SELECT * FROM user WHERE (name LIKE '%".$_POST['find']."%' OR surname LIKE '%".$_POST['find']."%' OR locality LIKE'%".$_POST['find']."%' OR  province LIKE '%".$_POST['find']."%' or nacionality LIKE'%".$_POST['find']."%') AND code <> '".$_SESSION['code']."';";
  45.  
  46.         $result = mysql_query($consulta, $conn) or die (mysql_error()) ;
  47.         $toresult = mysql_num_rows($result);
  48.         if ($toresult>0) {?>
  49.          <div class="tabla">
  50.         <?
  51.             while($row = mysql_fetch_assoc($result)){
  52.         ?>
  53.               <div class="fila">  
  54.              
  55.  
  56.              
  57.                 <div class="findPhotoCol"> 
  58.         <?
  59.                     if (empty($row['photo'])){
  60.                         $photo="./0x0/NoDisponible.jpg";
  61.        
  62.                     }else{
  63.                         $photo= "users/".$row['code']."/".$row['photo'];
  64.                    
  65.                     }?>
  66.                     <img src="<?php echo $photo ?>" width="130" height="130" />
  67.                 </div>
  68.                 <div class="findDateCol">
  69.         <?
  70.                
  71.                     echo "<div class=\"findName\">" .$row['name']." " .$row['surname']."</div>";
  72.                     echo "<div class=\"findDate\">" .$row['email']."<br>";
  73.                     echo  $row['birth_data']."<br>";
  74.                     echo  $row['locality']."<br>";
  75.                     echo  $row['province']."<br>";
  76.                     echo  $row['nacionality']."<br></div>";
  77.            
  78.                     $code_user=$_SESSION['code'];
  79.                     $code_friend=$row['code'];
  80.                     $name_friend=$row['name']." ".$row['surname'];
  81.    
  82.         ?>
  83.                 </div>
  84.              
  85.              <?
  86.              //Comprobamos que no sea ya mi amig@
  87.             $sqlmyfriend= "select * from friends where user_code='".$_SESSION['code']."' and friend='".$row['code']."' or user_code='".$row['code']."' and friend='".$_SESSION['code']."' ;";
  88.             $resultmyfriend = mysql_query($sqlmyfriend, $conn) or die (mysql_error()) ;
  89.             $toresultfriend = mysql_num_rows($resultmyfriend);
  90.             if ($toresultfriend==0) {?>
  91.                    
  92.                 <input type="text" value="<?php echo $code_friend; ?>" name="post_id" id="post_id">
  93.  
  94.                 <button type="button" onClick="votar()"><?php echo $i_FRIENDSHIP; ?></button>
  95.         <?  } ?>
  96.          </div>
  97.       <? } ?>
  98.     </div> 
  99.     <?
  100.     echo mysql_error();
  101.    
  102. }
  103. ?>
  104.  
  105.  
  106.     </div>
  107.    
  108.     <div class="colDer">
  109.             <? include ("right.php")?>
  110.      </div>
  111. </div>     
  112.  
  113. </body>
  114.  
  115. </html>


Desde aquí enlazo con archivo.php, evitando tener que mandar los datos por url, ya que todo esto es por evitar que se manden las variables visibles a través de la url, pues sería un problema de seguridad.

Código AJAX:
Ver original
  1. function votar(){
  2.  
  3. $.ajax({
  4.     type: 'POST',
  5.     url: 'archivo.php',
  6.      data: 'id='+$("#post_id").val(),
  7.     success: function(h){
  8.             // Un mensaje que muestra lo que imprimo con php
  9.           alert("DENTRO DE SCRIPT"+$("#post_id").val()+h);
  10.     }
  11.   });
}


Aquí hago el insert en la base de datos

Código PHP:
Ver original
  1. <?php
  2.  
  3.  $id=$_POST[id];
  4.  
  5.  
  6.  include ("language.php");
  7.  include ("include/connection.php");
  8.  
  9.  $consulta = "INSERT INTO friends (id, user_code,friend,state) values ('','".$_SESSION['code']."','$id','0')";
  10.  
  11. echo $consulta;
  12. $result = mysql_query($consulta, $conn) or die (mysql_error()) ;
  13.  
  14.  echo $i_FRIENDSHIPSENT;
  15.      
  16.  ?>


Muchas gracias de antemano, y un saludo.