2011-09-11 98 views
1

我们已经制作了一个Quenstion和Answer脚本。从输入链接预填充输入字段

从本质上讲,表单元素看起来是这样的(我觉得我有这个问题是POST,并没有得到)

反正会问反正。

在Q和A页面上,用户可以输入标题和问题。所以,形式看起来像这样一点点:

<form method="post"> 
    <input id="askit" type="text" name="q_desc" value=""> 
    ...blah blah blah 
</form> 

基本上,我想添加一个外部页面(同一域),以便在输入字段时,用户点击提交,他们花的Q和一个页面,用上面输入的值在上一页中输入以上形式传播输入字段。

为此我已经添加了id = “askit”

所以基本上,外部网页将火是这样的:

www.somewebsite.com/questions/?askit=hello+world

因为我的表单使用Post,所以我很确定这是梨形状的地方。

请提出任何建议。 ?该表格必须是POST,因为它用于提交问题。

回答

2

要获得http://www.somewebsite.com/questions/?askit=hello+world来工作,你需要通过以下方式上面更新代码:

<?php 
    $askit = ''; 
    if(array_key_exists('askit', $_GET)) { 
     $askit = $_GET['askit']; 
    } 
?> 
<form method="post"> 
    <input id="askit" type="text" name="q_desc" 
     value="<?php echo htmlentities($askit); ?>"> 
    ...blah blah blah 
</form> 
+0

谢谢,这是安全的吗?我不是在质疑它的安全性,只是问。会给它一个旋转,谢谢。 – 422

+1

这是相当安全的,任何HTML输入将被转义。可能还需要额外的安全措施,例如'FILTER_SANITIZE_STRING'中的'filter_var()'。 – Treffynnon

+0

谢谢:)会给它一个旋转。 – 422

2

您仍然可以在此表单上使用$_POST$_GET PHP超级全局变量混合匹配POST和GET数据。

<form method="post"> 
    <imput id="askit" type="text" name="q_desc" value="<?php echo isset($_GET['askit']) ? htmlspecialchars($_GET['askit']) : ''; ?>"> 
</form> 

虽然我不推荐它,你的生活可能是通过使用$_REQUEST这既是POST的合并和GET数据更容易。

+0

我不是100%肯定_request方法,请你详细说明 – 422

+2

请参阅:http://php.net/manual/en/reserved.variables.request.php – Treffynnon

1

它真的很容易,你需要做的是让使用$_GET['']$_POST['']根据用户提交的值对请求,然后呼应其为输入的值,所以是这样的:

<input id="askit" type="text" name="q_desc" value="<?php echo $_GET['askit']?>">

您可以随时使用ヶ辆(),以确保形式为s并防止人们搞乱你的html。