管理画面での設定変更時のエラー
trac管理画面で
リポジトリの追加を行ったところ
trac全体がweb上で表示されなくなった
■原因
リポジトリの追加際に指定するディレクトリを
「/var/web/hogehoge」
と指定するところを
「//var/web/hogehoge」
とスラッシュを1つ多く入力してしまったためエラーが起きてしまっていた
■解決方法
サーバに接続し直接trac.dbを編集した
repositoryテーブルに設定が書いてある。
>> sqlite3 trac.db
sqlite>>UPDATE repository set value = '/var/web/hogehoge' where name = 'dir';
/1つでサイトがまったく見れなくなる
これはバグではないだろうか。。。
cgi(perl)でのデバッグ
print "Content-type: text/html\n\nOK.\n";
exit(1);
PHPでのデバック
いまさらながら…
ページ出力
var_dump (変数);
ファイル出力
$str = print_r(変数,true);
file_put_contents (ファイル名 , $str);
【PHP】改行コードの前にを挿入する関数nl2br()
テキストエリアから取得した文章内の改行コードをeregi_replaceを使って置換していたら
nl2br()を使えばいいんじゃないといわれた。
<?php $str = "1行目\n2行目"; print nl2br($str); ?>
これで\nとか改行コードを変換してくれると教えられたけど落とし穴が…
nl2brはあくまで改行コードの前に
を挿入してるだけで置換しているわけじゃないので、
上のPGだと nl2br($str);で出力されるのは
1行目
\n2行目
となってしまう。
あとの処理で\nをどうしても消したかったので、
おとなしく置換で対応しました
【JavaScript】$Aを Prototype.jsを使わずに実装
Prototype.jsを使って実装していたものを使わないでくれといわれた時の実装例、
Prototype.jsを使用した実装
// アウトライン対策 for IE if (Prototype.Browser.IE == true) { var list = $A($('checkItemList').getElementsByTagName('LI')); list.each(function(node) { node.getElementsByTagName('A')[0].onfocus = function() { this.blur(); } }); }
Prototype.jsを使用しない実装
// アウトライン対策 for IE if (/MSIE./i.test(navigator.userAgent)) { var el = document.getElementById("checkItemList").getElementsByTagName('A'); for (var i = 0; i < el.length; i++) { el[i].onfocus = function() { this.blur(); } } }
【JavaScript】documentの参照メモ
<dl class="maintenance" id="setFuc1"> <dt><img src="image/txt_maintenance.gif" alt="ほげ"></dt> <dd>ほげほげ</dd> <dd class="btnDetail"><a href="/hogehoge/index.asp" class="swap" id="dAnc2"><img src="image/btn_detail_0.gif" alt="もげ"></a></dd> </dl>
タグのid="dAnc2"内にあるimageのsrcを取りたいとき
var el = document.getElementById(setFuc); el.link = document.getElementsByTagName('a')[dAnc].href; el.onmouseover = function() { this.getElementsByTagName('img')[1].src = "image/btn_detail_1.gif"; alert(el.link); }