2013-07-18 27 views
1

我對PHP相當陌生,並且正在嘗試將一個php腳本嵌入到爲網頁設置2個Cookie的框架(Web Presence Builder/Parallels)中。我正在使用以下代碼來設置Cookie。無法在嵌入式腳本中設置Cookie

$hour = time() + 3600; 
setcookie("Cookie1", $_POST['username'], $hour, '.mydomain.com'); 
setcookie("Cookie2", $_POST['pass'], $hour, $hour, '.mydomain.com'); 

的Cookie是沒有確定,但是,當我運行一個空白頁(同一臺服務器,沒有HTML或CSS)在同一個腳本,餅乾設置。我已閱讀說明文檔

Like other headers, cookies must be sent before any output from your script... 

有沒有辦法插入腳本以便設置cookie?

謝謝。

+1

將PHP代碼放在** any **輸出到瀏覽器之前。 – BenM

+0

我不太瞭解html。我正在爲用戶名和密碼插入一個文本字段。我怎樣才能確保文本字段仍然出現在適當的框架? – mpwhitt

回答

1

<?php 
$hour = time() + 3600; 
setcookie("Cookie1", $_POST['username'], $hour, '.mydomain.com'); 
setcookie("Cookie2", $_POST['pass'], $hour, $hour, '.mydomain.com'); 

在文件的最頂端。將該權利置於頂部不會影響頁面上的任何文本輸入,因爲該代碼不會輸出任何輸入字段。

0

在一個更爲一般的說明中,我認爲儘可能在您的腳本頂部使用動態HTML(DHTML)腳本,並儘可能將大部分PHP放在最好的位置。這有助於保持對PHP服務器性質的認識。 (即,在將結果輸出傳遞給瀏覽器之前,所有PHP都在服務器上執行 - 然後您在視圖源中看到的內容)。 只通過您的代碼在需要的情況下傳播PHP。 (例如,有條件地顯示不同的內容,填充選擇或回顯字段的默認值的選項)。 在經典設置中,當前頁面包含將數據發佈到相同頁面進行驗證的表單 - 將所有PHP驗證和處理代碼放在腳本的頂部。您應該通過其餘代碼(僅測試和/或回聲)避免任何PHP計算和/或分配。