2013-06-24 16 views
-4

我有一個簡單的表單,它使用表單提交回調值。我希望將這個值寫入文本文件,我似乎無法弄清楚爲什麼我的代碼沒有任何想法?寫入表單提交到文本文件

<?php 
if (isset($_POST['button1'])) { 
$txt=$_POST['button1']; 
file_put_contents('status.txt',$txt,FILE_APPEND|LOCK_EX); 
exit(); 
} 
?> 

    <form method="post" action="<?php echo $PHP_SELF;?>"> 
    Restaurant Open: 
    <input type="radio" name="button1" value="Open" onClick="submit();" <?php echo  ($_POST['button1'] == 'Open') ? 'checked="checked"' : ''; ?> /> Open        
<input type="radio" name="button1" value="Closed" onClick="submit();" <?php echo    ($_POST['button1'] == 'Closed') ? 'checked="checked"' : ''; ?>/> Closed 
    </form> 

<?php 

if (isset($_POST['button1']) == 'Open') 
echo "Open Today."; 

else if (isset($_POST['button1']) == 'Closed') 
echo "Closed Today."; 

?> 
+0

看來,上提交的所有信息消失 – onei0120

+0

UPDATE:其實它並寫入文本文件,只是不知道爲什麼,我的形式消失 – onei0120

+0

形式本身在你的回聲'回聲($ _ POST ['Button1的消失 – onei0120

回答

1

在寫入任何內容之前,表單因爲您的exit()而消失。

0

我建議你使用這段代碼。

上的單選按鈕,我改變

<?php echo ($_POST['button1'] == 'Open') ? 'checked="checked"' : ''; ?>

if($_POST['button1'] == 'Open') echo "checked=checked"; ?>

這將避免誤解。

<?php 
    if (!empty($_POST['button1'])) { 
    $txt=$_POST['button1']; 
    file_put_contents('status.txt',$txt,FILE_APPEND|LOCK_EX); 
    //removed exit 
    } 
    ?> 

<form method="post" action=""> 
    Restaurant Open: 
<input type="radio" name="button1" value="Open" onClick="submit();" <? if($_POST['button1'] == 'Open') echo "checked=checked"; ?> /> Open        
<input type="radio" name="button1" value="Closed" onClick="submit();" <? if($_POST['button1'] == 'Closed') echo "checked=checked"; ?> /> Closed 
</form> 

    <?php 

    if ($_POST['button1'] == 'Open') 
    echo "Open Today."; 

    elseif ($_POST['button1'] == 'Closed') 
    echo "Closed Today."; 
    else 
    echo "Choose a status."; 

    ?> 
+0

您可以在答案中添加一些說明,解釋您所做的更改以及爲什麼? – andrewsi

+0

另外,isset不會返回值,只有布爾值。所以這將是明智的解決,以及 – casraf

+0

真!剛剛完成 –