Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery安全地发布php变量?_Php_Jquery_Html_Ajax - Fatal编程技术网

如何使用jquery安全地发布php变量?

如何使用jquery安全地发布php变量?,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我有一个产品页面,我正试图实施一个评级系统 每个产品页面将包含以下信息: productID—产品的ID 用户-登录用户的用户名 我有以下用于星级评定的HTML: <fieldset id='ratingStars' class="rating"> <input class="stars" type="radio" id="star5" name="rating" value="5" /> <label class = "full" for="star5

我有一个产品页面,我正试图实施一个评级系统

每个产品页面将包含以下信息:

productID—产品的ID

用户-登录用户的用户名

我有以下用于星级评定的HTML:

<fieldset id='ratingStars' class="rating">
   <input class="stars" type="radio" id="star5" name="rating" value="5" />
   <label class = "full" for="star5" title="Incredibly Powerful - 5 stars"></label>
    ...
   <input class="stars" type="radio" id="star1" name="rating" value="1" />
   <label class = "full" for="star1" title="Unusable - 1 star"></label>
 </fieldset>
PHP文件只是连接到数据库并将评级插入评级表中。它希望发布用户名、productid和评级的数据

也许这是一个愚蠢的问题,但是我如何从javascript文件发布数据呢?我知道如何获得评级,因为被点击的对象,但如果其他2个不在php文件的范围内,我如何发送它们。我如何安全地做到这一点


很可能我在这件事上做错了,所以任何帮助都是非常感谢的

您可以序列化表单并使用onSubmit事件处理程序。没有测试过代码

根据以下表格:

<form id="ratingsForm" action="../resources/add_rating_to_product.php" method="POST">
  <input type="radio" name="rating" value="5" />
  <input type="radio" name="rating" value="1" />
  <input type="hidden" name="productId" value="<?php echo $productId; ?>" />
  <input type="submit" name="submit" value="submit" />
</form>

你需要通过电脑来完成。使用
AJAX
或其他
$http
service@Valkyrie我的问题是如何使用?在表单中为产品ID使用隐藏输入。查看使用Ajax提交表单的情况。将表单保存在对象->中,然后将其发送到
JSON
对象中。此外,不应在表单中提交用户ID。它应该存储在会话变量中。
<form id="ratingsForm" action="../resources/add_rating_to_product.php" method="POST">
  <input type="radio" name="rating" value="5" />
  <input type="radio" name="rating" value="1" />
  <input type="hidden" name="productId" value="<?php echo $productId; ?>" />
  <input type="submit" name="submit" value="submit" />
</form>
$(document).ready( function() {
  $("#ratingsForm").on("submit", function(){
    $.ajax( {
      type: "POST",
      url: $(this).attr( 'action' ),
      data: $(this).serialize(),
      success: function( response ) {
        console.log( response );
      }
    } );
  });
} );