外出自粛中でも楽しく過ごす!QAまとめ>>

質問させてください。

下記のようなURLにアクセスした時に、
http://d.hatena.ne.jp/rakuten/mjsoft/10001103

「mjsoft」と「10001103」を値として他のファイルに渡したい場合どうすればいいでしょうか?

このはてなのページはどうやってURLから値を楽天APIに渡して情報取得してるのでしょうか?

以上、宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

これはたぶんPATH_INFOかと...。


または、mod_rewriteなどを使用してURL書き換えているかだと思います。

どちらもサーバ側の種類や設定に依存し対応していなかったり
無効になっている場合もあります。

PATH_INFOはサーバ側の環境依存が大きくエンコードが意図した通り
でない場合があります。
(サーバ側のOSがLinuxでは通常UTF-8、WinではSJISに自動的に変換
されたりします)

参考URL:http://nex.xrea.jp/index.php/date/1165073958,htt …
    • good
    • 0
この回答へのお礼

なるほど、mod_rewriteならうまく使えそうですね!
サーバ側の設定も確認してから試してみたいと思います!
ありがとうございます!

お礼日時:2008/07/25 23:05

横道に反れるかもしれませんが


CakePHPというフレームワークでは、URLでスラッシュ区切りでパラメータ渡しを自動でやってくれます。

参考URL:http://cakephp.jp/doc/ch03s05.html
    • good
    • 0
この回答へのお礼

そうなんですねぇ、知りませんでした。
近々CakePHP使ってみたいと思います。
ありがとうございます!

お礼日時:2008/07/27 08:10

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qidを使わずにonclickで自身の要素取得

javascriptで
<a href="XXX.XXX" title="ゴール" onclick="element()">test</a>
function() {
idを使わずにここにtitle属性のゴールを習得する方法を記述したいのですが、わかりません
よろしくお願いします
}

Aベストアンサー

こんにちは。


==== HTML
<a href="" title="ゴール" onclick="getTitle(this);return false;">test</a>
<a href="" title="スタート" onclick="getTitle(this);return false;">test2</a>


==== JavaScript
function getTitle ( obj ) {
var title = obj.getAttribute('title');
alert ( title );
}

こういうことでしょうか。
違っていたらすみません。

QJavaScriptde途中で、「exit」するには?

function kensaku(){
s_data = document.kaiin_form.input_name.value;

if(!s_data){ alert("キーワードを入れて下さい!"); }

if(s_data != dumy){ ...... }
for(i=st_no;i<=n;i++){
......省略.................;
.......省略................}
}

----------------------------------
3行目で表示されたアラートをOKで閉じても、4行目以下が実行されてしまいます。
3行目でexitするにはどうすれば良いでしょうか?

Aベストアンサー

>関数(kensaku())からは抜けられませんでした。
そうですね、勘違いしていました、f(^^;
すみません。
if(!s_data){
alert("キーワードを入れて下さい!");
return;
}
ですね。

QリダイレクトでPOST

教えてください。

リダイレクトの際、POSTで次のページにデータを渡すことは可能でしょうか?

GETだと
header("Location: "a.php?no=".$no);
と、問題なくできるのですが、
できれば、パラメータを隠したいと思います。

以上ですが、よろしくお願いします。

Aベストアンサー

多分できないです。
それに、結局クライアント側に情報を送信しているのだから、POSTにしたところでパラメータを隠した事にはならないですし。
本当に隠すならサーバ側でセッション情報を引き継ぐような形にしないとダメでしょう。

AJAXのかたちにして、ページ遷移を見えなくするというのが手っ取り早いかも。

Qrequire_once()でファイルが読み込めません

すいません、色々やったみたのですがよく分からなかったので教えてください。

PHPのテンプレートのSmartyを使いたいと思い、公式サイトからダウンロードして/usr/local/lib/php/Smartyにコピーしました。

その後、php.iniのinclude_pathにて".:/usr/local/lib/php/Smarty"と設定し、require_once("Smarty.class.php");としたのですが、

failed to open stream: No such file or directoryや
Failed opening required 'Smarty.class.php'

というエラーが出て読み込めません。また、phpinfo()を見る限りではphp.iniはきちんと読みにいっているようでした。

ためしに/usr/にSmartyを置き、include_pathもそのように変更してみたのですが読み込めません。カレントディレクトリに配置した場合は上手く読み込めました。また、Smartyでなくてもどのファイルでも読み込めない状況です。

環境はFedora6、Apache2.0、PHP5です。何かアドバイスよろしくお願いします。

すいません、色々やったみたのですがよく分からなかったので教えてください。

PHPのテンプレートのSmartyを使いたいと思い、公式サイトからダウンロードして/usr/local/lib/php/Smartyにコピーしました。

その後、php.iniのinclude_pathにて".:/usr/local/lib/php/Smarty"と設定し、require_once("Smarty.class.php");としたのですが、

failed to open stream: No such file or directoryや
Failed opening required 'Smarty.class.php'

というエラーが出て読み込めません。また、phpinfo()を見る限...続きを読む

Aベストアンサー

Smarty.class.phpのパーミッションはどうですか?

include_path上にファイルが存在しても、Webサーバを動かしているユーザから読めなければ、ファイルが読めずエラーになります。

一時的に
chmod 755 Smarty.class.php
としてみてはどうでしょう?

これで動くようなら、所有者を変更するかして正しいパーミッションに戻せばよいと思います。

Q文字列から、特定の文字を削除したい

アンケートで入力された値を受け取り、メールで送信しているのですが、受け取った値から、特定の文字列を削除することは可能でしょうか?

例えば電話番号の入力の場合、
03-xxxx-xxxx →03xxxxxxxx
077-xxx-xxxx →077xxxxxxx
のように、-(ハイフン)が入力されていたら、-を削除した文字列に置換してメール送信したいのです。
入力する時に、3つのテキストエリアに分けるのは諸事情でできないので、特定の文字を削除する関数か処理方法がありましたら、教えていただきたいです。
よろしくお願いします。

Aベストアンサー

str_replace
http://itbtech.itboost.co.jp/man/php_man/function.str-replace.html

<?php
$orig_telno = "03-xxxx-xxxx";

$telno = str_replace("-", "", $orig_telno);
echo $telno;

03xxxxxxxx

“PHP 文字列” あたりをキーワードに検索すれば
そんなに難しいものでもないような。

Qillegal string offset

php5.3では動いていたプログラムをphp 5.4 で動かしたらwarning illegal string offsetが出て困っています。以下のプログラムでwarningが出ないようにするにはどのようにコーディングすればよいのでしょうか?


$a = array('exists' => 'foo');
if ($a['exists']['non_existent']) {
print 1;
}
print 2;
exit;

Aベストアンサー

isset()を使えばいいと思います

Qで配列(複数の要素)を渡したいとき?

こんにちわ,

今HTML+PHPで
$hoge[]にいくつかの要素が入っているとき,
それをあるfoo.phpというページに渡したいとき,
echo '<form action="foo.php" method="POST">';
echo '<input type="hidden" name="$hoge[]" >';
echo '</form>';
としたのですが,うまくいきません。

どうしたらよろしいでしょうか。

Aベストアンサー

nameじゃなく、valueでは?
あとやるなら、
for($i=0;$i<count($hoge);$i++){
print "<input type=\"hidden\" name=\"$hoge[$i][0]\" value=\"$hoge[$i][1]\">";
}
とか?

Q配列をPOSTで受けとる

タイトルのまんまですが
配列をformで送って
それをPOSTで受け取りたいのですが
うまくいきません

具体的に言うと
<?php
print"<form method=POST action=action.php>";

for($i=0; $i<$n; $i++){
   print"<input type=text name=foo[$i]>";
}
print"<input type=hidden name=n value=$n>";
print"<input type=submit value=go>";
print"<form>";
?>


///////////以下action.php//////////////////
<?php
$n = $_POST["n"];
for($j=0; $j<$n; $j++){
   $foo[$j] = $_POST["foo[$j]"];
   print"$foo[$j]";
}
?>


こんな感じのことがしたいのですが
うまくいきません
どうもPOSTされてないみたいでfoo[$j]はnullです
凡ミスな気がしなくもないんですが...プログラム初心者なんで↓↓
教えてください
よろしくお願いします

タイトルのまんまですが
配列をformで送って
それをPOSTで受け取りたいのですが
うまくいきません

具体的に言うと
<?php
print"<form method=POST action=action.php>";

for($i=0; $i<$n; $i++){
   print"<input type=text name=foo[$i]>";
}
print"<input type=hidden name=n value=$n>";
print"<input type=submit value=go>";
print"<form>";
?>


///////////以下action.php//////////////////
<?php
$n = $_POST["n"];
for($j=0; $j<$n; $j++){
   $foo[$j] = $_POST["foo[$j...続きを読む

Aベストアンサー

atsuGTさんこんにちは。


受け取り側は

$foo = $_POST["foo"];

とするだけで$fooに送信された配列が格納されます。


$_POST["foo[添え字]"] ではなく、
$_POST["foo"][添え字] となります。

Qforeachで回った数を表示したい

単純な質問ですみません。
====
//getTestlistは別ファイルで定義済み。
<?
$testlist=getTestlist();
foreach($testlist as $test){
?>


<? } ?>
====
例えば↑こんなふうにforeachで$testlistが存在するだけ回したとします。
そのときに何回まわったか?($testが何件あったか?)だけを表示したいのですが、そんなことってできますか?
表示したい位置は<? } ?>の外側にと考えています。
あさってな質問でしたらすみません。
phpVer 4.3

よろしくお願いいたします。

Aベストアンサー

<?
$testlist=getTestlist();
$n=0;
foreach($testlist as $test){
$n++;
?>
<?}?>

<?=$n?>回
とかでよいかと思います。

途中でbreakなどが無ければ
<? echo count($testlist) ?>でも良いかも知れません。

Qmboxと/var/mailのファイルの関係

Redhat系のLinuxを使っています。
/var/mailに溜まるメールと/home/ユーザーディレクトリに溜まるmboxの関係が知りたいのですが、mailコマンドで全部読むと/var/mailのメール(ファイル名はどのように決められているか知りませんが恐らくユーザー名??)が消えます。そのかわりmboxのファイルが更新されているので、こちらに移動しているでしょうか?

私たちがメール(OutlookExpressなど)で読むとき受信するのは/var/mailの方でmboxはクライアントのメーラーからはどういう意味で存在しているのでしょうか?

サーバー側で両方無造作に削除(rm)しても問題ないでしょうか?

詳しいサイトや本も探しています。

Aベストアンサー

mailコマンドをqで終了すると、既読のメールが $HOME/mbox に入り、未読のメールはそのまま/var/mail/$USER に残ります。
すべて既読にすると残す物がないので、/var/mail/$USERが削除されます(OSによってはサイズゼロで残るケースも)。

コマンドや設定で変更することも出来ますが、普通に読んでいると上記のようになります。

mboxのものは読んだ(表示させた)メールなので、不要なら消してもいいです。

>詳しいサイトや本も探しています。

man mail に書いてありますけど、英語はつらいですかね?
BSDなら日本語マニュアルがありました。
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=mail&dir=jpman-5.4.0%2Fman&sect=0
若干違うかもしれませんが、基本は同じです。


人気Q&Aランキング