在表单动作php中获取错误的url

时间:2013-06-06 10:04:48

标签: php forms

在我的页面编辑中,我得到了网址http://localhost/cart_simple/admin/productEdit.php/?edit_id=47 现在当我编辑我的提交并提交我想通过表单操作转到下一页 这是我的表单移动到query.php我使用form action = query.php然后点击更新按钮

 <form name="prdct_frm"  action="query.php" method="post" enctype="multipart/form-data"> 
    <ul>
      <li><lable name>Name:</lable><input type="text" name="prd_name"  value="<?php echo $fillvar[0]['name'];?>"/></li>
      <li><lable name>Price:</lable><input name="prd_price" type="text" value="<?php echo $fillvar[0]['price'];?>"/></li>
      <li><lable name>Qty:</lable><input type="text" name="prd_qty"  value="<?php echo $fillvar[0]['quantity'];?>"/></li>
      <li><lable name>Product image</lable><input type="file" name="file" id="file" /></li>
      <img src="<?php echo 'http://'.$_SERVER["HTTP_HOST"].dirname($_SERVER["SCRIPT_NAME"]).'/product_image/'.$fillvar[0]['prod_image'];?>" height="80" width="80"/>
      <li><input type="submit" name="update"  value="Upate Product"/></li>
    </ul>
    </form>

但是当我按下按钮时我得到了错误的网址。 正确的网址应为http://localhost/cart_simple/admin/query.php

我错了网址http://localhost/cart_simple/admin/productEdit.php/query.php

2 个答案:

答案 0 :(得分:1)

使用类似的东西:

<form action="/cart_simple/admin/query.php">

由于您使用的是漂亮网址,因此您将获得当前文件的相对URL,该文件被视为文件夹。因此,更改将网址引用到绝对网址的方式可能会解决此问题。

现在,如果您提供/cart_simple/admin/query.php,则需要从根目录开始。在任何情况下,您的URL都是以下任何一种:

http://localhost/cart_simple/admin/productEdit.php/
http://localhost/cart_simple/admin/productEdit.php
http://localhost/cart_simple/admin/productEdit

始终是/cart_simple/admin/query.php。希望很清楚。

答案 1 :(得分:0)

在当前URL的最后/之后(在查询字符串之前)附加相对路径。

由于/后面有.php,因此会在此之后附加。{/ p>

你可以:

  • 没有链接到.php/(有风险,第三方可能会链接到那里)
  • 使用绝对路径(即从/开始,然后包括操作的整个路径)
  • productEdit.php中测试已请求的URL,如果错误则重定向到右侧。