2
Help us understand the problem. What are the problem?

posted at

updated at

[PHP入門] テキストデータへの、送信、書き込み、読み込み 

初めに

PHPの学習を始め、よく使うけど、始めのうちは忘れて何度も見直すだろう。
という点を、メモ代わりにまとめていきます。

基本的な書き方

[開始タグ] <?php
[終了タグ] ?>

[HTMLへ表示] echo   

echo "Hello"; //文字列
echo $hensu;  //変数

※jsのconsole.logのように()は不要だが、;を忘れるとエラーが出るので注意。

変数定義 

$num = 1;          //数列
$name = "hoge";     //文字列

HTMLフォームのデータをPHPファイルへ送信

PHPを使う事で、HTMLとCSSだけでは見た目だけだったお問い合わせフォームを実際に活用できるようになります。

<form method=”get" action=“get_confirm.php">
<p>お名前:<input type="text" name="name"></p> 
<p>MAIL:<input type="text" name="mail"></p> 
<p><input type="submit" value="送信"></p>
</form>

[method]

formタグmethodの部分には、getpostを入力。

どちらも同じような使い方ができるのですが、僕の現段階の理解では、
ログインIDや個人情報などpost
その他get

formの場合はpostを使う
getの場合は取り扱うデータがURLに表示されてしまう為、個人情報等に使うのは適していないという理由。

[action]

formタグactionの部分には、データの送信先URLを記入する。

PHPファイルでデータの受け取り

データの受け取り方はすごくシンプルです。
postでデータを送信した場合と、getでデータを送信した場合で、受け取り方が変わりますで、注意しましょう。

[postの場合]

<?php
//$_POST["input名"];
$name = $_POST["name"];  //$_POSTの部分は大文字で
$mail = $_POST["mail"];  
?>

[getの場合]

<?php
//$_GET["input名"];
$name = $_GET["name"];  //$_GETの部分は大文字で
$mail = $_GET["mail"];
?>

PHPファイルから、textファイルへの書き込み

データベースを使わない場合はtextファイルへ情報を残しておくことができます。
基本的には、下記の3行で書き込みが可能です。

<?php
$file = fopen(“./data/data.txt”, “a” ); //ファイルOPEN 
fwrite( $file, “**書き込み文字列**” );     //ファイルへの書込み
fclose( $file );                        //ファイルを閉じる
?>

$file = fopen(“◯◯”, “△△” );
◯◯の部分には、書き込むtextファイルのpathを記述。
△△の部分には、ファイルの開き方を指定します。

[開き方一覧]

r    :読み込みのみ でオープン。
r+   :読み込み/書込み用 にオープン。
w    :書込みのみ でオープン。           内容をまず削除、ファイルがなければ作成
w+   :読み込み/書込み用 でオープン。     内容をまず削除、ファイルがなければ作成
a    :追加書込み用のみ でオープン。      ファイルがなければ作成
a+   :読み込み/追加書込み用 でオープン。  ファイルがなければ作成

[form内容の書き込み記述例]

<?php
//データの受け取り
$name = $_POST["name"];
$mail = $_POST["mail"];

//データを区切る為の、カンマ
$c = ",";

//受け取ったデータ2つを1つの文字列にまとめる
$str = $name.$c.$mail;

//データを書き込む為のファイルを開く
$file = fopen("data/data2.txt", "a");

//データの書き込み作業              ※"\n"は改行です
fwrite($file, $str."\n");

//ファイルを閉じる
fclose($file);

//ページの遷移
header("Location:http://localhost/php_kadai/output.php")
?>

textファイルに書き込まれたデータを、PHPファイルで取得

書き込み同様、シンプルな記述で取得が可能です。

<?php

//読み込みたいファイルのpathを記述し、変数に代入
$filename = 'data/data2.txt';

//読み込んだファイル内の全てのデータを取得し、変数に代入
$content = file_get_contents($filename);

//取得したデータをHTMLで表示
echo $content;

?>

ファイル内のデータの取得方法はたくさんありますが、とりあえずデータを取得する為に、一番簡単かな。という方法で記述いたしました。

まとめ

HTMLとCSSで外観を作れるようになり、JavaScriptで動きを作れるようになり、PHPを使えるようになる事で、データの取り扱いやログイン処理等の本格的な機能を作れるようになります。

まだまだ学び始めたばかりなので、どんどん追記していきたいと思います。
僕と同じ、初学者の方のお役に少しでも立てれば幸いです。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
2
Help us understand the problem. What are the problem?