Quiero crear un sistema basado en tokens, donde quiero enviar el valor de un campo de entrada a mi archivo php del lado del servidor para insertarlo en mi base de datos.
Córdoba html:
<input type="text" class="valueToken" name="usertoken" > <button class="postToken">PostToken</button>Córdoba js:
$('.postToken').click(function(){ console.log($('.valueToken').val()); var tokenValue = $('.valueToken').val(); $.ajax({ type: "POST", url: "http://domainName.com/fysioWebapp/php/get_token.php", data: { 'dataString': tokenValue }, cache: false, success: function(){ alert("Order Submitted"); } });});
Y aquí está mi php del lado del servidor:
<?php include("connect.php"); $stringData = $_POST['tokenValue']; echo $stringData $insertToken = "INSERT INTO User_Token VALUES ('$stringData')"; $tokenresult = mysqli_query($conn, $sql); if($tokenresult){ echo "Successful"; }else { echo("Error description: " . mysqli_error($conn)); }?>
Pero no está publicando los datos en mi archivo get_token.php, ¿qué me estoy perdiendo aquí?
Con esto como error en el lado cordova: POST http://domainName.com/fysioWebapp/php/get_token.php 500 (Internal Server Error)
Editar:
Se mostrará 500 Internal Server Error si su código php tiene errores fatales como errores de sintaxis y la visualización de errores está desactivada.
En su archivo php intente agregar:
ini_set('display_errors', 1);En el archivo .htaccess agregue:
php_flag display_errors 1Encontré una respuesta similar al buscar cómo depurar 500 errores en PHP.
Original:
Prueba este código.
JS
$('.postToken').click(function(){ console.log($('.valueToken').val()); var tokenValue = $('.valueToken').val(); $.ajax({ type: "POST", url: "http://domainName.com/fysioWebapp/php/get_token.php", data: { dataString: tokenValue }, cache: false, success: function(){ alert("Order Submitted"); } }); });PHP
<?php include("connect.php"); $stringData = $_POST['dataString']; echo $stringData $insertToken = "INSERT INTO User_Token VALUES ('$stringData')"; $tokenresult = mysqli_query($conn, $insertToken); if($tokenresult){ echo "Successful"; }else { echo "Error description: " . (mysqli_error($conn)); } ?>He puesto algunos nombres/valores casi idénticos a los tuyos, pero hago una pequeña diferencia con Ajax porque estoy acostumbrado a hacerlo de esa manera... tendrás que adaptarte a tus necesidades :) EDITAR: no obtuviste el $vars correctos en get_token.php porque usa un nombre incorrecto.
<script type="text/javascript"> $(document).ready(function(){ $("#submit").click(function(e){ e.preventDefault(); console.log($('.valueToken').val()); var tokenValue = $('.valueToken').val(); $.ajax({ method: "POST", url: "get_token.php", data: "token="+tokenValue, success: function(html){ alert(html); } }); }); }); </script> <form action="#" id="form" method="post"> <input type="text" class="valueToken" name="usertoken" > <input type="submit" class="postToken" id="submit" value="PostToken" /> </form>/ -- get_token.php -- /
<?php error_reporting(E_ALL); ini_set('display_errors', 1); $token = $_POST['token']; echo"[ $token ]"; ?>