He leído numerosos artículos aquí y probé docenas de variaciones, incluido ajax. Lo que quiero hacer es hacer clic en un botón y almacenar la identificación de ese botón en una variable php sin tener que actualizar la página.
Intenté usar isset y POST y obtuve alguna variación de la matriz de claves indefinidas.
Se sugirió Ajax, pero cuando uso ajax puedo almacenar la variable, pero no puedo convertirla en una variable php.
Configuración actual...
Tengo un botón HTML desde el cual necesito la identificación almacenada en una variable php para poder usarla en otra declaración SQL. Este botón es parte de una tabla HTML de registros MySQL devueltos desde la base de datos.
<input type='button' value='Edit' name='editbtn' onclick='edit(this.id)' id = '" . $row['id'] . "'/>JavaScript...
function edit(clicked_id){ var selid = clicked_id; var seleid = selid.toString(); $.ajax({ type: 'post', data: {name: seleid}, datatype: 'text', success: function(data){ console.log(name); alert("Success, data is: " + data); // This correctly returns the id of the button clicked }, }); }El PHP en la parte superior de la página es...
if(isset($_POST['name']) && !empty($_POST['name'])){ ob_clean(); $varid = $_POST['name']; echo $varid; exit; }PHP no está recibiendo nada. ¿Hay alguna forma de hacer esto? ¿Supongo que es un problema de backend/frontend?
Nota: Pude almacenar una variable de JavaScript en una etiqueta HTML, pero no pude usarla como parte de una instrucción SQL, incluso después de quitarle las etiquetas.
Por favor ayuda y gracias!
Prueba algo como esto en tu código php:
$data = json_decode(file_get_contents('php://input'), true); if(isset($data['name']) && !empty($data['name'])){ ob_clean(); $varid = $_POST['name']; echo $varid; exit; }