1

私は基本的にPHPの初心者です。私はそれの基本的な理解を持っていますが、これに対する解決策を見つけるのに本当に苦労しています。

HomePage.php:

<?php 

 require('dbconnection.php'); 

 if(isset($_POST)&&(sizeof($_POST)>0))
 {
    $sql_query_insert_user = "insert into users(user_fname,user_mname,user_lname,user_dob,user_email,user_doc,user_gender,user_nationality) values '$fname','$mname','$lname','$dob','$email','$doc','$gender','$nationality')";

    mysql_query($sql_query_insert_user,$dbconnect) or die("cannot insert to user");

    $user_id = mysql_insert_id();

    session_start();

    $_SESSION['user_id'] = $user_id;
    $_SESSION['user_name'] = $user_name;

    $sql_query_insert_user_login = "insert into users_login(user_id,user_name,user_password) values ('$user_id','$user_name','$user_password')";

    mysql_query($sql_query_insert_user_login,$dbconnect) or die("cannot connect to user login");

 }


?>

そして、私は次のようにセッション変数にアクセスしようとします:

UserHome.php

<?php 

session_start();

echo $_SESSION['id'];
echo $_SESSION['user_name'];

?>

次のように表示されます。

注意:未定義のインデックス:id注意:未定義のインデックス:user_name

このエラーに関するアイデアはありますか?私は何がうまくいかないかを見つけるために何年も費やしてきました。

4

1 に答える 1

1

を定義$_SESSION['user_id'] = $user_id;してから参照してい$_SESSION['id']ます。user_プレフィックスが必要です。

そのバグはさておき、タグで使用method="post"していることを確認する必要があります。そうしないと、ブロックが実行されず、セッション変数が設定されません。<form>if (isset($_POST...

すべてが機能したら、関数の使用を停止しmysql_*ます。それらは非推奨であり、コミュニティは PDO や MySQLi などの同様の代替手段にしばらく移行しています。

于 2013-03-10T18:07:24.650 に答える