【问题标题】:cant insert in database from form in group id 2 but its insert in group id 1无法从组 id 2 中的表单插入数据库,但它插入组 id 1
【发布时间】:2016-12-02 16:55:53
【问题描述】:
                 <form method="post" action="" class="form-horizontal no-margin well">
                <div class="control-group">
                    <input type="text" name="post" id="post"  style="
width: 98%;
height: 50px;"/>                    </div>
                <div style="padding-left:95%!important" class="form-actions no-margin">
                  <button onClick="window.location.reload(true);" style="height:30px" name="submit" type="submit" class="btn btn-info">
                  <p>Post</p></button>
                </div>
              </form>
<?php
$link=mysql_connect("localhost","root","")or die("Can't Connect...");
mysql_select_db("project") or die("Can't Connect to Database...");
$q="SELECT * FROM post p , member m , groupp g WHERE p.group_id='".$dbgroupid."' and p.m_id=m.m_id ORDER BY p_id DESC";
  $queryRessource = mysql_query($q,$link) or die(mysql_error());
  $numrows=mysql_num_rows($queryRessource);
  if($numrows > 0)
  {
    while($row = mysql_fetch_array($queryRessource )) {
    echo"<br><table border=\"1\" width=\"100%\"><tr><td valign=\"top\" style=background:#f4f4f4;;height:100px><b>".$row['username']."</b><br />".$row['post']."</td></tr><tr><td valign=\"top\" style=background:#f4f4f4;;height:100px>
    <form method=\"post\" action=\"\" class=\"form-horizontal no-margin well\">
    <input type=\"text\" name=\"comment".$row['p_id']."\" id=\"comment\" />
    <button onClick=\"window.location.reload(true);\" style=\"height:30px\"          name=\"submit".$row['p_id']."\" type=\"submit\" class=\"btn btn-info\">                      Comment</button></form></td></tr></table>";


$qq="SELECT * FROM comment c , member m WHERE c.p_id='".$row['p_id']."'and c.m_id=m.m_id";
$queryRessource1 = mysql_query($qq,$link) or die(mysql_error());
$numrows1=mysql_num_rows($queryRessource1);
if($numrows1 > 0)
{
   echo "<table border=\"1\" width=\"100%\">";
while($row1 = mysql_fetch_array($queryRessource1 )) 
{echo"<tr><td valign=\"top\" style=background:#f4f4f4;;height:100px>"
       ."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>".$row1['username']."</b><br />"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$row1['comment']."</td></tr>";
       }
       echo "</table>";
       }
        if(isset($_POST['submit'.$row['p_id']]))
  {
      if(empty($_POST['comment'.$row['p_id']])) 
      {
            echo '<script language="javascript">';
            echo 'alert("You Cant Add Empty Comment")';
            echo '</script>';
      }
      else {
          $p_id=$row['p_id'];
    $dbmemberid=$_SESSION['Member_ID'];
    $comment=$_POST['comment'.$row['p_id']];
    $link=mysql_connect("localhost","root","")or die("Can't Connect...");
    mysql_select_db("project") or die("Can't Connect to Database...");
    $Query="INSERT INTO `comment`(`comment_id`,`comment`,`p_id`,`group_id`,`m_id`) VALUES ('','$comment','$p_id','$dbgroupid','$dbmemberid')";
    mysql_query($Query,$link)or die (mysql_error());
     echo "<meta http-equiv='refresh' content='0'>";

    }}

            }

  if(isset($_POST['submit']))
  {
      if(empty($_POST['post'])) 
      {
            echo '<script language="javascript">';
            echo 'alert("You Cant Add Empty Post")';
            echo '</script>';
      }
      else {
    $post=$_POST['post'];
    $link=mysql_connect("localhost","root","")or die("Can't Connect...");
    mysql_select_db("project") or die("Can't Connect to Database...");
    $query="INSERT INTO `post` VALUES ('','$post','$dbmemberid','$dbgroupid')";
    mysql_query($query,$link)or die (mysql_error());
     echo "<meta http-equiv='refresh' content='0'>";

    }}
   ?>

我的问题是我通过使用 $_get 获得了组会话 ID,但是当我尝试插入组 2 (group_id=2) 时,它没有插入数据库,而当我在组 id 1 (group_id=1) 中时它只是插入数据库)

我的会话设置为

if(isset($_SESSION['UserName']) && isset($_SESSION['Member_ID']))
{
     $dbusername=$_SESSION['UserName'];
     $dbmemberid=$_SESSION['Member_ID'];
     $dbgroupid=$_GET['group_id'];

    }

所以我需要做些什么才能让我的表单在第二组中发布 当我在组中插入帖子或评论时 group id=1 num 行回显每个帖子两次...

【问题讨论】:

  • 你真的应该使用 mysqli_ 因为 mysql 已被弃用
  • 您还应该清理要插入数据库的变量。 mysqli_real_escape_string(),或至少添加斜杠。

标签: php mysql insert


【解决方案1】:

试着给你的表单一个动作。即。

<?php $id = $_GET['id']; ?> 

<form method = "POST" action = "current_page.php?id=<?php echo $id; ?>">

【讨论】:

  • group.php 中的同一页面?id=1 已插入数据库,但同一页面中的 id=2 未插入
猜你喜欢
  • 1970-01-01
  • 2018-10-17
  • 1970-01-01
  • 2017-02-10
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
  • 2017-01-26
相关资源
最近更新 更多