「script」を含む日記 RSS

はてなキーワード: scriptとは

2019-03-18

地毛証明#どうして新聞では女性限定なんですか

WEB https://pantene.jp/ja-jp/brandexperience/school-hair

パンテーンは すべての人の前向きな一歩を応援します。

新聞広告

パンテーンは すべての女性の前向きな一歩を応援します。

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

2019-02-22

スマホ楽天ペイの対象外端末になった今

3月31日までの期間限定ポイントがあるので早く近所のコーナンでも使えるようになってほしい

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

2019-02-16

anond:20190216231137

GNU Assemblerが何かやらかしたのかと思ったが、GoogleGoogle Apps Scriptというので名前を被らせてるのか

2019-01-25

https://github.com/yarnpkg/yarn/issues/6953

使う側としては大した内容はないな

monoreposが流行ってるから対応していくよという感じか

scriptの実行に軽量シェル(portable posix-like light shell)を使うようになるというのはwindowsで便利そうな反面, 怖さもある

2019-01-24

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

2019-01-23

anond:20190123133046

なんや学歴コンプか?

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

2019-01-16

[]

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


https://anond.hatelabo.jp/20111028162802

2019-01-08

anond:20190108231515

リークされたカカオトーク画像

https://cdn-ak.f.st-hatena.com/images/fotolife/B/Bakabot/20190107/20190107062440.jpg

「俺は脅迫されたことはない」と書いているのが、被害者の一人とされるTussle選手

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

リークを確認しても無い癖に、「日本企業が悪い」とか寝言を吐くな。

2019-01-06

逆に理系情報工学専攻したけどプログラムできない奴もいる

少なくともここに一人

中学時代パソコンに興味を持ち高校理系コース選択地方国立大学情報工学を専攻した

そのままIT企業に入りSEになったが結果としてまったくプログラミングは向いてなかった

趣味サイトを作ったり(HTMLCSSだけじゃなくて多少scriptも書いていた)

高校の授業で簡単プログラミングをやったりしたときあんまり気づいていなかったけど

大学の授業で本格的にプログラミング言語やったりアルゴリズムやったりしたとき

「あ、自分は向いてない側の人間なんだな」と悟った

基本問題四苦八苦している自分を尻目にさーっと応用まで解いていく友人

数学物理もそこまで得意じゃなかったせいで大学の授業は結構しんどかった

それでもIT企業に入ったのは情報工学専攻して他に何ができるか分からなかったか

なので逆に文系だろうが情報工学まったくやってなかろうが向いてる奴はできると思う

肉々しい

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

なぜ今の若い子は大人しいのかがわからない

主語が大きすぎるというのは理解している

ボクが言う若い子というのは「電磁的な悪戯ができる若い子」のことだ

おごがましくて現実社会でボクはこう名乗ってはいないが、一般的に見るとボクは間違いなくハッカークラッカーに分類される人間

ボクがこのような感じになった原初体験マンションオートロックだった

通常は物理キーや4桁の暗証番号しか解除できないはずのマンションオートロックは、ポスト投函されているたった1枚のチラシによって突破できてしまうことに気付いた

自動ドアの隙間からチラシを差し込んでヒラリと落とせば内部の赤外線センサが反応しオートロックは解除されてしま

ハッカーという言葉すら知らなかったボクは、このとき正攻法以外で目的は達成できることを知った

そこからボクの興味は如何にして設計者や利用者思い込みや隙を突いて様々に設定した目標を達成するか?ということにのめり込んだ

その中で過去にはメールボムチェーンメールなんてのもやったし、時間経過で怖い画像が出てくるGIFなんてのもやった

数年前には様々なやり方でユーザに「コンビニなどよく行くお店を3つを挙げさせる」なんて手法確立し、クロスベアリング法によって登録したユーザの自宅位置を推測するなんてこともやった

今の若いハッカークラッカーがなぜこんなにも悪戯対象がある世の中で悪戯をしないのか理解ができない

ボクなら確実に単なる興味本位で誰かを驚かせたり、自宅を特定したり、言動誘引したりするのだけれど、何故大人しくできるのか理解不能だ

中二病的だ」と非難してくる者も居るだろうし、ボク自身若い頃を考えても振り返れば中二病的だったと思う

しかし、若い頃の熱意というかパッションというか、興味に対して猪突猛進に突き進むパワーみたいなのは中々抑えきれないものだということも知っている

何故その、興味に対して猪突猛進に突き進むパワーを抑えて、大人しくできているのが不思議でならないんだ

興味本位で実行したら配電盤が吹き飛んだとか、Script kiddie的に拾ったツールや知り得た知識を実行してみたら思いのほかハマる人が多かったとか、そういう話がたくさん聞こえてきて良い気はするんだけれど、年に1回あるかないかレベルなので「大人しすぎる」と感じざる得ない

ボクがまともに就職できているのは、そういった社会迷惑かけちゃう興味本位をたくさんしたのが未成年の頃で、未成年からこそ許されたわけだし、もうちょっと興味本位に忠実でも良いんじゃないのかな?って思うわけだ

 

 

 

ちなみにハッカークラッカーと言うとパソコンをカタカタと叩いてセキュリティ突破するセキュリティへ対して非常に詳しい者といいイメージを持ちやす

だけどボクはそうでないと思っている

ハッカークラッカー正攻法でないやり方で目的は達成できるものの、セキュリティに関して詳しいわけでないし、ましてやセキュリティ専門家ではない

多くのハッカークラッカー攻撃に晒されれば自身を守る能力ほとんどない(通常のITエンジニアレベル程度)とボクは考える

ハッカークラッカーの興味は既にある「決まりごと」をハッキングクラッキングすることにあるだけであって、新しい「決まりごと」を考えるのは苦手だ

思考が広い者は「それって泥棒詐欺師と何が違うんだ?」と疑問に持つかも知れない

ボクはその疑問に対して言えるのは「違いはない」ということ

ハッカークラッカーはメインのツールが電磁的なものであるだけで、目的達成の中にピッキングがあるなら実行するだろうし、話術が必要ならば言葉を話すだろう

ハッカー(クラッカー)・泥棒詐欺師分別する意味なんて無いし、もし社会や人々が分別するならば、それは大きな脆弱性になるとボクは思う

企業はもしセキュリティ開発担当者としてハッカークラッカー雇用しようと考えているのならば、それは無理なので普通にセキュリティ勉強した大卒でも雇ったほうが良いとボクはアドバイスする

自社のセキュリティ脆弱性をずっと探し回る人材が欲しいと思ったときハッカークラッカーを雇い、ハッカークラッカーが見付けた脆弱性別に雇ったセキュリティ専門家修正させると良いだろう

2019-01-05

独学でプログラミングを学んだ思い出

最近プログラミングの教え方についての記事をちょくちょく見るので思い出して書いて見る。

10年ほど前、ふと興味がわいてアプリ開発したことがある。

プログラミング経験といえば、今は懐かしいAction scriptをかじったくらい。周りにもアプリ開発はいなかったし、C言語の本を揃えるところからはじめてなかなか大変だった。

本を見て、サンプルのコードをそのまま書いて見て、書いてあるとおりに動いて、ちょっとアレンジしてみたりして、それでどうなのという感じ。これでアプリが出来るのかと雲をつかむような話だったが、だんだん複雑になるにつれ、サンプル通りに書いたつもりでも動かないことが増えてきた。

何一つ分からない時、理解の糸口になるのは「言われたとおりにやったのにうまくいかなかった」ことだけだ。

何も手がかりのないツルツルのところにちょっとした窪みが出来たような感じだった。

そのまま書き写しつもりだったのに漏れていたのはどこなのか。

サンプルでは動いたのにアレンジしたら動かなかったのは何故なのか。

それが手掛かりだ。

理解していないのは何なのか」を理解することでちょっとだけ入り口が開く。それを何度か繰り返すことで「こういうことだったのか」と理解できようになる。それを積み重ねて自分の作りたいものが何とか作れるようになった。

結局一年ほど掛けてどうにかリリースまで漕ぎ着けることができた。

ただ、自分は致命的に短期記憶が弱かった。いつまでたっても関数を覚えられず、毎回調べ直さなければならない。これは向いてないわとそれきり止めてしまった。

こんなんでも、アプリ開発してリリースしたとなると、「どうやったの?」とわらわらと人が集まってくる。

その時感じたのは、プログラミングがどうしても出来ない人がかなりの数いるということ。

その人達はみんな同じことを言う。「本に書いてあるとおりにやったのに動かない」「言われた通りにやったのに動かない」そう口を尖らして言う。

そうしてうまくいかないことに不機嫌になり、脱落していく。

そこからなのになあ。

うまくいかなかったら「よっしゃ、来たぞ」と思わなきゃ。

実家の母がイトーヨーカドーサイトリニューアルするたびに「ここにあったボタンがなくなってわからなくなった。どうしてこんなことするのかしら」と不満を(なぜか自分に)ぶつける姿を見て、こんな感じなのかなと思った。

2018-12-28

anond:20181228130840

嘘すぎんだろ。夫婦汁とか気持ち悪い。

あと、Scriptのところは消しとけよ~。

2018-12-21

anond:20181214223611

このへんと関係あるのかな

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

とりあえずシーズン1の1話目を見た

英語ちゃんと聞き取れるかなと気合入れたけど、そも台詞がなかった

https://roosterteeth.com/series/rwby?season=1

2018-12-14

anond:20181207184322

プロじゃないの?

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

anond:20181214120752

どうでもいいんだけどツイートを貼るときに<script>〜〜</script>部分は要らんぞ。

どうでもいいんだが、どうしても気になったので

どうでもいいんだが、どうしても気になったので

法務省「8年間で死者174人」“溺死が最多”、野党「不自然」(TBS系(JNN)) - Yahoo!ニュース

溺死が多い理由震災時の津波が原因のはずだが回答できんかったのかな2018/12/14 08:31

<script src="https://b.st-hatena.com/js/comment-widget.js" charset="utf-8" async></script>

俺の見た資料では外国人技能実習生平成23年3月11日溺死したのは2人なんだよね

から溺死の多い理由震災時の津波ってのは無理があると思うの

(もし他の日にも震災津波で亡くなっている人がいたならゴメン、面倒だから3月11日しかチェックしてない)

で、そんなことはどうでもよくて、気になったのは

このコメントスターがたくさん付くところ

みんな何を思ってこのコメントスターを付けたんだろうか???

2018-12-11

anond:20181211072336

私も女性エンジニアとして、入社しました。OSことなんかWindowsぐらいしか知らないのに、プロジェクトUnixディストリビューション環境で、分散バージョン型を使った案件でした。営業の人は売り込むことは上手いかもれませんが、後のことは何も考えていません。私も1ヶ月で離任しました。株式会社アイビスエンジニア のことを何も考えていない組織です。

夜遅くまで、自分の開発のエゴサーチトップは忙しいみたいです。社員のことよりも、自分の開発の方しか考えていない残念さです。

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

2018-11-27

anond:20181127160701

名前をつけてページを保存したら見れるけど

web上でどうやってデータやり取りしてるのかはわからない

<script nonce="うんこちんこまんこ==">

これがポイントなの?

2018-11-10

増田プログラマー養成講座 その20 SQLデータの削除

前回は、SQLデータ更新をやりました。

今回は、SQLデータの削除をやりましょう。

 

メッセージの削除

基本は、同じなので前回やった更新処理をちょっと変えれば削除もすぐできます

 

投稿されたメッセージを削除する機能を、Webページに付けてみよう。

 

削除ページにジャンプするリンク

前々回作ったメッセージの一覧の中に、削除ページにジャンプするリンクも入れておいた。

<td><a href="welcome/delete/<?php echo $item['id']; ?>">削除</a></td>

という1行が削除ページにジャンプするためのリンクになる。

ブラウザーHTMLソースを見ると、ここが以下のようなHTMLに書き換わってる。

<td><a href="welcome/delete/2">削除</a></td>

これは「メッセージID番号が2のメッセージ」を削除対象にして、削除ページにジャンプする。

 

Controllerの改造

ユーザーが「http://localhost/waf/welcome/delete/2」というURLで、削除ページにアクセスしたら、コントローラーで「2」を受け取って使いたい。

CodeIgniterでは、URL文字列を解析して、使うことができる。

以下のようにコントローラーを改造してみよう。

 

// 削除画面

public function delete($id = '')

{

 echo "ID=".$id;

 $this->load->view('chat_delete');

}

 

Controllerの改造の解説

delete()メソッド引数で、URL中の「2」の部分を受け取れる。

これは前回の編集ページ(更新の処理)と同じ。

「$id = $this->uri->segment(3);」でも受け取れる。

 

Viewの改造

削除ページでは、確認する質問を入れてみよう。

ユーザーに「本当に削除しますか?」みたいな注意喚起をしておきたい。

 

ファイルの内容を以下のように編集する。

<?php defined('BASEPATH') or exit('No direct script access allowed');?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>削除</h2>

  <p>以下のメッセージを削除しますか?</p>

  <form action="welcome/delete" method="post" accept-charset="utf-8">

   <?php if (isset($talk)): ?>

   <p style="background-color:lightpink"><?php echo $talk['message']; ?></p>

   <input type="hidden" name="id" value="<?php echo $talk['id']; ?>">

   <input type="hidden" name="action" value="delete">

   <?php else: ?>

   <p>※該当するメッセージがありません。(または削除済です。)</p>

   <?php endif;?>

   <button>削除する</button>

  </form>

  <p><a href="welcome/index">戻る</a></p>

 </body>

</html>

 

Viewの改造の解説

<p style="background-color:lightpink"><?php echo $talk['message']; ?></p>

削除するメッセージを色付きで強調して、ユーザー確認してもらう。

 

<input type="hidden" name="id" value="<?php echo $talk['id']; ?>">

コントローラー削除対象メッセージID番号を送るため、inputタグの「type="hidden"」でメッセージID番号を仕込んでおく。

 

Controllerの改造

ファイルの内容を以下のように編集する。

// 削除画面

public function delete($id = '')

{

 $id = $id ? $id : $this->input->post('id');

 $action = $this->input->post('action');

 if ($action == 'delete') {

  $this->chat_model->delete_message($id);

 }

 $data['talk'] = $this->chat_model->read_message_by_id($id);

 $this->load->view('chat_delete', $data);

}

 

Controllerの改造の解説

やってることは、前回のデータ更新場合とほぼ同じ。

$this->chat_model->delete_message($id);

で、モデルに用意したデータ削除用メソッドを呼び出しているだけ。

次は、モデルdelete_message()メソッドを用意しよう。

 

Modelの改造

ファイルの内容を以下のように編集する。

// Delete

public function delete_message($id = 0)

{

 $sql = "DELETE FROM talk WHERE id = ?";

 $param = array($id);

 $this->db->query($sql, $param);

 return $this->db->affected_rows();

}

 

Modelの改造の解説

SQLの「DELETE」を使えば、指定したレコード(1件分のデータ)を削除できる。

DELETE FROM talk WHERE id = ?」で、talkテーブルmessageid指定して削除している。

 

データを削除した後の挙動は、メッセージID番号がなくなるので、削除ページに表示できるメッセージデータがなくなる。

(例)id=2のデータを削除したら、SQLで「SELECT * FROM talk WHERE id = 2」を取得しても、空のデータデータがない状態

その場合は、

<p>※該当するメッセージがありません。(または削除済です。)</p>

と表示させてる。

 

まとめ

以上で、SQLの「DELETE」を使ったデータの削除ができた。

長々と説明したが、今回の大事な点は、SQLの「DELETE」の使い方だ。

 

以上で、MVCフレームワークを使ったOOPの使い方とSQLの使い方を見てきた。

SQLSQLだけで説明したほうが良かったね!MVCフレームワーク説明SQL説明が混在すると要点が分かりづらくなる?)

ちょっと失敗だったかも。m(__)m)

 

次回は、データベースの設計について学んでみよう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベースの参考書

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

anond:20181031014212 増田プログラマー養成講座 その14 Webアプリの試作品作成

anond:20181101225335 増田プログラマー養成講座 その15 Webアプリの完成見本

anond:20181101230220 増田プログラマー養成講座 その16 Webアプリの完成見本(続き)

anond:20181104161900 増田プログラマー養成講座 その17 Webアプリの骨組み

anond:20181104233013 増田プログラマー養成講座 その18 SQLデータの追加と取得

anond:20181110120715 増田プログラマー養成講座 その19 SQLデータ更新

anond:20181110182445 増田プログラマー養成講座 その20 SQLデータの削除 ←★今ここ★

anond:20181111205255 増田プログラマー養成講座 その21 データベース設計 (1)要件定義

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

増田プログラマー養成講座 その19 SQLデータ更新

前回は、Webアプリの骨組み(スケルトン)に、SQLデータの追加と取得をやりました。

今回は、SQLデータ更新をやりましょう。

 

メッセージ更新

 

編集ページにジャンプするリンク

前回作ったメッセージ一覧に、[編集]のリンクも入れておいた。

<td><a href="welcome/update/<?php echo $item['id']; ?>">編集</a></td>

という1行の部分。

[編集]をクリックすると、編集用ページにジャンプする。

ブラウザーHTMLソースを見ると、以下のようなHTMLになってるはず。

<td><a href="welcome/update/2">編集</a></td>

これは「メッセージID番号が2」を対象にして、編集ページにジャンプすることを意味する。

 

Controllerの改造

編集用ページのコントローラーを作ろう。

「http://localhost/waf/welcome/update/2」というURL編集ページにアクセスしたら、メッセージID番号の「2」を受け取れるようにしたい。

URL文字列を処理して「2」を取り出せるようにしよう。

 

// 更新画面

public function update($id = '')

{

 echo "ID=".$id;

 $this->load->view('chat_update');

}

 

CodeIgniterでは、URLから文字列を取り出す方法がいくつか用意されている。

  1. 「update($id = '')」のようにメソッド引数「$id」を用意すれば、「2」の部分を取り出せる。
  2. 引数を使う以外の方法も用意されていて、「$id = $this->uri->segment(3);」のように書けば、「2」の部分を取り出せる。

// 更新画面

public function update()

{

 $id = $this->uri->segment(3);

 echo "<hr> ID=".$id;

 $this->load->view('chat_update');

}

 

Controllerの改造の解説

CodeIgniterで、URL文字列から特定部分の文字列を取り出す方法を見ておこう。

 

例えば、「http://localhost/waf/welcome/update/aaa/bbb/ccc」というURLアクセスしたときCodeIgniterではURL中の「aaa」「bbb」「ccc」という部分は、以下のようにして取り出せる。

$seg1 = $this->uri->segment(1); // → 1番目のURL文字列:「welcome」=コントローラークラス

$seg2 = $this->uri->segment(2); // → 2番目のURL文字列:「update」=クラスの中のメソッド

$seg3 = $this->uri->segment(3); // → 3番目のURL文字列:「aaa」の部分

$seg4 = $this->uri->segment(4); // → 4番目のURL文字列:「bbb」の部分

$seg5 = $this->uri->segment(5); // → 5番目のURL文字列:「ccc」の部分

URLを「/」で区切って、base_url(http://localhost/waf/)の次から順番に、1番目のURL文字列、2番目のURL文字列、3番目のURL文字列、…とsegment()メソッドで順番を指定すれば取得できる。

 

Modelの改造

データベースでメッセージID指定して、メッセージを取り出す機能を用意しよう。

 

ファイルに以下のメソッドを追加する。

// Read by Id

public function read_message_by_id($id = 0)

{

 $sql = "SELECT * FROM talk WHERE id = ?";

 $param = array($id);

 $query = $this->db->query($sql, $param);

 return $query->row_array();

}

 

Modelの改造の解説

SQLの「WHERE」句で、絞り込む条件を指定できる。

 

SELECT * FROM talk WHERE id = ?

「WHERE id = 2」とすれば、メッセージID番号が2のメッセージデータが「talkテーブルから取り出せる。

もし該当するデータがなければ、返されるデータは空になる。(データが返ってこない。)

 

CodeIgniterの「row_array()」は、1件分のデータ配列の形にして返すメソッドだ。

 

Viewの改造

ファイルの内容を以下のように編集する。

<?php defined('BASEPATH') or exit('No direct script access allowed');?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>編集</h2>

  <p>メッセージを変更して「更新する」ボタンを押してください。</p>

  <form action="welcome/update" method="post" accept-charset="utf-8">

   <label>メッセージ</label>

   <?php if (isset($talk)): ?>

   <input type="text" name="message" value="<?php echo $talk['message']; ?>">

   <input type="hidden" name="id" value="<?php echo $talk['id']; ?>">

   <input type="hidden" name="action" value="update">

   <?php else: ?>

   <p>※該当するメッセージがありません。</p>

   <?php endif;?>

   <button>更新する</button>

  </form>

  <p><a href="welcome/index">戻る</a></p>

 </body>

</html>

 

Viewの改造の解説

データベースから取り出した1件分のメッセージを表示する部分を追加した。

<input type="text" name="message" value="<?php echo $talk['message']; ?>">

の「<?php echo $talk['message']; ?>」という部分だ。

これで変更したいメッセージの本文を表示できる。

 

あと、編集したメッセージWebサーバーに送信できるように、Formタグ送信ボタン(「更新する」の部分)も追加した。

このときメッセージID番号も送信できるように、

<input type="hidden" name="id" value="<?php echo $talk['id']; ?>">

という1行も仕込んである

 

Controllerの改造

ファイルの内容を以下のように編集する。

// 更新画面

public function update($id = '')

{

 $id = $id ? $id : $this->input->post('id'); // id -> segment or post

 $action = $this->input->post('action');

 if ($action == 'update') {

  $message = $this->input->post('message');

  $this->chat_model->update_message($id, $message);

 }

 $data['talk'] = $this->chat_model->read_message_by_id($id);

 $this->load->view('chat_update', $data);

}

 

Controllerの改造の解説

メッセージID番号を指定して、データベースから取り出し、Viewに渡すデータを用意している。

$data['talk'] = $this->chat_model->read_message_by_id($id);

 

ユーザーメッセージ編集をしてWebサーバーに送信したら、データ更新する指示を出す部分も追加した。

$action = $this->input->post('action');

if ($action == 'update') {

 $message = $this->input->post('message');

 $this->chat_model->update_message($id, $message);

}

モデルにupdate_message()メソッドを用意して、$idと$messageを渡せば、該当データ更新するようにしたい。

次は、モデルでupdate_message()メソッドを用意しよう。

 

Modelの改造

ファイルの内容を以下のように編集する。

// Update

public function update_message($id = 0, $message = '')

{

 $sql = "UPDATE talk SET message = ? WHERE id = ?";

 $param = array($message, $id);

 $this->db->query($sql, $param);

 return $this->db->affected_rows();

}

 

Modelの改造の解説

SQLの「UPDATE」を使えば、指定したレコード(1件分のデータ)を更新できる。

「UPDATE talk SET message = ? WHERE id = ?」で、talkテーブルmessageid指定して更新している。

 

CodeIgniterの「affected_rows()」メソッドは、更新した行数を返す。=成功なら1行、失敗なら0行となる。

 

補足

コントローラーの「$id = $id ? $id : $this->input->post('id');」という行は、$idの受け取り方が2パターンあるので、それに対応している。

編集ページの表示で、1回目の表示と、2回目以降の表示で、$idの受け渡し方が変わっている。

  • 1回目:URLに埋め込まれID番号をupdate($id = '')の引数$idで受け取っている。($this->uri->segment(3)で受け取るのと同じ)
  • 2回目以降:Formタグで送られてきた$idを$this->input->post('id')で受け取っている。

URLに埋め込む方法上記の1回目のような方法)は、ユーザー勝手に値をいじれるので、基本的には使わない方が良い。

 

まとめ

以上で、SQLの「UPDATE」を使った、データ更新ができた。

長々と説明したが、今回の大事な点は、SQLの「UPDATE」の使い方だ。

CodeIgniterの使い方や、Webサイトの作り方(FormタグなどのHTML知識)は、オマケ程度に見ておいて欲しい。

 

次回は、データを削除するSQLDELETE」の使い方を見てみよう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベースの参考書

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

anond:20181031014212 増田プログラマー養成講座 その14 Webアプリの試作品作成

anond:20181101225335 増田プログラマー養成講座 その15 Webアプリの完成見本

anond:20181101230220 増田プログラマー養成講座 その16 Webアプリの完成見本(続き)

anond:20181104161900 増田プログラマー養成講座 その17 Webアプリの骨組み

anond:20181104233013 増田プログラマー養成講座 その18 SQLデータの追加と取得

anond:20181110120715 増田プログラマー養成講座 その19 SQLデータ更新 ←★今ここ★

anond:20181110182445 増田プログラマー養成講座 その20 SQLデータの削除

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-11-08

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-11-05

シュウ酸たっぷりキャベツ結石イタイイタイ

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん