質問編集履歴

1 誤字

HirokiSasaki

HirokiSasaki score 8

2017/01/16 01:20  投稿

簡単なToDoアプリを作る際に躓きました……。
PHP初学者です。 
簡単なToDoアプリを作ろうとしてつまづきました。 
ソースコードと状況を記載しますので、お知恵をお借りしたく考えております。
ご確認をお願いいたします。
#概要
フォームにtasknameとtaskdetailを入力しsubmitボタンを押すと、Tasksクラスのインスタンスである$task[&i]インスタンスができ、showTasks関数によって表示されるというものです。 
フォームにtasknameとtaskdetailを入力しsubmitボタンを押すと、Tasksクラスのインスタンスである$task[$i]インスタンスができ、showTasks関数によって表示されるというものです。 
※:$doneTaskCount変数はこれから実装予定のタスク完了機能に付帯するものですのでスルーしていただいて問題ないです。
※2:$_COOKIE['username']という物がありますが、前のページから引き継いだものですので、気にしないでください。
#現状
タスクを入力し、submitを押しても次の画面に進みません。
#ソースコード
```PHP
<?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>
```
以上になります。
恐れ入りますが、よろしくお願いいたいます。
  • PHP

    36180 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る