GET和POST方法采用相同的形式

时间:2013-06-30 20:46:54

标签: php mysql

所以我想在同一个表单上使用GET方法和POST方法。 GET将表单中的详细信息发送到url栏和isset if语句,以检查表单是否已提交。我希望能够做到这一点。但如果你能找到另一种方法,请告诉我 HTML

<form method="post">
<p>Username:</p><input type="text" name="Username">
<p>Password:</p><input type="password" name="Password">
<p>Post:</p><input type="text" name="Post" value=""><br><input type="submit" 
value="submit" name="submited">
</form>

PHP

if (isset($_POST['submited'])){
    $Username=$_GET["Username"]; 
    $Password=$_GET["Password"]; 
    $Post=$_GET["Post"]; 
    $Password=md5($Password);

    if(blah=blah){
        echo "blah";
    }
}

5 个答案:

答案 0 :(得分:0)

更改

isset($_POST['submited'])

isset($_GET['submited'])

但使用GET发送密码是一个非常糟糕的主意。

答案 1 :(得分:0)

有点不好的做法,但你可以通过在URL中发送参数强制它:

action="index.php?data=123"之类的设置应该可以完成工作:

<form method="post" action="index.php?name=a&surname=b"> //Here we go
  <p>Username:</p><input type="text" name="Username">
  <p>Password:</p><input type="password" name="Password">
  <p>Post:</p><input type="text" name="Post" value="">
  <br>
  <input type="submit" value="submit" name="submited">
</form>

答案 2 :(得分:0)

在你的表单中你可以改变它的动作 - 所以action =“?var1 = something&amp; var2 = example”

可以用javascript完成;例如:

<!doctype html>
<html>
<head> 
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){ 
        $('form').submit(function() {
                $('form').attr('action','?Username=' + $('input[name=Username]').val() + '&Password=' + $('input[name=Password]').val() + '&Post=' + $('input[name=Post]').val());
                return true;
        });
});
</script>
</head>
<body>
<form method="post">
<p>Username:</p><input type="text" name="Username">
<p>Password:</p><input type="password" name="Password">
<p>Post:</p><input type="text" name="Post" value=""><br><input type="submit" 
value="submit" name="submited">
</form>
</body>
</html>

答案 3 :(得分:0)

我个人会发布表格来说出我的formprocess.php页面,放置你的

if(isset($_POST['submitted'])) { //Code goes here, do checks/validation etc }

然后,一旦您完成了对代码所需的操作,请执行标题(如果您已经发送了标题,则执行元重定向),如下所示:

header('Location:http://www.mysite.com/index.php?value=formsubmitted&action=success');

因此value =和action =可能只是您要在URL中传回的值。你也可以在你的.htaccess中添加一些RewriteRule来使这些重定向的URL更漂亮,更适合SEO等。另外如果你确实沿着这条路线走,请确保设置/定义重定向状态,即301见下文:< / p>

header("HTTP/1.1 301 Moved Permanently"); 

答案 4 :(得分:0)

我认为每个人都在想,为什么有人需要使用$ _GET,如果他们使用$ _POST。 即:

if (isset($_POST['submited'])){
    $Username=$_POST["Username"]; 
    $Password=$_POST["Password"]; 
    $Post=$_POST["Post"]; 
    $Password=md5($Password);

    if(blah=blah){
        echo "blah";
    }
}

...如果你想在开发时检查你的参数... ...

print_r($_POST)

是否有任何理由需要从$ _GET中检索表单字段数据?