アプリ版:「スタンプのみでお礼する」機能のリリースについて

[index.html]
<form action="aaa.php" method=post>
ID<input type="text" name="id" value="" istyle="4" mode="numeric"><input type="submit" name="" value="OK">
</form>

ここで数字6桁のユーザーIDを入力してもらい、次のaaa.phpで各MenuのURLの後ろにユーザーIDをつけることでユーザーによって違う画面を表示させたいのですが。

[aaa.php]
<?php $id = $_POST['id']; ?>//IDの受け取り
<table width="100%">
<tr>
<td rowspan="7"><img src="" alt=""></td>
<td><?php echo $id; ?>さんの画面</td>
</tr>
<tr><td><a href="http://abc.jp/aaa?u={$id}">画像変更</a></td>
</tr>
<tr>
<td><a href="http://abc.jp/bbb?u={$id}&amp;p=1">伝言板</a></td>
</tr>
<tr>
<td><a href="http://abc.jp/ccc?u={$id}&p=1">MailBox</a></td>
</tr>
以下略

このように{}で囲ってみたり、いろいろ試したのですが、実際アクセスした時に{$id}が[{id}]のままであったり表示されなかったりして、ユーザーID(数字6桁)に変換されません。どのようにすればうまくいくでしょうか?
よろしくお願いします。

A 回答 (5件)

<?php


$id = $_POST['id'];
print <<<eof
<table width="100%">
<tr>
<td rowspan="7"><img src="" alt=""></td>
<td>{$id}さんの画面</td>
</tr>
<tr><td><a href="http://abc.jp/aaa?u={$id}">画像変更</a></td>
</tr>
<tr>
<td><a href="http://abc.jp/bbb?u={$id}&amp;p=1">伝言板</a></td>
</tr>
<tr>
<td><a href="http://abc.jp/ccc?u={$id}&p=1">MailBox</a></td>
</tr>
eof;
?>

ですね

ただ、urlに埋め込むなら、きちんとエンコードしてくださいね
    • good
    • 0

厳しい言い方になって申し訳ないのですが、


あなたの現在の知識でそういうスクリプトを公開するのは止めてください。

必ずセキュリティ上の問題が発生します。
下手したら、あなたが訴えられてしまう可能性だってありえます。
ユーザーが入力した値を用いるならば、セキュリティについて一通り勉強してからにしてください。

ネットや書籍などでいろいろ調べられます。
たとえば以下の本などはよくまとまっていて分かりやすいです。
http://www.amazon.co.jp/dp/4883374718/
    • good
    • 0

PHPコードは


<?php ~ ?>
で囲まれた中だけ解釈されます。
設定により<? ~ ?>等の省略形も有効になりますが推奨されません。
(XMLやXHTMLの標準規格に沿っていません)

<a href="​http://abc.jp/aaa?u=<?php echo $id; ?>">画像変更</a>

例としては上記の通りになります。
{$id}はヒアドキュメント(下記の記述方法)の中で有効な記述方法です。

<?php
print <<<eof
<a href="​http://abc.jp/bbb?u=​{$id}&amp;p=1">伝言板</a>
eof
?>

これらのPHPの基本的な構文についてはマニュアルを参照する事をオススメします。

参考URL:http://www.php.net/manual/ja/language.basic-synt …
    • good
    • 0

phpユーザーじゃないので、自信薄ですが。




>><form action="aaa.php" method=post>



<form action="aaa.php" method=get>

でどうでしょうか。
通常(?)URLにパラメータとしてくっつけるときは、送信方式をgetにしてやるか、明示的にURLにパラメータをくっつけて渡してやることになる(かと思っています。)



>><?php $id = $_POST['id']; ?>//IDの受け取り
の前後どこでも、確認用にメッセージが出るようにしておくといいと思いますよ。
「id」の値を表示させておくとか。
    • good
    • 0

$idに入っているなら、一番最後の例を使うと


<td><a href="http://abc.jp/ccc?u=<?=$id?>&p=1">MailBox</a></td>
となります。要するに、
<?= と ?> で囲みます。
    • good
    • 0

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