2013-02-25 3 views
1

У меня есть форма, но я хочу, чтобы она отправлялась только один раз для каждого пользователя, поэтому я хочу установить cookie для этого. Как мне изменить свой сценарий?Разрешить одну форму отправки cookie

Мой PHP скрипт:

<?php 
if (isset($_COOKIE["Form"]) == 1) 
{ 
//Hide form 
exit(); 
} 
if ($_GET['value'] <> "") 
{ 
$adress = '[email protected]'; 
$subject = 'SUBJECT'; 
$text = 'TEXT'; 
mail($adress, 
$subject, 
$text, 
'From: [email protected]'); 
    $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 

Я изменил его, но теперь я получаю эту ошибку.

ответ

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(); 
} 
+0

Я изменил его, но теперь я получаю сообщение об ошибке, я отправил выше. – JSHelp

0

Поместите линию setcookie("Schule", 1, time()+3600*24*60); перед оператором выхода и замените «Schule» на «Form».

Смежные вопросы