使用Get方法后,在Adress Bar中清理查询字符串,

时间:2016-09-06 12:22:48

标签: php

我的PHP代码在一个页面

<?php

if(isset($_POST['gonder'])){....}

if(isset($_GET['ozelid'])){.....}


?>

<input type="submit" name="gonder"> 
<td> <a href=\"?ozelid=YERTUTUCU&fiyat=$haskur\" onclick=\"return confirm('Tahsil Edilsin?')\" >Tahsil</a> 

首次加载页面后,当我点击提交时,它没关系,只运行if(isset($_POST['gonder'])){....}

首次加载页面后,当我点击链接时,它才会运行 if(isset($_GET['ozelid'])){.....}

但是,在页面加载后,点击链接然后我点击提交按钮if(isset($_POST['gonder'])){....}if(isset($_GET['ozelid'])){.....}运行,这是不可取的。

3 个答案:

答案 0 :(得分:1)

如果您只希望一次调用其中一个,那么我建议只使用ElseIf。

<?php

if(isset($_POST['gonder'])){....}

Elseif(isset($_GET['ozelid'])){.....}

?>

答案 1 :(得分:0)

你应该检查你的表格标签:

如果您使用<form action="#"或将action属性保留为空,则表单会发送到当前页面(在您的情况下,它是具有GET参数的页面)。

请检查您是否有可能将表单标记的action属性设置为以下内容:

<form action="index.php" method="post">

您必须将index.php替换为您的php文件的名称。

答案 2 :(得分:0)

处理完请求后,您可以发送位置标头。像这样:

header("Location: http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
die();

到你当前的网址没有获取参数。我想这应该在你的代码中:

if(isset($_GET['ozelid'])){.....}