PHP学習用 HTTP REQUESTを使用したメモ帳の作成
本日学習した内容をアウトプットする。
今回は、post,getメソッドを学習したのでそれらを利用してやることをメモするプログラムを作成した。
まず、index.tql.phpを作成した。
<!DOCTYPE html>
<html lang="ja">
<?php include('header.inc.php')?>
//header.inc.phpを呼び出し
<body>
<article class="todo-body">
<h1 class="title">やることリスト登録</h1>
<form action="result.php" method='post' class='todo-form'>
<p><?php echo $message;?></p>
<label for="article">投稿</label>
<input type="text" name='article'>
<p></p>
<label for="name" class='author'>投稿者名</label>
<input type="text" name='name'><br>
<button type='submit'>送信する</button>
</form>
<div class="todo-list">
<h1>やることリスト</h1>
<?php foreach($lines as $line){?>
<p>
<?php echo $line;?><br>
</p>
<?php }?>
</div>
</article>
</body>
<?php include('footer.inc.php');?>
//footerを呼び出し
</html>
include()関数・・・別のphpファイルを呼び出す。
これにより、保守性を強化することが出来る。
値の受け渡しは、inputのname属性によって値の受け渡しを行なっている。
次にindex.tql.phpファイルを呼び出すためにindex.phpを作成
<?php
$message='ここに本日やることを入力してください';
$lines=file(__DIR__.'/articles.txt',FILE_IGNORE_NEW_LINES);
require_once 'view/index.tql.php';
?>
今回は、「articles.txt」というテキストファイルにやることを追記していく。
詳しく見ていくと、
file()関数により、txtファイルの呼び出しを行なっている。
FILE_IGNORE_NEW_LINES
この部分では、
配列の各要素の最後の改行を省略するという役割を持っている。
次にこれらの結果のページが取得できたときのページを作成していく。
始めに、result.tql.phpファイルにて
<!DOCTYPE html>
<html lang="ja">
<?php include('header.inc.php')?>
<body>
<article class="todo-body">
<h1 class="title">やることリスト登録</h1>
<form action="index.php" method='post' class='todo-form'>
<p><?php echo $message;?></p>
<p><?php echo $article;?></p>
<p><?php echo $name;?></p>
<button type='submit'>ページに戻る</button>
</form>
</article>
</body>
<?php include('footer.inc.php');?>
</html>
そして、これらの呼び出しもとで
<?php
$message='入力が完了しました';
$article=htmlspecialchars($_REQUEST['article']);
$name=htmlspecialchars($_REQUEST['name']);
$line=$article.",".$name.PHP_EOL;
file_put_contents(__DIR__.'/articles.txt',$line,FILE_APPEND | LOCK_EX);
require_once 'view/result.tql.php';
?>
のように記述を行う。
ここでは、HTTPのPOSTリクエストを受け取る際に、
$article=htmlspecialchars($_REQUEST['article']);
$name=htmlspecialchars($_REQUEST['name']);
のように記述を行う。
htmlspecialcharsでは、コードをHTML形式に変換する役割を持っている。
そして、この中に
$_REQUESTにより値が格納される。
また、取得した$articleを変数にarticles.txtに追加したいので
file_put_contents(__DIR__.'/articles.txt',$line,FILE_APPEND | LOCK_EX);
のように処理を行う。
FILE_APPENDフラグは、前のテキストデータを上書きするのではなく、追記するように指示してくれる。
そして、LOCK_EXでは、同時に1プロセスのみ読み書きすることが出来る。
上記処理によって
画像のような簡単なプログラムを作成することが出来た。
学習ようなのでcssは雑に行っている。
引き続き毎日簡単なプログラムでもいいので学んだ内容をすぐにアウトプットに移していく。
コードは、以下の通りである。
https://github.com/muscleyukou/php_study_form
Author And Source
この問題について(PHP学習用 HTTP REQUESTを使用したメモ帳の作成), 我々は、より多くの情報をここで見つけました https://qiita.com/yukou29good0910/items/30fbc61e67a1c89af68c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .