允许一个表单提交cookie

时间:2013-02-25 15:53:32

标签: php forms cookies submission

我有一个表单,但我希望每个用户只发送一次,所以我想设置一个cookie来做到这一点。我该如何更改脚本?

我的PHP脚本:

<?php
if (isset($_COOKIE["Form"]) == 1)
{
//Hide form
exit();
}
if ( $_GET['value'] <> "")
{   
$adress = 'Receiver@mysite.com';
$subject = 'SUBJECT';
$text = 'TEXT';
mail($adress,
$subject,   
$text,
'From: someone@mail.here');
  $handle = fopen ( "some-doc.txt", "a" );

  fwrite ( $handle, $_GET['value'] );

fclose ( $handle );


echo "Thanks";
setcookie("Form", 1, time()+3600*24*60); // Line 108
exit;
}
?>

错误消息

Warning: Cannot modify header information - headers already sent by (output started at
form.php:6) in 
form.php on line 108

我改变了它,但现在我收到了这个错误。

2 个答案:

答案 0 :(得分:0)

将行setcookie("Schule", 1, time()+3600*24*60);放在退出语句之前,并替换&#34; Schule&#34;用&#34; Form&#34;。

答案 1 :(得分:0)

我看到你做到了:

setcookie("Schule", 1, time()+3600*24*60);

然后使用类似的方法:

setcookie("Form", 'yes', time()+3600*24*60);

现在:

if (isset($_COOKIE["Form"]) && $_COOKIE["Form"] == 'yes')
{
//Hide form
exit();
}