我有一个带有post方法的HTML表单
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'></script>
<script type='text/javascript' src='scripts/scrollbar.js'> </script>
<script type='text/javascript' src='scripts/string.js'> </script>
<link type='text/css' rel='stylesheet' href='styles/defaults.css'/>
<link type='text/css' rel='stylesheet' href='styles/header.css'/>
<link type='text/css' rel='stylesheet' href='styles/content.css'/>
<link type='text/css' rel='stylesheet' href='styles/preview.css'/>
<link type='text/css' rel='stylesheet' href='styles/key-value.css'/>
<link type='text/css' rel='stylesheet' href='styles/notice.css' />
<link rel='stylesheet' type='text/css' href='styles/footer.css' />
<meta http-equiv='content-type' content='text/html;charset=utf-8' />
</head>
<body>
<nav id='navigation' class='alternative'>
<section id='logo'> <a href='/.'>im</a> </section>
</nav> <div class='content alternative'>
<form class='A4 page' method='post' action='includes/process-book-submission.php?action=add&mid=-1&isbn=0309211794&quality=New&scheduled=Fri Jan 15 2016&comments=&price=77.11&extras=&deal=sell&pendings=YES&seller=1'>
<table class='im key-value' id='preview'>
<caption>
<h1>Item's Information Review</h1>
<small>(You can always make changes in the future)</small>
</caption>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td id='title'> <label>Approaches for Ecosystem Services Valuation for the Gulf of Mexico After the Deepwater Horizon Oil Spill: Interim Report</label> </td>
</tr>
<tr>
<td><strong>Authors(s)</strong></td>
<td id='authors'> <label>Committee on the Effects of the Deepwater Horizon Mississippi Canyon-252 Oil Spill on Ecosystem Services in the Gulf of Mexico, Ocean Studies Board, Division on Earth and Life Studies, National Research Council</label> </td>
</tr>
<tr>
<td><strong>ISBN</strong></td>
<td id='isbn'> <label>0309211794<label> </td>
</tr>
<tr>
<td><strong>Book Condition</strong></td>
<td id='quality'> <label>New<label> </td>
</tr>
<tr>
<td><strong>Available Starting</strong></td>
<td id='accessible'> <label>January 15th, 2016<label> </td>
</tr>
<tr>
<td><strong>Available For</strong></td>
<td> </label>Sell</label> </td>
</tr>
<tr>
<td><strong>Price</strong></td>
<td id='price'> <label>$77.11<label> </td>
</tr>
<tr>
<td><strong>Include My Pending List</strong></td>
<td>
<label>YES</label>
</td>
</tr>
<tr>
<td><strong>Comments</strong></td>
<td></td>
</tr>
</tbody>
</table>
<div style='text-align: center; padding: 25px 0px;'>
<button class='im2' onclick="location.href='../index.php'">Cancel</button>
<button class='im2'>Continue</button>
</div>
</form>
然后我提交页面并转到page.php。如果我print_r $_REQUEST
或者我是print_r $ _GET这两个工作,但当我print_r $_POST
它是空的时,任何人都可以解释发生了什么,为什么即使我指定我也无法使用$ _POST我的表单中的method ='post'
答案 0 :(得分:3)
问题是您使用重定向而不是提交
更改
<button class='im2'>Continue</button>
到
<input type="submit" value="continue" name="submit">
另一种方法是在按钮点击时触发form.submit事件。
编辑:
您可以通过$_GET
获取变量,因为您可以在操作网址中设置变量。
此外,没有输入通过邮件发送。所以你需要创建一些通过<input>
html标签或<textarea>
等。注意你需要设置这些html标签的name属性,以便正确发送到服务器。
示例:
将此代码<input type="text" name="isbn" value="0309211794">
放入您<form></form>
中,并在上面发布的代码点击submit
答案 1 :(得分:2)
您发布的内容不是表单,只是指向其他页面的链接。
你正在传递一些数据吗?在正确的网址中,您将通过$ _get。
在目标网页中找到要使用表单和帖子方法,您必须删除所有信息后?在url中,用以下内容替换每个variable = value对:
<input type="hidden" name="thevariable" value="thevalue">
每次变量和名称都是您要发布的对中的一个。
然后您将能够通过$ _post
访问数据答案 2 :(得分:1)
您的表单没有输入字段,这就是$ _POST为空的原因。
你不通过POST向服务器发送任何内容,并且你的$ _GET不是空的,因为你在url的action参数中传递参数,
出于同样的原因,$ _REQUEST也不是空的。