10

私はphpページのmysqlにこのクエリを持っています:

mysql_query("INSERT INTO tz_todo SET text='".$text."', 
                                     position = ".$position.", 
                                     user_id=".$_SESSION['user_id'].", 
                                     view_stat=0");

クエリをエコーし​​ようとしましたが、結果は次のとおりです。

INSERT INTO tz_todo SET text='trial text', position = 21, user_id=, view_stat=0

のセッション値を取得できないようですuser_id

そして$_SESSION['user_id']、ソーシャルエンジンでは機能していません。これを修正する方法は?xamppでlocalhostバージョンも作成しましたが、すべて問題ありませんが、ソーシャルエンジンに変換すると、セッションが機能しません。

4

5 に答える 5

2

セッション オブジェクトを使用しているすべてのページで、次のコードをファイルの先頭に配置します。

if(!isset($_SESSION)){session_start();}

このようにして、セッションがまだ開始されていない場合は開始されます。それ以外の場合、セッションが既に開始されている場合は、セッションの開始が無視されます。セッションがすでに開始されている場合に session_start() を呼び出すとエラーが発生することがあるため、これは重要です。

于 2012-07-23T08:21:12.180 に答える
1

session を使用して user_id を保存するのは完全に間違っています。user_id を取得するには

$viewer_id = Engine_Api::_()->user()->getViewer()->getIdentity();(または、別のユーザーのオブジェクトがある場合は $user->getIdentity)。

このデータを保存するためにまだセッションを使用する必要がある場合は、Zend-approachを使用してください。

于 2013-10-10T10:12:33.977 に答える
0
session_start(); 
$_SESSION["test"] = "hello world";
session_start();
echo $_SESSION["test"];

上記のコードは機能しますか?そうでない場合は、php.iniのsession.save_pathを確認してください

注:この変数を保持するには、セッションから変数を呼び出す前に、各phpスクリプト/ページでsession_start()を呼び出すことを忘れないでください。

于 2012-07-14T10:59:05.700 に答える
0

Yoy はページの上部からセッションを開始するのを忘れている可能性があります

<?php if(!isset($_SESSION)){ session_start(); } ?>

$_SESSION['user_id'] に値が格納されていない可能性があります。ログインページを確認するか(基本的にログインセッション変数が設定された後)、または天気を登録した後、そのセッション変数に値を割り当てました..

セッション変数に値を設定する:

$_SESSION['user_id'] = "1234567";

于 2012-07-25T07:20:35.303 に答える