我的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'])){.....}
运行,这是不可取的。
答案 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'])){.....}