QA@IT
«質問へ戻る

エディタのせいでわかりにくいですが、複数行のコードはバッククォート3連で括ってください。

5599
本文
 どこがいけないのでしょうか?
 
 first.php
-`<?php
+```
+<?php
 session_start();
 if(isset($_SESSION['ID'])){
 	$ID = $_SESSION['ID'];
 <input type="submit" value="送信する">
 </form>
 </body>
-</html>`
+</html>
+```
 
 
 second.php
-`<?php
+```php
+<?php
 session_start();
 ?>
 <!DOCTYPE html>
 ?>
 <a href="first.php">戻る</a>
 </body>
-</html>`
+</html>
+```

【PHP】SESSION変数について

IDとパスワードを入れて、それを修正するというコードをセッションで書きました。
しかし、値を何も入力していないときも、何かが入力されている扱いになってしまいます。
どこがいけないのでしょうか?

first.php

<?php
session_start();
if(isset($_SESSION['ID'])){
    $ID = $_SESSION['ID'];
}else{
    $ID = '';
}
if(isset($_SESSION['pass'])){
    $pass = $_SESSION['pass'];
}else{
    $pass = '';
}
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"><title></title></head>
<body>
<form action="second.php" method="post">
<dl>
<dt>ID</dt>
<dd>
<input type="text" name="ID" value="<?= $ID ?>" size="5" maxlength="10">
</dd>
<dt>パスワード</dt>
<dd>
<input type="pass" name="pass" value="<?= $pass ?>" size="5" maxlength="10">
</dd></dl>
<input type="submit" value="送信する">
</form>
</body>
</html>

second.php

<?php
session_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"><title></title></head>
<body>
<?php
if(isset($_POST['ID'])){
    $_SESSION['ID'] = $_POST['ID'];
    $ID = $_POST['ID'];
    print "IDは" . $ID . "です";
}else{
    $ID = '';
    print "IDが入力されていません";
}
print "<br><br>";
if(isset($_POST['pass'])){
    $_SESSION['pass'] = $_POST['pass'];
    $pass = $_POST['pass'];
    print "パスワードは" . $pass . "です";
}else{
    $pass = '';
    print "パスワードが未入力です";
}
?>
<a href="first.php">戻る</a>
</body>
</html>
IDとパスワードを入れて、それを修正するというコードをセッションで書きました。
しかし、値を何も入力していないときも、何かが入力されている扱いになってしまいます。
どこがいけないのでしょうか?

first.php
```
<?php
session_start();
if(isset($_SESSION['ID'])){
	$ID = $_SESSION['ID'];
}else{
	$ID = '';
}
if(isset($_SESSION['pass'])){
	$pass = $_SESSION['pass'];
}else{
	$pass = '';
}
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"><title></title></head>
<body>
<form action="second.php" method="post">
<dl>
<dt>ID</dt>
<dd>
<input type="text" name="ID" value="<?= $ID ?>" size="5" maxlength="10">
</dd>
<dt>パスワード</dt>
<dd>
<input type="pass" name="pass" value="<?= $pass ?>" size="5" maxlength="10">
</dd></dl>
<input type="submit" value="送信する">
</form>
</body>
</html>
```


second.php
```php
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"><title></title></head>
<body>
<?php
if(isset($_POST['ID'])){
	$_SESSION['ID'] = $_POST['ID'];
	$ID = $_POST['ID'];
	print "IDは" . $ID . "です";
}else{
	$ID = '';
	print "IDが入力されていません";
}
print "<br><br>";
if(isset($_POST['pass'])){
	$_SESSION['pass'] = $_POST['pass'];
	$pass = $_POST['pass'];
	print "パスワードは" . $pass . "です";
}else{
	$pass = '';
	print "パスワードが未入力です";
}
?>
<a href="first.php">戻る</a>
</body>
</html>
```

質問を投稿

【PHP】SESSION変数について

IDとパスワードを入れて、それを修正するというコードをセッションで書きました。
しかし、値を何も入力していないときも、何かが入力されている扱いになってしまいます。
どこがいけないのでしょうか?

first.php
<?php
session_start();
if(isset($_SESSION['ID'])){
$ID = $_SESSION['ID'];
}else{
$ID = '';
}
if(isset($_SESSION['pass'])){
$pass = $_SESSION['pass'];
}else{
$pass = '';
}
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"><title></title></head>
<body>
<form action="second.php" method="post">
<dl>
<dt>ID</dt>
<dd>
<input type="text" name="ID" value="<?= $ID ?>" size="5" maxlength="10">
</dd>
<dt>パスワード</dt>
<dd>
<input type="pass" name="pass" value="<?= $pass ?>" size="5" maxlength="10">
</dd></dl>
<input type="submit" value="送信する">
</form>
</body>
</html>

second.php
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"><title></title></head>
<body>
<?php
if(isset($_POST['ID'])){
$_SESSION['ID'] = $_POST['ID'];
$ID = $_POST['ID'];
print "IDは" . $ID . "です";
}else{
$ID = '';
print "IDが入力されていません";
}
print "<br><br>";
if(isset($_POST['pass'])){
$_SESSION['pass'] = $_POST['pass'];
$pass = $_POST['pass'];
print "パスワードは" . $pass . "です";
}else{
$pass = '';
print "パスワードが未入力です";
}
?>
<a href="first.php">戻る</a>
</body>
</html>

IDとパスワードを入れて、それを修正するというコードをセッションで書きました。
しかし、値を何も入力していないときも、何かが入力されている扱いになってしまいます。
どこがいけないのでしょうか?

first.php
`<?php
session_start();
if(isset($_SESSION['ID'])){
	$ID = $_SESSION['ID'];
}else{
	$ID = '';
}
if(isset($_SESSION['pass'])){
	$pass = $_SESSION['pass'];
}else{
	$pass = '';
}
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"><title></title></head>
<body>
<form action="second.php" method="post">
<dl>
<dt>ID</dt>
<dd>
<input type="text" name="ID" value="<?= $ID ?>" size="5" maxlength="10">
</dd>
<dt>パスワード</dt>
<dd>
<input type="pass" name="pass" value="<?= $pass ?>" size="5" maxlength="10">
</dd></dl>
<input type="submit" value="送信する">
</form>
</body>
</html>`


second.php
`<?php
session_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"><title></title></head>
<body>
<?php
if(isset($_POST['ID'])){
	$_SESSION['ID'] = $_POST['ID'];
	$ID = $_POST['ID'];
	print "IDは" . $ID . "です";
}else{
	$ID = '';
	print "IDが入力されていません";
}
print "<br><br>";
if(isset($_POST['pass'])){
	$_SESSION['pass'] = $_POST['pass'];
	$pass = $_POST['pass'];
	print "パスワードは" . $pass . "です";
}else{
	$pass = '';
	print "パスワードが未入力です";
}
?>
<a href="first.php">戻る</a>
</body>
</html>`