0

フォーム アクションを変更するための JavaScript コードを含む index.php があります。

<script>
window.onload=function() {
document.getElementsByName("myproject")[0].onchange=function() {
var path = this.value;
if (path) this.form.action=path+'/main.php';
}
}
</script>

このスクリプトは、値を変更するたびにフォーム アクションを変更します。

<form action = "" method = "POST"><table>
<td>Select Project: </td><td><select name="myproject" id="myproject">
<td>USERNAME: </td><td><input type="text" name="user" id="user"/></td>
<td>PASSWORD: </td><td><input type="password" name="pass" id="pass"/></td>
<option value="">Please Select</option>
<option value="Exam1">Exam1</option>
</select></td>
<input type = "submit" name="login"/>
</form>

また、phpコードもあります。これは得た

<?php
session_start();
error_reporting(0);
$_SESSION['user'] = "";
$_SESSION['pass'] = "";
if ($_POST['login'])
{ 
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $_POST['pass'];
?>

Exam1/main.php にリダイレクトすると、SESSION 変数が失われます。私の Exam1/main.php には、セッション変数を取得したかどうかを判断するためのこのコードが含まれています

<?php
session_start();
error_reporting(0);
$mainuser = $_SESSION['user'];
$mainpass = $_SESSION['pass'] ;
echo $mainpass.$mainuser;
?>

セッション変数が失われるのはなぜですか。

4

6 に答える 6

1

session_start()あなたは私たちに2回セッションを初期化しています

于 2013-09-10T04:45:44.397 に答える
1

代わりにindex.php、使用している php コードが必要です。main.phpあなたのフォームアクションはmain.php

<?php
session_start();
error_reporting(0);
$_SESSION['user'] = "";
$_SESSION['pass'] = "";
if ($_POST['login'])
{ 
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $_POST['pass'];
?>

データへのリダイレクトはmain.php $_POSTそこでのみ利用可能であるため、$_SESSION

于 2013-09-10T04:54:45.580 に答える