Foros del Web » Programando para Internet » PHP »

No me registra una variable $_POST :/

Estas en el tema de No me registra una variable $_POST :/ en el foro de PHP en Foros del Web. Hola, tengo algo hecho en ajax , para guardar el comentario sin recargar la pag, y mi codigo es algo asi: Código: <script type="text/javascript"> function ...
  #1 (permalink)  
Antiguo 18/02/2012, 21:24
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
No me registra una variable $_POST :/

Hola, tengo algo hecho en ajax , para guardar el comentario sin recargar la pag, y mi codigo es algo asi:

Código:
<script type="text/javascript">
function errorrojo(cuerpo_comment)
{
	if(cuerpo_comment == '')
	{
		document.getElementById('error').innerHTML='<br><font class="size10" style="color: red;">No has escrito ning&uacute;n comentario.</font>'; 
		return false;
	}else{
		add_comment();
		return false;
	}
}</script>


Entonces, mi fichero add_comment que es el que registra es asi:

Código:
<?php

include('config.php');


$comentario = $_POST[cuerpo_comment];
$nick = $_COOKIE[usuario];
$fecha = date("Y-m-d h:i:s");



mysql_query("INSERT INTO comentarios (nick, comentario, fecha, id_post) VALUES ('$nick', '$comentario', '$fecha', '$_POST[id_post]')") or die(mysql_error());


echo "Comentario agregado!";


?>


El tema es que me registra todo bieeen, menos el $_POST[id_post], y probe hacer
Código:
echo $_POST[id_post];
en ese mismo fichero para ver si me cargaba la variable, y para sorpresa mia, si la cargaba, entonces estoy desorientaado :/ como puede ser que no la almacene?
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #2 (permalink)  
Antiguo 18/02/2012, 21:51
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: No me registra una variable $_POST :/

muestranos como haces la conexion asincrónica, ya que si lo estas haciendo con ajax puede que el método de envio no sea post sino get, pero es muy dificil decirtelo si no se ve como estas haciendo la conexion con este archivo, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 19/02/2012, 14:38
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: No me registra una variable $_POST :/

Hola gracias por responder!

Mira en mi Js tengo esto:

Cita:
function add_comment(ID_TOPIC)
{

$("#previacomentario").slideUp(1);
$('#gif_cargando_add_comment').css('display', 'block');
$('#cuerpo_comment').attr('disabled', 'true'); //Bloquemos el FORM
$('#post').attr('disabled', 'true'); //deshabilitamos el boton "Enviar" para que no se envie dos veces por error

$.ajax({
type: 'POST',
url: '/add_comment.php',
data: 'ID_TOPIC='+ ID_TOPIC +'&cuerpo_comment='+encodeURIComponent($('#cuerpo_ comment').val()),
success: function(h){
$('#gif_cargando_add_comment').css('display', 'none');
if($('#no_comentarios')) //Mensaje de que no hay comments??
$('#no_comentarios').hide('slow'); //Entonces lo desaparecemos e insertamos el comment

$('#cant_comments_post').slideDown("slow");


$('#previacomentario').html(h);

$('#previacomentario').slideDown("slow", function(){
$('#cajacomment').fadeOut('slow');
$('#commentselect').fadeOut('slow');

});



},
error: function(){
// error: $('#previacomentario').slideDown("slow");
}

});
}


Dsps de modificar algunas cosas me registra el valor 1 cuando el post tiene el id 39 por ej :/

Mira quedo asi todo:

Cita:

<form action="http://www.maniacosdelared.com.ar/add_comment.php" method="post" accept-charset="UTF-8" id="postmodify" name="postmodify">


<textarea style="height:90px;width:615px;-moz-border-radius:5px;" id="cuerpo_comment" name="cuerpo_comment" class="markItUpEditor" tabindex="1"></textarea>


<input type="hidden" value="<?php echo $camila[id]; ?>" name="ID_TOPIC" />

<input class="buttons" type="submit" name="post" id="post" onclick="returnerrorrojo(this.form.cuerpo_comment. value,1,45,1);" value="Comentar" tabindex="2" />


</



y mi php quedo asi:

Código PHP:

<?php

include('config.php');
include(
'seguro.php');




$comentario seguro($_POST[cuerpo_comment]);
$nick $_COOKIE[usuario];

date_default_timezone_set('America/Argentina/Buenos_Aires');

$fecha date("Y-m-d G:i:s a");

$ID_POST $_POST[ID_TOPIC];


mysql_query("INSERT INTO comentarios (nick, comentario, fecha, id_post) VALUES ('$nick', '$comentario', '$fecha', '$ID_POST')") or die(mysql_error());


echo 
"Comentario agregado!";


?>

Bueno ahora me ingresa el valor 1 , no entiendo por que :S
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #4 (permalink)  
Antiguo 19/02/2012, 14:52
Avatar de alvidales  
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 12 años, 2 meses
Puntos: 11
Respuesta: No me registra una variable $_POST :/

Tienes un espacio entre "cuerpo_" y "comment" en la siguiente linea, verifica que tu div se llame igual que como lo pones ahi

encodeURIComponent($('#cuerpo_ comment').val())

checa tambien que las referencias de los $_POST tengan comillas tu estas declarando lo siguiente:

$_POST[ID_TOPIC]

intenta haciendolo de esta manera:

$_POST['ID_TOPIC'] (con comillas).
  #5 (permalink)  
Antiguo 19/02/2012, 15:07
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: No me registra una variable $_POST :/

Es increible probe haciendo eso que me recomendaste y nada :S me registra "1", y no lo puedo creer porque si dejo de usar ajax y recargo la pag me registra bien, osea que el problema esta en como paso las variables con ajax ,no? se te ocurre algo que pueda ser? (el cuerpo_comment lo registra perfecto , es decir el comentario, pero el id del usuario que se carga perfecto en el input="hidden" no lo puedo pasar correctamente)
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #6 (permalink)  
Antiguo 19/02/2012, 15:46
Avatar de alvidales  
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 12 años, 2 meses
Puntos: 11
Respuesta: No me registra una variable $_POST :/

Verifica las variables que estas mandando a errorrojo() y dentro de esta función mandas llamar addComment pero sin ninguna variable, y supuestamente tienes que mandarle el ID_TOPIC.
  #7 (permalink)  
Antiguo 19/02/2012, 15:53
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: No me registra una variable $_POST :/

Le puse asi y sigue sin insertarlo :/ esta mal escrita la variable? osea no le falta ningun signo ni nada??

Cita:
else{
add_comment(ID_TOPIC);
return false;
}
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #8 (permalink)  
Antiguo 19/02/2012, 16:04
Avatar de alvidales  
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 12 años, 2 meses
Puntos: 11
Respuesta: No me registra una variable $_POST :/

Si, tienes que imprimir la variable

intenta hacer esto:

Código:
else{
add_comment(<?php echo $camila[id]; ?>);
return false;
}
  #9 (permalink)  
Antiguo 19/02/2012, 21:53
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: No me registra una variable $_POST :/

comencemos porque acá
Cita:
Iniciado por tata009 Ver Mensaje
Código:
<script type="text/javascript">
function errorrojo(cuerpo_comment)
{
	if(cuerpo_comment == '')
	{
		document.getElementById('error').innerHTML='<br><font class="size10" style="color: red;">No has escrito ning&uacute;n comentario.</font>'; 
		return false;
	}else{
		add_comment();
		return false;
	}
}</script>

no le estas indicando ningun parametro a la función add_comment que es la que hace el enlace ajax, además de esto nunca estas indicando cual id debe pasarsele al mismo, vamos saco por deduccion que quieres colocarle este valor
Cita:
<input type="hidden" value="<?php echo $camila[id]; ?>" name="ID_TOPIC" />
entonces pudiera ser una pequeña aunque no la mejor solución hacer algo como esto

Código Javascript:
Ver original
  1. else{
  2.     var id_comment  = document.getElementById('ID_TOPIC').value;
  3.     add_comment(id_comment);
  4.     return false;
  5. }
esto agregandole al input el id
Código HTML:
Ver original
  1. <input type="hidden" value="<?php echo $camila[id]; ?>" name="ID_TOPIC"  id="ID_TOPIC"/>
prueba y nos comentas, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #10 (permalink)  
Antiguo 20/02/2012, 13:59
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: No me registra una variable $_POST :/

Graciassss muchachos lo soluciones, muchisimas gracias!
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos

Etiquetas: html, mysql, post, sql, variables, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:52.