以下を修正私の問題は、「すでに送信された」ヘッダーとは何の関係もありませんでした。それは単に問題の兆候でした。GoDaddy側でフォルダーが見つからなかったため、問題はサーバー側の問題になりました。
質問の名前を編集して「GoDaddy サイト」を含め、将来同じ問題を抱えている人を助けることができるようにしました。
@KennyPowers の提案に従って、Go Daddy に電話しました。私はもともと Windows でホストされていたアカウントを持っていて、Linux に切り替えました。どうやら、session_start()
デフォルトで保存するフォルダは、私のサイトの残りの部分と一緒に移行されませんでした.デフォルトのフォルダを変更することはできません..少なくとも私のサイトでは..
GoDaddy が最後にフォルダーを置き換え、すべてが正常に動作するようになりました
元の質問:
session_start()を使用して少しヘルプを使用できます
サイトの流れ:
- page1.htmlには、 page2.php に POSTするフォームがあります
- page2.phpはデータを処理し、page3.php へのリンクを提示します。
- page3.phpが読み込まれるときに、フォームからのデータを処理する必要もあります。
すべてのページが同じドメインにあるため、session_start() でこれを実行しようとしています
これは私が試したことです:
ページ2:
<?php
// page2.php
session_start();
echo 'Welcome to page #2';
$_SESSION["guest1Last"] = $_POST["guest1Last"];
$_SESSION["guest1First"] = $_POST["guest1First"];
$_SESSION["guest1Middle"] = $_POST ["guest1Middle"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Title</title>
// more HTML and PHP stuff down here
ページ 3:
<?php
// page3.php
session_start();
echo 'Welcome to page #3<br />';
echo $_SESSION["guest1First"];
echo $_SESSION["guest1Middle"];
echo $_SESSION["guest1Last"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
// more HTML and PHP stuff down here
これらは、ページ 2 の読み込み時に表示される警告です: (ページ 3 でも同じ)
Warning: session_start() [function.session-start]: open(/var/chroot/home/content/08/10125908/tmp/sess_3dt4c7etqd6hr28dls0bludiv4, O_RDWR) failed: No such file or directory (2) in /home/content/08/10125908/html/_php/page2.php on line 4
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/08/10125908/html/_php/page2.php:4) in /home/content/08/10125908/html/_php/page2.php on line 4
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/08/10125908/html/_php/page2.php:4) in /home/content/08/10125908/html/_php/page2.php on line 4
Welcome to page #2
Warning: Unknown: open(/var/chroot/home/content/08/10125908/tmp/sess_3dt4c7etqd6hr28dls0bludiv4, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0
「 ヘッダーは既に送信されています」という部分は、session_start() がページの適切な場所にあるとは思わないが、あるべきだと思う上部にあると思う。とはいえ、明らかな理由から、 「 No such file or directory 」が問題の始まりである可能性が高いと言えます。誰かが私が間違っている方向に私を向けることができれば幸いです。
編集
<?php
session_start();
ini_set('session.save_path', '/var/chroot/home/content/08/10125908/html/tmp');
echo 'Welcome to page #1';
$_SESSION["guest1Last"] = $_POST["guest1Last"];
$_SESSION["guest1First"] = $_POST["guest1First"];
$_SESSION["guest1Middle"] = $_POST ["guest1Middle"];
?>
- フォルダー tmp を作成し、すべてのアクセス許可を付与しました
- 追加した
ini_set('session.save_path', '/var/chroot/home/content/08/10125908/html/tmp');
- ini_set('session.save_path', 'html/tmp'); を試しました
- また、 php.ini
session_save_path('/home/content/04/8260904/html/tmp');
として保存したテキストファイルを作成 し、ルートにアップロードしました - また、 php5.ini
として
session_save_path('/home/content/04/8260904/html/tmp');
保存したテキストファイルを作成し、ルートにアップロードしました
まだ同じエラーが発生します
Warning: session_start() [function.session-start]: open(/var/chroot/home/content/08/10125908/tmp/sess_3659a32a50e33e5f918a9e39d70a1668, O_RDWR) failed: No such file or directory
フォルダの宛先を正しく設定していませんか?
今の私のフォルダ設定
@KennyPowers の提案に従って、Go Daddy に電話しました。私はもともと Windows でホストされていたアカウントを持っていて、Linux に切り替えました。どうやらそのフォルダーは私のサイトの残りの部分と一緒に移行されなかったようで、デフォルトのフォルダーを変更することはできません..少なくとも私のサイトでは..