【发布时间】:2014-09-22 19:38:04
【问题描述】:
当我尝试使用内联 php 访问 cookie 时,无论出于何种原因,我的提交都消失了。
<div id='add_form'>
<form id='form' method='post' action='reg.do.php'>
<label for='date'>Date of Charge:</label><input type='text' name='date' id='date' maxlength='10' value='<?php echo (isset($_POST['name']) ? sanitize($_POST['name']) : ''); ?>' ><br>
<label for='vendor'>Vendor:</label><input type='text' name='vendor' id='vendor' value='<?php echo (isset($_POST['vendor']) ? sanitize($_POST['vendor']) : ''); ?>' ><br>
<label for='amount'>Amount:</label><input type='text' name='amount' id='amount' value='<?php echo (isset($_POST['amount']) ? sanitize($_POST['amount']) : ''); ?>' ><br>
<label for='service'>Description of Service:</label><input type='text' name='service' id='service' value='<?php echo (isset($_POST['service']) ? sanitize($_POST['service']) : ''); ?>' ><br>
<label for='winner'>Winner:</label><input type='text' name='winner' id='winner' value='<?php echo (isset($_POST['winner']) ? sanitize($_POST['winner']) : ''); ?>' ><br>
<label for='job'>Job Number:</label><input type='text' name='job' id='job' value='<?php echo (isset($_POST['job']) ? sanitize($_POST['job']) : ''); ?>' ><br>
<input type='hidden' name='user' id='user' value='<?php echo (isset($_COOKIE['cookie_id']) ? sanitize($_COOKIE['cookie_id']) : ''); ?>' >
<input type='submit' value='Submit'>
</form>
</div>
如果我去掉最后一个隐藏的输入字段或将其中的$_COOKIE 访问更改为$_POST,那么提交按钮就会出现。我该如何解决这个问题?
【问题讨论】:
-
您是否从 cookie 值中得到任何单引号或撇号?这会破坏 html 属性,并可能导致下一项显示不正确(或根本不显示)。
-
我不应该因为
$_COOKIE['cookie_id']应该返回没有任何特殊字符的名字和姓氏。
标签: javascript php jquery html cookies