estoy tratando de insertar 4 variables en la base de datos $ id, $username(quien escribio el post), $name(de quien escribe un comentario) y $comentario
el $id del post lo obtengo de la url http://dominio.com/comentario.php?id=23
despues obtengo el $username de quien escribio el post,
despues $name una vez iniciado sesion de quien quiere publicar un comentario,
y por ultimo el comentario $comentario todo eso lo tengo en input y textarea listo para enviarlo via post para insertarlo en la base de datos.
el problema es que de las 4 variables solo se insertan maximo 2 en la base de datos. he tratado via POST y GET.
este el el codigo que tengo en la pagina principal
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#FormSubmit").click(function (e) {
e.preventDefault();
if($("#comentario").val()==='')
{
alert("ingresar texto!");
return false;
}
var myData ='id='+ $("#id").val()+'&comentario='+ $("#comentario").val();
jQuery.ajax({
type: "GET", // Post / Get method
url: "response.php", //Where form data is sent on submission
dataType:"HTML", // Data type, HTML, json etc.
data:myData, //Form variables
success:function(response){
$("#responds").append(response);
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
});
});
</script>
<div class="content_wrapper">
<ul id="responds">
<?php
//include db configuration file
include_once("dbc.php");
$id = $_GET['id'];
$query = 'SELECT id,comentario FROM comentarios WHERE `id` ="'.$id.'"';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$pass = $row['id'];
$comentario = $row['comentario'];
echo"<li id='item_'>";
echo $pass;
echo $comentario;
echo "</li>";
}?>
</ul>
<div class="form_style">
<input type="hidden" name="id" id="id" value="<?php echo $id;?>">
<textarea name="comentario" id="comentario" cols="45" rows="5"></textarea>
<input id="FormSubmit" name="upload" type="button" value="Comentar">
</div>
</div>
//ahora en la pagina response.php
//tengo el codigo para insertar en la base de datos
<?php
//include db configuration file
include_once("conexion.php");
$id = $_GET['id'];
$query = 'SELECT `id` FROM setting WHERE `id` ="'.$id.'"';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
$paso = $row['id'];
$paso = $_GET['id'];
$comentario = $_GET['comentario'];
mysql_query("INSERT INTO comentarios(id,comentario) VALUES('$paso','$comentario')");?>
<?php
echo "<li id='item_'>";
echo $pass;
echo $username;
echo $name;
echo $comment;
echo "</li>";?>
la pregunta es como tengo que hacer para agregar las variables $name y $username para despues insertarlas en la base de datos.
//lo primero que hice fue agregarlas en
var myData ='id='+ $("#id").val()+'name='+ $("#user_name").val()+'$username='+ $("#com_name").val()+'&comentario='+ $("#comentario").val();
//despues agregue en los input
<input type="text" name="id" id="id" value="<?php echo $id;?>">
<input type="text" name="user_name" id="user_name" value="<?php echo $name;?>">
<input type="text" name="com_name" id="com_name" value="<?php echo $username;?>">
<textarea name="comentario" id="comentario" cols="45" rows="5"></textarea>
<input id="FormSubmit" name="upload" type="button" value="Comentar">
//despues en la pagina response.php agregue las variables
$paso = $_GET['id'];
$name = $_GET['user_name'];
$username = $_GET['com_name'];
$comentario = $_GET['comentario'];
mysql_query("INSERT INTO comentarios(id,user_name,com_name,comentario) VALUES('$paso','$name','$username','$comentario')");?>
el problema es que solo ingresa en la tabla de la base de datos las variables $id y $comentario, pero las variables $name y $username, no ingresan, incluso si se dan cuenta en los input tengo las variables con type="text" en la primera pagina para verificar que tomo las variables antes de enviarlas a la pagina response.php para que se inserten en la base de datos. pero no se ingresan o no pasan a la pagina response.php, he tradado con metodo GET Y POST.
espero haberme sido claro en la explicacion , algo que este haciendo mal o que no sepa.
saludos.