今回、過去に学校の課題で制作したプログラムを改めて動かそうと
したのですが、動かなくなっており対処の方法がわからず投稿します。
そのプログラムはユーザーにアンケートを作成してもらうという内容のもので
流れとしては
アンケートのタイトル入力→アンケート項目入力→入力確認→個別のhtmlを生成
となっています。
エラーが出るのは入力確認の部分なのですが、コメントアウトした部分が
一部表示されてフォームの入力内容が受け取れないというものでどこを対処すればよいのか判らず困っております。
コードはほぼ初めて参考書などを参考にしながらで、いろいろと見苦しいかと思いますが
なにか対処の手がかりなどいただけたらうれしいです。
環境:XP
XAMPPver2.5?
タイトル入力
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link media="all" type="text/css" href="./css/default.css" rel="stylesheet"/>
</link>
<link media="all" type="text/css" href="./css/top_base.css" rel="stylesheet"/>
</link>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>アンケートにタイトルをつけてください</title>
</head>
<body>
<div id="wrapper">
<div id="content">
<h1>アンケートに名前を付けてください</h1>
<form method="post" action="simplemode.php">
<input type="text" name="name" >
<input type="submit" value="タイトルを決定">
</form>
<p>ヒント:~のアンケートなど</p>
</div>
</div>
</body>
</html>
アンケート項目入力
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link media="all" type="text/css" href="./css/default.css" rel="stylesheet"/>
</link>
<link media="all" type="text/css" href="./css/top_base.css" rel="stylesheet"/>
</link>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>無題ドキュメント</title>
</head>
<body>
<?php
$name = $_POST["name"];
?>
<div id="wrapper">
<div id="content">
<?php echo $name ?>
<h1>質問したい内容を決めてください</h1>
<form method="post" action="kakunin.php">
<input type="hidden" name="name" value="<?php echo $name ?>">
<input type="text" name="enq1" >
<input type="text" name="enq2" >
<input type="text" name="enq3" >
<input type="submit" value="送信">
</form>
</div>
</div>
</body>
</html>
入力確認
<link media="all" type="text/css" href="./css/top_base.css" rel="stylesheet"/>
</link>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>タイトルを決めてください</title>
</head>
<body>
<?PHP
if($_SERVER['REQUEST_METHOD'] == "POST")
{foreach($_POST as $k => $v){
//magic_quotes_gpcって?
if(get_magic_quotes_gpc()){
$v = stripslashes($v);
}
$v = htmlspecialchars($v);
$$k = $v;
}
}
//そうじゃなければFALSEなら終わり?
else{
exit();
}
//値をチェックします
/*
$ErrFlg = 0;
if($name == ""){
echo "<p>展覧会の名前かアンケートの名称を入力してください";
$ErrFlg = 1;
}
if($enq1 == ""){
echo "<p>最初の質問を入力してください";
$ErrFlg = 1;
}
if($enq2 == ""){
echo "<p>目の質問を入力してください";
$ErrFlg = 1;
}
if($enq3 == ""){
echo "<p>みっつ目の質問を入力してください";
$ErrFlg = 1;
}
if($ErrFlg){
exit();
}
*/
?>
<div id="wrapper">
<div id="content">
<p>入力内容に間違いはないですか?
<form method="POST" action="<?PHP echo "seisei.php" ?>">
<table border="0">
<tr>
<td>アンケート名</td>
<td><?php echo $name ?></td>
</tr>
<tr>
<td>アンケート内容1</td>
<td><?php echo $enq1 ?></td>
</tr>
<tr>
<td>アンケート内容2</td>
<td><?php echo $enq2 ?></td>
</tr>
<td>アンケート内容3</td>
<td><?php echo $enq3 ?></td>
</tr>
<tr>
<!--colspanを入れるわけ -->
<td colspan="2"><input type="submit" value="作成"></td>
</tr>
</table>
<!--上にある変数のデータ送信用inputしか送る方法がないため -->
<input type="hidden" name="name" value="<?php echo $name ?>">
<input type="hidden" name="enq1" value="<?php echo $enq1 ?>">
<input type="hidden" name="enq2" value="<?php echo $enq2 ?>">
<input type="hidden" name="enq3" value="<?php echo $enq3 ?>">
<!--<input type="hidden" name="dir" value="<?php echo $dir ?>">-->
</form>
</div>
</div>
</body>
</html>
表示されてしまうのは以下の部分です。
なぜコメントアウトしても表示されてしまうのかが一番不可解困っております。
$v){
//magic_quotes_gpcって?
if(get_magic_quotes_gpc()){
$v = stripslashes($v);
}
$v = htmlspecialchars($v);
$$k = $v;
}
}
//そうじゃなければFALSEなら終わり?
else{
exit();
}
//値をチェックします
/*
$ErrFlg = 0;
if($name == ""){
echo "<p>展覧会の名前かアンケートの名称を入力してください";
$ErrFlg = 1;
}
if($enq1 == ""){
echo "<p>最初の質問を入力してください";
$ErrFlg = 1;
}
if($enq2 == ""){
echo "<p>目の質問を入力してください";
$ErrFlg = 1;
}
if($enq3 == ""){
echo "<p>みっつ目の質問を入力してください";
$ErrFlg = 1;
}
« 最終編集者 KKG 日時 2009 年 9 月 28 日(月) 19:33. »