141 lines
4.5 KiB
PHP
141 lines
4.5 KiB
PHP
<!DOCTYPE html>
|
||
<html>
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<link rel=stylesheet type="text/css" href="css/bootstrap.min.css">
|
||
<link rel=stylesheet type="text/css" href="css/bootstrap-theme.min.css">
|
||
<link rel=stylesheet type="text/css" href="css/styleSheet.css">
|
||
<link
|
||
href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css"
|
||
rel="stylesheet">
|
||
<link href="css/pnotify.custom.min.css" media="all" rel="stylesheet"
|
||
type="text/css" />
|
||
<title>StringCheck</title>
|
||
<style>
|
||
/* テキストエリアがパネルをはみ出さないようにする */
|
||
.panel-body .form-control {
|
||
max-width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<?php
|
||
// ここにPHPのコードを記述してください
|
||
// POSTリクエストがあった場合に処理を実行
|
||
|
||
// POSTリクエストがあった場合、
|
||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||
// POST変数を用いて、送信されたデータを取得して、$topic変数に代入する
|
||
// 送信されたデータを取得した$topic変数に含まれたホワイトスペースを取り除く
|
||
$topic = trim($_POST["topic"]);
|
||
|
||
//$topicの情報が空欄ではない場合、
|
||
if (!empty($topic)) {
|
||
// 投稿が成功した場合、
|
||
$successMessage = "投稿成功しました。";
|
||
|
||
//$topicの情報が空欄の場合、
|
||
} else if (empty($topic)) {
|
||
$errorMessage = "入力がありません。";
|
||
|
||
// 文字数が21字以上の場合、
|
||
// 文字列から配列に変換できる関数(explode)を使用
|
||
}
|
||
$words = explode("\n", $topic);
|
||
// 一行ずつ取り出す
|
||
foreach ($words as $line) {
|
||
// カウント(mb_strlenを用いる)して21字以上の場合、
|
||
if (mb_strlen($line, 'UTF-8') >= 21)
|
||
$errorMessage = "21文字を超えています:対象行の内容";
|
||
}
|
||
}
|
||
?>
|
||
|
||
<!-- main -->
|
||
<div class="container">
|
||
<div class="row">
|
||
<!-- 投稿 -->
|
||
<div class="col-xs-offset-3 col-xs-6">
|
||
<div class="panel panel-info">
|
||
<div class="panel-heading">
|
||
<h3 class="panel-title">投稿フォーム</h3>
|
||
</div>
|
||
<div class="panel-body">
|
||
<form action="StringCheck.php" name="topicForm" id="topicForm"
|
||
class="form-horizontal" method="POST">
|
||
<div class="form-group">
|
||
<label class="col-xs-2 control-label"><img class="img"
|
||
src="image/itc.png" width="40" height="40"></label>
|
||
<div class="col-xs-10">
|
||
<textarea name="topic" id="topic" rows="2"
|
||
placeholder="いまなにしてる?" class="form-control">
|
||
</textarea>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="form-group">
|
||
<div class="col-xs-offset-2 col-xs-10">
|
||
<button type="submit" class="btn btn-info">投稿</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
<!-- 以下のようにphpとhtmlを混ぜて書くことができます -->
|
||
<?php if (!empty($errorMessage)): ?>
|
||
<div class="alert alert-danger"><?php echo $errorMessage; ?></div>
|
||
<?php endif; ?>
|
||
<?php if (!empty($successMessage)): ?>
|
||
<div class="alert alert-success"><?php echo $successMessage; ?></div>
|
||
<?php endif; ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- 投稿メッセージの表示 -->
|
||
<div class="row">
|
||
<div class="col-xs-offset-3 col-xs-6">
|
||
<div class="panel panel-default">
|
||
<div class="panel-heading">
|
||
<h3 class="panel-title">投稿メッセージ</h3>
|
||
</div>
|
||
<div class="panel-body">
|
||
<?php
|
||
// 変数topicがなにも入ってない場合
|
||
if (!empty($topic)) {
|
||
// 投稿メッセージをここで表示
|
||
// explodeで改行ごとに分割する
|
||
$topics = explode("\n", $topic);
|
||
// 一行ずつ取り出す
|
||
foreach ($topics as $line) {
|
||
// 出力
|
||
echo htmlspecialchars($line, ENT_QUOTES, 'UTF-8') . "<br>";
|
||
}
|
||
} else {
|
||
echo "まだ投稿はありません。";
|
||
|
||
// テキストエリアに何も入力せず投稿した場合、
|
||
// 「入力がありません。」 とエラーメッセージを表示させてください
|
||
|
||
}
|
||
?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="js/jquery-1.11.2.min.js"></script>
|
||
<script src="js/jquery.uploadThumbs.js"></script>
|
||
<script src="js/bootstrap.min.js"></script>
|
||
<script type="text/javascript" src="js/pnotify.custom.min.js"></script>
|
||
<script type="text/javascript">
|
||
// 各ダイアログサブミット
|
||
function executeTopic() {
|
||
$("#topicForm").submit();
|
||
}
|
||
</script>
|
||
</body>
|
||
|
||
</html>
|