繁体   English   中英

将单选按钮值插入SQL

[英]Inserting radio button value into SQL

制定一个简单的星级评分脚本。 数据未插入SQL。 我在表单动作中传递了一个“id”,与评级一致。 我正在使用GET来检索这个值。 我正在使用POST来插入单选按钮值。 我已经测试了,网址正在传递id。 该脚本运行完成。 SQL正在连接。

的index.html

    <form method="POST" action="rating.php?id=<?php echo $id; ?>">
      <fieldset class="rating">
          <legend>. . .</legend>
              <input type="radio" id="star3" name="starno" value="3" onclick="this.form.submit()"/>
                  <label for="star3" title="Meh">3 stars</label>
              <input type="radio" id="star2" name="starno" value="2" onclick="this.form.submit()"/>
                  <label for="star2" title="Kinda bad">2 stars</label>
              <input type="radio" id="star1" name="starno" value="1" onclick="this.form.submit()"/>
                  <label for="star1" title="Sucks big time">1 star</label>
      </fieldset>
    </form>

ratings.php

    <?php
    isset($_GET['id']);
    $con=mysqli_connect ("","","","");
    mysqli_query($con,"INSERT INTO ratings (storyidr, rank, entry_date) VALUES ('$_GET[id]','$_POST[starno]',now())");
    mysqli_close($con);
    header('Location: http://www.website.com/'); 
    ?>

SQL

    CREATE TABLE IF NOT EXISTS `ratings` 
    (
      `ratingid` int(11) NOT NULL AUTO_INCREMENT,
      `storyidr` varchar(11) NOT NULL,
      `rank` int(11) NOT NULL,
      `entry_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
    PRIMARY KEY (`ratingid`),
    UNIQUE KEY `ratingid` (`ratingid`)
    ) 
    ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='rating for stories' AUTO_INCREMENT=1 

你正在使用“form method =”post“”,改为get。

你的脚本正在寻找GET,但是你正在使用POST,你的脚本不会插入数据库,除非GET是和id,它永远不会用于POST

您正在设置:

$storyidr = $_POST['id']; 

但它实际上是在URL中传递的。 因此你需要使用:

$storyidr = $_GET['id'];

表单'方法'不需要更改。

我查看了生成的sql,它现在包含所有输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM