0

このコードを含むファイルがあります:

<?
include('../checkiflogged.php');
include('../../config.php'); 
if(!session_id())
session_start();

$klevel = $_SESSION['gradekreadings'];

switch($klevel) {
default:
$querynewpass = "UPDATE profiles SET `gradekreadings`='1' WHERE username='{$_SESSION['login']}'";
$klevel = 1;
break;
}
echo $klevel;
?>

私のmysqlでは、gradekreadingsは列ですが、取得できません.$klevel変数は、空白または何も返されません。ユーザーがログインしたときにセッションが既に入力されているようです。「ユーザー名」という名前のmysqlに列がありますが、ログインすると、「ログイン」という名前のテキストフィールドがあります。「ユーザー名」は返されず、「ログイン」フィールドのみが返されます。ページを使用しているユーザーが mysql ですべての変数を使用できるようにするにはどうすればよいですか?

- - - - - - - - - - - - - - 編集 - - - - - - - - - - - ------ 以下から提供されたこのコードに更新しました。

<?
session_start();
include('../checkiflogged.php');
include('../../config.php');

$klevel = $_SESSION['gradekreadings'];

/*switch($klevel) {
default:
$querynewpass = "UPDATE profiles SET `gradekreadings`='1' WHERE             username='{$_SESSION['login']}'";
mysql_query($querynewpass);
$klevel = 1;
break;
}*/
echo $klevel;
?>

それでも、エコーでは何も返されません。私の列には0があります。

4

2 に答える 2

2

${_SESSION["login"]}代わりに試してください{$_SESSION['login']}

$querynewpass = "UPDATE profiles SET gradekreadings='1' WHERE username='${_SESSION["login"]}'";

また

$querynewpass = "UPDATE profiles SET gradekreadings='1' WHERE username='".$_SESSION["login"]."'";
于 2013-04-28T17:44:43.917 に答える
1
<?
session_start();
include('../checkiflogged.php');
include('../../config.php'); 

if(isset($_SESSION['gradekreadings'])){
  $klevel = $_SESSION['gradekreadings'];
}else{
  klevel=1;
}
switch($klevel) {
default:
$querynewpass = "UPDATE profiles SET `gradekreadings`='1' WHERE username='".$_SESSION['login']."'";
$klevel = 1;
break;
}
echo $klevel;

?>

session_start()ファイルの先頭にある必要があります。

于 2013-04-28T17:47:34.667 に答える