
Pasar valor de variable de AJAX a PHP
Publicado por JetLagFox (1 intervención) el 27/03/2017 00:31:34
Buenas,
Intengo explicar la situación lo mejor que pueda. Todo este problema viene tan sólo porque quiero crear un botón de "me gusta" personalizado. Estoy usando un pequeño formulario, dentro hay un <label> y un checkbox (en oculto). Al pulsar sobre <label> el checbox se selecciona o se deselecciona.
Código HTML:
Al hacer click sobre <label> se ejecuta una función, un script, que es el siguiente:
Y en process.php, recibo el parámetro del valor del checkbox:
El problema es que la variable $respuesta_id no existe, porque no se envía de AJAX A PHP, y no sé cómo pasarla...en AJAX puedo ver el valor de la variable, pero hasta ahí. El motivo por el que necesito pasar dicha variable es porque hace referencia de la ID del comentario sobre el que se está pulsando "me gusta", y ése dato es el que me va a permitir actualizar la base de datos.
No sé si me he explicado lo suficientemente bien. Espero que alguien me pueda ayudar.
Gracias de antemano.
Intengo explicar la situación lo mejor que pueda. Todo este problema viene tan sólo porque quiero crear un botón de "me gusta" personalizado. Estoy usando un pequeño formulario, dentro hay un <label> y un checkbox (en oculto). Al pulsar sobre <label> el checbox se selecciona o se deselecciona.
Código HTML:
1
2
3
4
echo "<form name='like' id='heart' title='Me gusta el post' action='foro.php?foro=Xbox%20One&subforo=General&hilo=Vamos%dale&ID=1' method='post'>";
echo "<input type='checkbox' id='corazon' name='corazon'>";
echo "<label class='fa fa-heart' onclick='myFunction($respuesta_id)' for='corazon'></label>";
echo "</form>";
Al hacer click sobre <label> se ejecuta una función, un script, que es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<script>
function myFunction(respuesta_id) {
let heart;
var id_respuesta = respuesta_id;
if( $('#corazon').prop('checked') ) {
console.log('Seleccionado');
heart = 1;
} else {
console.log('No seleccionado');
heart = 0;
}
console.log(id_respuesta);
console.log(heart);
$.ajax ({
type: 'POST',
url: 'proces_like.php',
data: { "corazon": heart, "id_respuesta":id_respuesta },
success:function(datos){
$("#resultado").html(datos);
}
});
};
</script>
Y en process.php, recibo el parámetro del valor del checkbox:
1
2
3
4
5
6
7
8
9
10
11
12
13
session_start();
require 'admin/config.php';
try {
$conexion = new PDO($bd_config['dbname'], $bd_config['usuario'], $bd_config['password'] );
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
echo $hola = isset($_POST['corazon'])? $_POST['corazon'] : 0;
echo $respuesta_id;
El problema es que la variable $respuesta_id no existe, porque no se envía de AJAX A PHP, y no sé cómo pasarla...en AJAX puedo ver el valor de la variable, pero hasta ahí. El motivo por el que necesito pasar dicha variable es porque hace referencia de la ID del comentario sobre el que se está pulsando "me gusta", y ése dato es el que me va a permitir actualizar la base de datos.
No sé si me he explicado lo suficientemente bien. Espero que alguien me pueda ayudar.
Gracias de antemano.
Valora esta pregunta


0