簡単なToDoアプリを作る際に躓きました……。
- 評価
- クリップ 0
- VIEW 1,087
PHP初学者です。
簡単なToDoアプリを作ろうとしてつまづきました。
ソースコードと状況を記載しますので、お知恵をお借りしたく考えております。
ご確認をお願いいたします。
概要
フォームにtasknameとtaskdetailを入力しsubmitボタンを押すと、Tasksクラスのインスタンスである$task[$i]インスタンスができ、showTasks関数によって表示されるというものです。
※:$doneTaskCount変数はこれから実装予定のタスク完了機能に付帯するものですのでスルーしていただいて問題ないです。
※2:$_COOKIE['username']という物がありますが、前のページから引き継いだものですので、気にしないでください。
現状
タスクを入力し、submitを押しても次の画面に進みません。
ソースコード
<?php
$taskCount = 0;
$doneTaskCount = 0;
function showTasks(){
$i = 0;
while($i == $taskCount){
$i++;
echo "<li>";
echo $task[$i]->getName();
echo "<br>";
echo $task[$i]->getDetail();
echo "</li>";
}
}
class Task{
private $taskName = "";
private $taskDetil = "";
public function __construct($name, $detail){
$this->taskName = $name;
$this->taskDetil = $detail;
showTasks();
}
public function getName(){
return $this->taskName;
}
public function getDetail(){
return $this->taskDetail;
}
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>ToDo</h1>
<h2>Hello, <?php echo $_COOKIE['username']; ?>! You have <?php echo $taskCount; ?> tasks.</h2>
<h2>done <?php echo $doneTaskCount; ?> tasks.</h2>
<form action="" method="post">
<input type="text" name="taskname" placeholder="task name">
<input type="text" name="taskdetail" placeholder="task detail">
<input type="submit" name="" value="submit">
</form>
<ul>
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$taskCount++;
$task[taskCount] = new Task($_POST['taskname'], $_POST['taskdetail']);
}
echo $task[0]->taskName;
?>
</ul>
</body>
</html>
以上になります。
恐れ入りますが、よろしくお願いいたいます。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+3
ほとんどの変数は毎回クリアされてしまうので、session_start を行なって、$_SESSION 変数を使う必要があります。
この辺りなどを参照してみてください。
http://www.phpbook.jp/tutorial/session/index2.html
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+2
エラーを表示していますか?
まず、PHPのデバッグ環境を整えて下さい。
次に、複数個の Notice 、場合によっては Fatal error まで発生するので、それらの意味を確認し、解消方法を検討してみて下さい。
何が起きているのか追わないと、自力で解決できるようになりませんよ。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.09%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2017/01/17 01:24
ありがとうございます!