当前位置: 首页 > 知识库问答 >
问题:

使用$\u php\u SELF和$\u POST使用link将表单提交到php中

易飞文
2023-03-14

我试图从链接而不是输入提交按钮获得提交表单。

    <form id="formadd" name="formadd" method="post" action="<?php $_PHP_SELF ?>">

    ...form data 

     <a name="ADD" onclick="document.getElementById("formadd").submit();" href="" class="button primary">Add Camera to Database</a>
     <!-- <input type="submit" name="ADD" value="Add Camera"> --> 

被调用的PHP如下所示:

<?php 
            if(isset($_POST['ADD'])) {
                $SIGID = $_POST['SIGID'];
                $LOC = $_POST['LOC'];
                $URL = $_POST['URL'];
                $IMG = $_POST['IMG'];
                $LAT = $_POST['LAT'];
                $LON = $_POST['LON'];
                $CAMTYPE = $_POST['CAMTYPE'];



                $sql = "INSERT INTO cam_markers (SIGID, LOC, URL, LAT, LON, CAMTYPE, IMG) 
                   VALUES ('$SIGID', '$LOC', '$URL', '$IMG', '$LAT', '$LON', '$CAMTYPE')";
                $retval = mysql_query($sql);

                if(! $retval ) {
                   die('Could not add data: ' . mysql_error());
                }
                echo 'Added data successfully' . PHP_EOL;
                mysql_close($connection);
            }
?>

该链接目前不工作,但它使用正常的提交输入工作,所以我知道脚本是可以的。

我最好的猜测是,这个问题与$_POST只从表单元素创建数组的事实有关,并且由于超链接不是表单元素,它的名称标识符没有被传递。

但是,我在没有isset()条件的情况下尝试了它,只是尝试回显正在传递的数据,但没有成功。所以,这似乎表明还有别的事情在发生。

感谢您的帮助/解决方法。谢谢

编辑:我是这样做的:


共有3个答案

包谭三
2023-03-14

您应该使用提交按钮。

button {
  background: none!important;
  border: none;
  padding: 0!important;
  font-family: arial, sans-serif;
  color: #069;
  text-decoration: underline;
  cursor: pointer;
}
<button type="submit">your button that looks like a link</button>
养聪
2023-03-14

使用提交按钮。

如果你不喜欢它看起来的样子(最有可能的原因是你试图避免使用正确的工具来完成这项工作),应用CSS。

杭泉
2023-03-14
action="<?php $_PHP_SELF ?>"> 

这是错误的。如果表单是在同一页面上提交的,但如果您想使用$_服务器['PHP_SELF'],则不需要指定操作;所以现在

action="<?php echo $_SERVER['PHP_SELF'];?>">
 类似资料:
  • 我是新的PHP Codeigniter框架。我正在设计一个页面,其中我使用了一个链接。点击链接时,它调用一个jQuery函数,通过jQuery提交表单。我已经使用codeigniter表单验证方法进行服务器端验证,目前我已经禁用了客户端验证。 问题是,在这个过程中,当表单通过jQuery提交时,codeigniter表单验证方法不起作用。 但是如果我使用submit按钮来提交表单,那么codeig

  • 对此非常新,我目前正在尝试为我的网站创建一个登录系统。我已经创建了一个html日志表单,我计划使用该表单为用户创建帐户。我已经创建了一个php页面,其中包含了我要连接到服务器的代码,如下所示。 当我填写表单时,我没有得到任何输出。我不确定php代码是在错误的地方(它是作为一个单独的文件)还是不期望输出。提交表单时,当我在测试时手动提交时,数据库似乎不会发生变化。 我的最终目标是能够将用户添加到数据

  • 问题内容: 我已经看过很多次这样的问题,但是没有一个有用的 我试图将数据提交到网络上的表单,我尝试了请求,并且urllib都没有工作 例如,以下代码应在SO上搜索[python]标记: 但是当我运行它时,我会得到主页的html源 这是使用请求的示例: 同样的结果!我不明白为什么这些方法无法奏效,但我已经在各种站点上尝试了这些方法,但均未成功,因此,如果有人成功完成此操作,请告诉我如何做! 非常感谢

  • 问题内容: 看起来这应该是jQuery内置的东西,不需要多行代码,但是我找不到“简单”的解决方案。说,我有一个HTML表单: 当有人更改选择字段时,我想使用ajax提交表单以更新数据库。我认为可以通过以下方式来执行以下操作,而无需手动创建值/属性,只需将它们全部发送即可,例如: 我想念什么? 问题答案: 这就是最终的工作。

  • 问题内容: 我正在尝试使用jquery将值提交到数据库。我是ajax的新手,但是我必须使用ajax。 到目前为止,这是我已经完成的PHP代码 我的html代码是 这是我使用jQuery的ajax 我不知道我在做什么错。任何帮助将不胜感激 问题答案: 与其干扰表单的Submit事件,不如点击事件。要对现有设置进行最小的更改,只需将点击处理程序添加到表单提交按钮。处理程序中的第一件事是调用e.prev

  • 我正在设计一个使用html和php的登录页面。它包括两个按钮,一个用于登录,另一个用于重定向到注册页面。我计划使用php代码验证同一页面上的登录数据。这是我的密码 但是注册按钮工作不正常。它不会重定向到注册页面。我不想把登记按钮放在表格外面。我希望保持相同的设计并实现所需的功能。