No.3
- 回答日時:
【追記】
POST送信されていない・配列で不正に送信された場合に加えて、何も入力されていない・UTF-8として不正な文字列を送信された場合も弾きたいならば、
if (isset($_POST['new']) && is_string($_POST['new']) && !preg_match('/\A(?<!\z)/u', $_POST['new'])) {
$_SESSION['list'][] = $_POST['new'];
}
としてください。
なおこういう風にバリデーション処理が膨らんでくると毎回書くのが面倒なので、こういう関数を作っておくといいです。
http://qiita.com/mpyw/items/c39b9ee695a5c2e74627
No.2
- 回答日時:
<?php
// 「戻る」で戻ったあとも正常にページを表示したければこれが必要
session_cache_limiter('none');
// $_SESSIONを使えるようにする
session_start();
// 定義されていなければ配列で初期化する
if (!isset($_SESSION['list'])) {
$_SESSION['list'] = array();
}
// POSTで文字列として正しく受け取ったならば追加
if (isset($_POST['new']) && is_string($_POST['new'])) {
$_SESSION['list'][] = $_POST['new'];
}
// ヘッダ出力
header('Content-Type: text/html; charset=UTF-8');
?>
<!DOCTYPE html>
<html>
<head>
<title>メモ</title>
</head>
<body>
<form action="<?=basename($_SERVER['SCRIPT_NAME'])?>" method="post">
<fieldset>
<legend>新規入力</legend>
<p><input type="text" name="new"></p>
<p><input type="submit" value="追加"></p>
</fieldset>
</form>
<?php if ($_SESSION['list']): ?>
<fieldset>
<legend>リスト</legend>
<ul>
<?php foreach ($_SESSION['list'] as $item): ?>
<li><?=htmlspecialchars($item, ENT_QUOTES, 'UTF-8')?></li>
<?php endforeach; ?>
</ul>
</fieldset>
<?php endif; ?>
</body>
</html>
No.1
- 回答日時:
<?php
// 「戻る」で戻ったあとも正常にページを表示したければこれが必要
session_cache_limiter('none');
// $_SESSIONを使えるようにする
session_start();
// 定義されていなければ空文字で初期化する
if (!isset($_SESSION['memo'])) {
$_SESSION['memo'] = '';
}
// POSTで文字列として正しく受け取ったならば代入
if (isset($_POST['memo']) && is_string($_POST['memo'])) {
$_SESSION['memo'] = $_POST['memo'];
}
// ヘッダ出力
header('Content-Type: text/html; charset=UTF-8');
?>
<!DOCTYPE html>
<html>
<head>
<title>メモ</title>
</head>
<body>
<form action="<?=basename($_SERVER['SCRIPT_NAME'])?>" method="post">
<fieldset>
<legend>メモ</legend>
<p><textarea name="memo"><?=htmlspecialchars($_SESSION['memo'], ENT_QUOTES, 'UTF-8')?></textarea></p>
<p><input type="submit" value="更新"></p>
</fieldset>
</form>
</body>
</html>
この回答への補足
迅速で詳しい回答ありがとうございます。
因みにすいませんが、この更新ボタンの下に更新した文字を縦にずらーっと
並べるにはどうすればよいでしょうか?下のようにしたいのですが。
一回目の入力
----------
あいうえお|←textarea
----------
更新ボタン
あいうえお
二回目の入力
----------
かきくけこ|
----------
更新ボタン
あいうえお
かきくけこ
何回も申し訳ないですけど、もう一回だけ回答よろしくお願いしますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- gooブログ Twitterの動画画面をgooブログに埋め込めない 4 2022/06/03 16:40
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- gooのスマホ スマホF-51Bに緊急時情報画面でロックが掛かって解除できません。 3 2023/06/18 23:05
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字化けについて
-
onedrive にexcelファイルをア...
-
Fedoraでphp
-
【file_exists】ファイルが存在...
-
ImageCreate関数が undefined f...
-
フォントの色を変えるには?
-
別ファイルの変数を呼び出した...
-
インスタンス化に伴うメモリ消...
-
error_reporting(0);にも関わら...
-
MySQLのdatetime型の月日0を削...
-
httpdのプロセスが自動で消えな...
-
<A href ~ と一緒に値を渡すには
-
wgetの使い方
-
CygwinでNo such file
-
SSI される .inc ファイル内に ...
-
ワードプレスサイト PHP8.0.25...
-
.phpと.incファイルの違いはな...
-
phpにて動的なページを生成する...
-
Matlab 指定したディレクトリ...
-
OpenGLで描いて画像ファイル出力
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化けについて
-
日付と年月日を選択するコード...
-
htmlのエラーについて(デバッグ)
-
初心者で数当てゲームを作って...
-
phpの画面表示が真っ白です
-
前後の全角スペースを削除する...
-
XAMPP1.7.1上でPHPを実行すると...
-
mb_convert_variablesで変換出...
-
これまで遷移してきたサイト内...
-
php エラー
-
URLエンコーディングで悩ん...
-
XMLパースエラー回避方法
-
【PHP?】header("location : ...
-
phpでfopen()やfputs()が使えない
-
PHPの勉強中の初心者です。
-
複数の文字列をファイルに書き...
-
php ログイン
-
PHP(smarty)についての質問(文...
-
PHPプログラムの間違い
-
<form action="bbs.php" method...
おすすめ情報