【问题标题】:two submit button in a page on clicking a radio button in php单击 php 中的单选按钮时,页面中的两个提交按钮
【发布时间】:2014-07-18 11:58:02
【问题描述】:

我有一个页面,其中有两个单选按钮,单击一个显示一个 div,单击另一个单选按钮显示另一个 div。 在两个 div 中,我都必须将数据插入数据库,但只有第一个提交按钮起作用,第二个 div 上的第二个按钮不起作用。下面是我的代码:

<body>
     <center>
             <h2>Choose the type </h2>
              <div style="padding:25px;width: 100px;">
                   <input id="id_radio1" type="radio" name="name1" value="1" />Dynamic<br/>
                   <input id="id_radio2" type="radio" name="name0" value="0" />Image
              </div>
              <div align="center" style="padding:25px;width: 300px;">
                   <div id="div1">

                    <form name="frm" method="post" action="">
                        Caption:<input type="text" name="caption" /><br />
                        Dynamic:<input type="text" name="dynamictext" /><br/>
                        Time    <input type="text" name="time" /><br />
                        <input type="submit" name="submitbtn1" value="Submit" />
                    </form>


                   </div>
                   <div id="div2">
                    <form enctype="multipart/form-data" action="saveimage.php" method="post" name="changer">
                        Path:<input name="image" accept="image/jpeg" type="file" height="50px" width="50px"><br/>
                        Caption:<input type="text" name="caption" />
                        Time:<input type="text" name="caption" />
                        <input type="submit" name="submitbtn0" value="Save" />

                    </form>

                   </div>
              </div>
     </center>
</body>
</html>





<?php
if(isset($_POST['submitbtn1']))
{

        include'conn.php';
        $select_db = mysql_select_db('test',$connection);
        //$type1=$_POST['name1'];
        $sql="INSERT INTO tbl_content(caption,dynamictext,time)VALUES('".$_POST['caption']."', '".$_POST['dynamictext']."', '".$_POST['time']."')";

    if (!mysql_query($sql,$connection))
    {
        die('Error: ' . mysql_error());
    }


}
else if(isset($_POST['submitbtn0']))
{
        include'conn.php';
        $select_db = mysql_select_db('test',$connection);
        if ($_FILES["image"]["error"] > 0)
  {
     echo "<font size = '5'><font color=\"#e31919\">Error: NO CHOSEN FILE <br />";
     echo"<p><font size = '5'><font color=\"#e31919\">INSERT TO DATABASE FAILED";
   }
   else
   {
     move_uploaded_file($_FILES["image"]["tmp_name"],"image/" . $_FILES["image"]["name"]);



     $file="image/".$_FILES["image"]["name"];
     $sql="INSERT INTO tbl_content (id,path,caption,time) VALUES ('','$file','".$_POST['caption']."','".$_POST['time']."')";

     if (!mysql_query($sql))
     {
        die('Error: ' . mysql_error());
     }
     echo "Picture is saved into database";

   }
}   
?>

【问题讨论】:

  • 这更像是 HTML、JavaScript 而不是 PHP。你有小提琴吗?
  • “第二个 div 不工作”那么发生了什么?有什么错误吗? var_dump($_POST) 的输出是什么?
  • 你发布的代码是saveimage.php吗?为什么这两种形式有不同的动作?
  • 第一个 div 插入标题、动态文本和时间,当我提交按钮时插入它。同样,在第二个 div 中我必须上传照片、插入时间和标题,当我提交时它不起作用按钮就是问题所在。
  • 一个重要的旁注:不要再使用mysql函数。它们已经贬值,不再是标准的。使用mysqli 函数或PDO 函数。

标签: php


【解决方案1】:

我认为您的 saveimage.php 文件正在寻找 $_POST['time'] 的值,但第二种形式对此没有任何价值。因为您的第二个表单具有Time:&lt;input type="text" name="caption" /&gt;,并且该名称也有另一个输入。 所以改变

Time:<input type="text" name="caption" />

到

Time:<input type="text" name="time" />

在您的第二种形式中,您可能会成功。

在将这些数据输入数据库之前,还要对您的数据进行清理。我认为最好的方法是使用prepared statements 和mysqli。

【讨论】:

  • 将 saveimage.php 中的代码附加到问题中,如果你能看到它会显示什么错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 1970-01-01
  • 2020-01-11
  • 1970-01-01
相关资源
最近更新 更多